2012-02-27 3 views
0

우리는 약 5 년 동안 성장해 온 데이터베이스를 가지고 있습니다. 메인 테이블은 100 개의 컬럼과 7 억 개의 로우를 가지고 있습니다.수백만 행 저장소/쿼리를위한 최상의 데이터베이스

일반적인 사용 사례는 주어진 기준과 일치하는 행 수를 계산하는 것입니다. select count (*) 여기서 column1 = 'TypeA'및 column2 = 'BlockC'입니다.

다른 사용 사례는 조건과 일치하는 행을 검색하는 것입니다.

쿼리가 약간의 시간이 걸리는 것으로 시작되었지만 이제는 몇 분이 걸립니다. 가능한 한 빨리 두 가지 유스 케이스를 만들 수있는 DBMS를 찾고 싶습니다.

일부 열 저장소 데이터베이스와 Apache Cassandra를 조사했지만 최상의 옵션이 무엇인지 아직 알지 못합니다. 어떤 아이디어?

답변

0

현재 데이터가없는 분석 (기록) 데이터베이스라고 가정합니다. 그렇지 않다면, 당신은 귀하의 dbs를 분리 고려해야합니다.

당신은 분석 속도를하는 데 도움이되는 몇 가지 기능을 원하는거야 :

  • 구체화 된 뷰를. 이것은 본질적으로 값을 사전 계산 한 다음 나중에 분석 할 수 있도록 결과를 저장하는 것입니다. MySQL과 Postgres (Postgres 9.3에서 곧 제공 될 예정)는 이것을 지원하지 않지만 트리거를 모방 할 수 있습니다.

  • 쉬운 OLAP 분석. 몬드리안 OLAP 서버 (자바)를 사용할 수는 있지만 엑셀은 쉽게 대화하지 못한다.하지만 JasperSoft와 Pentaho는 그렇게한다.

  • 더 쉬운 OLAP 분석을 위해 스키마 (예 : 스타 스키마)를 변경하고자 할 수 있습니다. 좋은 책은 :

http://www.amazon.com/Data-Warehouse-Toolkit-Complete-Dimensional/dp/0471200247/ref=pd_sim_b_1

오픈 소스를 원하는 경우에, 나는 (MySQL의 수와 같은 큰 쿼리에 질식하지 않습니다) 포스트 그레스를 가고 싶어 플러스 몬드리안, 플러스 펜타.

오픈 소스가 아닌 경우 가장 좋은 방법은 Microsoft SQL Server with Analysis Services입니다.

+0

감사합니다. 설명에 문제가 있습니다. 그는 70 억 줄을 가지고 있습니다. 1 년에 약 10 억개 가량 성장할 것이라는 견적을했습니다. 새로운 정의로 당신은 여전히 ​​동일한 솔루션을 조언합니까? – user1236552

관련 문제