1

私は現在、App Engine が Cassandra を使用するためのデータストア コネクタの実装に取り​​組んでいます。

Ancestor Pathsを実装する方法を考えています。Cassandra でOrdered Partitionersを使用して、Cassandra http://wiki.apache.org/cassandra/API#KeyRangeの API からKeyRangeparent/{key_name or id}を使用できるようにキーを作成したいと思います。

それは良い考えだと思いますか?Datastax では Ordered Partitioners を使用して読み取ることができるため、http://www.datastax.com/docs/0.8/cluster_architecture/partitioningは実際には推奨されません。

エンティティはキーで順序付けられていると思うので、Google がそのようにするかどうか知りたいです。

4

1 に答える 1

0

HBase は、Cassandra よりも Google の Bigtable にはるかに近いものです。Cassandra は、Bigtable のデータ モデルと Dynamo の分散モデルのみを使用します。主な操作の 1 つがキー範囲をスキャンすることである場合は、Cassandra を使用しないでください。

Cassandra を使用する必要がある場合、キー範囲をスキャンする 1 つの方法は、列を使用して階層を作成することです。基本的に、最下位レベルの行を作成してから、残りの階層を列名にマップします。「親」が行キーになり、「key_name または id」の部分が列キーになります。そのモデルでは、列スライスをロードすることでキー範囲をスキャンできます。

これが良いアイデアであるかどうかは、データ モデルがどのように見えるかに大きく依存します。 "key_name または id" が少なく、たくさんある場合は非効率的です。

于 2012-06-03T18:53:43.640 に答える