-1

データを保存する方法は 2 つあります

ユースケース: 各製品の受信データの保存

1)CREATE COLUMN FAMILY product_data WITH comparator = TimeUUIDType AND key_validation_class=UTF8Type AND default_validation_class = UTF8Type;

これは次のようなデータを保存します

product_id|timeuuid1     | timeuuid2      |
A         | (some-value) |  (some-value)  |

2)CREATE COLUMN FAMILY product_data(product_id varchar, time TIMESTAMP, some-data varchar, key(product_id, time))

今の私の目標は、ディスクの読み取りを改善することです。最初のケースでは、行全体が同じ場所にあるため、すべての時間範囲の読み取りでディスクの読み取りが高速になります。2 番目のケースでは、1 つの製品のデータは同じレプリカにありますが、それらは同じディスク領域にありますか?

4

1 に答える 1

0

2 番目のステートメントは、最初のステートメントと同等の CQL です。product_idエンジンによって行キーに変換され、time値が列名に変換されます。CQL 範囲クエリは、timeフィールド (つまりSELECT * FROM product_data WHERE product_id = ? AND time > ? AND time < ?) では可能ですが、 ではできませんproduct_id。CQL API はすでに Thrift よりわずかに優れており、開発は CQL の改善に重点を置いているため、2 番目の方法をお勧めします。

于 2013-06-26T18:57:49.913 に答える