0

従来のRDBMSシステムには主キーの概念があることを私たちは知っています。この主キーは基本的に、この特定のキーのテーブル内のレコードにインデックスを付けて、より高速に取得するために使用されます。Cassandraのように二次キーのインデックスを提供するNOSQLストアがあることは知っていますが、従来のRDBMSシステムとまったく同じスキーマに従う方法または既存のDB(つまり、さまざまな種類のデータを保持するためにさまざまなテーブルに分割されたDB)がありますが2つ以上のキーのインデックスを提供します。

同じユースケースの例は次のとおりです。

10人の異なる人の名前と年齢の間には1対1のマッピングがあります。ここで、この情報を主キーとして人の名前を含むテーブルに保持すると、人の名前を指定して年齢を取得する方が、人の年齢を指定して名前を取得するよりも比較的高速になります。両方の列にインデックスを付けることができれば、2番目のケースも高速でした。従来のRDBMSでこれを行う代わりに、同じデータを持つ2つのテーブルを作成しますが、一方の主キーは名前であり、もう一方の主キーは年齢ですが、それは無駄になります。レコード数が多い場合は、大量のスペースが必要です。

4

1 に答える 1

0

この質問に対する回答が非常に長い間見られないのは悲しいことです。同じことについて調査を行っている間、私はFastBit Indexが、テーブル内のレコードのほぼすべての列に対してインデックスを作成するためのもっともらしいソリューションの1つであることに気付きました。また、データをクエリするためのSQLのようなセマンティクスを提供し、数百万行のデータ(GBのオーダー)でクエリを実行すると、数ミリ秒のオーダーのパフォーマンスを提供します。

優れたパフォーマンスレベルで同様の種類の機能を提供できる他のNOSQLまたはSQLDBがあるかどうかを提案してください。

于 2012-10-18T09:07:06.300 に答える