1つのパーティションまたは複数のCassandra Supercolumnデータ?
-
27-10-2019 - |
質問
私にはスーパーカラムファミリーがあると仮定します。また、さまざまなマシンインスタンスで複数のパーティションが実行されていると仮定します。私のスーパーカラムファミリーデータは次のように見えます(1列の場合)
RowKey: 4818d991-9df5-4899-aa07-461f4ed19996
=> (super_column=4dddb83e-4096-428d-8d1b-8b0235ae772f,
(column=1322847333862, value=, timestamp=1322847333863001)
(column=1322847637237, value=, timestamp=1322847637237000)
(column=1322847837206, value=, timestamp=1322847837206001)
(column=1322848197819, value=, timestamp=1322848197819000))
今、私は、{行、super_column}のデータ/サブコラムを返すためにスーパーカラムファミリーに対してクエリをする場合、それらのサブカラムのすべての値が1つのマシンまたは異なるマシンから戻ってくるのだろうか?基本的に、これは次の問題です - パーティション化は行レベルまたはsuper_columnレベルまたはサブカラムレベルで行われますか?また、1つのマシンから戻っても、各サブカラムの順序は、上記のように、そのまま返されますか?
解決
パーティション化は行レベルで行われます。つまり、行全体が単一のマシンに保存されます(複製係数に応じて、他のマシンにコピーが付いています)。
サブコラムは、列名に従って並べ替えられた順序で保存されます - スーパー列は、スーパー列名とサブカラム名の両方にコンパレータを指定できます。見る http://www.datastax.com/docs/0.8/ddl/column_family
所属していません StackOverflow