従来のRDBMSシステムには主キーの概念があることを私たちは知っています。この主キーは基本的に、この特定のキーのテーブル内のレコードにインデックスを付けて、より高速に取得するために使用されます。Cassandraのように二次キーのインデックスを提供するNOSQLストアがあることは知っていますが、従来のRDBMSシステムとまったく同じスキーマに従う方法または既存のDB(つまり、さまざまな種類のデータを保持するためにさまざまなテーブルに分割されたDB)がありますが2つ以上のキーのインデックスを提供します。
同じユースケースの例は次のとおりです。
10人の異なる人の名前と年齢の間には1対1のマッピングがあります。ここで、この情報を主キーとして人の名前を含むテーブルに保持すると、人の名前を指定して年齢を取得する方が、人の年齢を指定して名前を取得するよりも比較的高速になります。両方の列にインデックスを付けることができれば、2番目のケースも高速でした。従来のRDBMSでこれを行う代わりに、同じデータを持つ2つのテーブルを作成しますが、一方の主キーは名前であり、もう一方の主キーは年齢ですが、それは無駄になります。レコード数が多い場合は、大量のスペースが必要です。