2012-10-08 7 views
0

전통적인 RDBMS 시스템에서는 기본 키 개념이 있습니다. 이 기본 키는 기본적으로 빠른 검색을 위해이 특정 키의 테이블에 레코드를 인덱싱하는 데 사용됩니다. 2 차 키 색인을 제공하는 Cassandra와 같은 NOSQL 스토어가 있지만 기존 RDBMS 시스템과 동일한 스키마를 따르는 기존의 DB가 존재한다는 것을 알고 있습니다 (예 : 여러 테이블로 분리되어 여러 가지 데이터를 보유하는 DB). 2 개 이상의 키에 대해 색인을 제공합니다.테이블에 1 개 이상의 키가있는 DB에서 쿼리하는 것과 같은 SQL

동일한에 대한 사용 사례의 예는 다음과 같습니다

10 다른 사람의 이름과 나이 사이에 일대일 매핑이 있습니다. 이제 내가이 정보를 기본 키인 사람의 이름으로 테이블에 보관하면 사람의 이름이 주어진 연령을 검색하는 것보다 나이를 검색하는 것이 상대적으로 빠릅니다. 두 열을 모두 색인화 할 수 있다면 두 번째 사례도 더 빠를 것입니다. 전통적인 RDBMS에서이를 수행하는 대신 하나의 기본 키가 이름이고 다른 하나는 나이이지만 동일한 데이터를 가진 두 개의 테이블을 갖는 것입니다. 많은 수의 레코드가있는 경우 많은 공간이 필요합니다.

답변

0

매우 오랜 시간이 질문에 대한 답변을 보지 못했습니다. 같은 시간에 연구를 한이 모든 시간에 나는 테이블의 레코드의 거의 모든 열에서 인덱싱을 수행하는 가장 적합한 솔루션 중 하나로 FastBit Index을 발견했습니다. 또한 데이터를 쿼리하는 것과 같은 SQL 의미론을 제공하며 수백만 행의 데이터 행 (GB 단위)을 쿼리 할 때 수 밀리 초 단위의 성능을 제공합니다.

성능 수준이 비슷한 비슷한 종류의 기능을 제공 할 수있는 다른 NOSQL 또는 SQL DB가 있는지 제안하십시오.