2

HBASE で私が高く評価している最も関連性の高い機能は、キー範囲スキャンです。これにより、上位レベルのキーの下にあるキーを下位レベルのキーと組み合わせることができます。これにより、上位レベルのキーに関連するデータの階層を取得できます。

例えば:

CUSTOMER ID = C100
DEPARTMENT ID = D100
USER ID = U100

上記の例のキーは次のようになります。

C100D100U100K01 : "my data for k01"
C100D100U100K02 : "my data for k02"
C100D100U100K03 : "my data for k03"
...

上記を使用すると、C100* で範囲スキャンを実行するか、必要に応じて C100D100U100* などの部門別の詳細を実行することで、顧客 ID に関連するすべてのデータを取得できます。

NOSQL スペクトルのソリューションで、この点に関して HBASE に代わるものはありますか?

4

3 に答える 3

2

任意の階層キー値ストアが機能します。ウィキペディアに (短い) リストがあります: Hierarchical key-value store

私が最もよく知っているのはGT.Mで、サンプルデータは次のようになります。

customer("C100","D100","U100","K01")="my data for k01"
customer("C100","D100","U100","K02")="my data for k02"
customer("C100","D100","U100","K03")="my data for k03"

したがってcustomer("C100")、単一の顧客のすべてのデータにcustomer("C100","D100")アクセスできるようになり、単一の顧客の単一の部門のすべてのデータにアクセスできるようになります。

于 2013-03-07T22:26:57.703 に答える
1

Riak には、インデックスの照合または範囲スキャンによるデータのクエリを可能にするセカンダリ インデックスがあります。セカンダリ インデックスの結果は、Riak の MapReduce の入力として使用できます。詳細については、これを確認してください: riak セカンダリ インデックス

于 2013-03-07T21:59:30.957 に答える
1

ビュー (インデックス) を使用する場合、Couchbase には同様の機能があります。すべてのキーでビューを作成し、それらに対して範囲クエリを実行できます。私の知る限り、ワイルドカードはキーの末尾のみに使用できますが、先頭には使用できません。たとえば、次のようになります。

AAABBBCCCDDD* // yes
*BBBCCCDDDEEE // no
AAA*CCCDDDEEE // no

これは、キーをソートし、クエリを実行するとサブ範囲が取得されるためです。ただし、別の順序で並べ替えるビューを作成することで、これを回避できます。

詳細: http://www.couchbase.com/docs/couchbase-manual-2.0/couchbase-views.html

于 2013-03-07T16:17:58.693 に答える