CQL 3 で Cassandra 1.2.12 を使用していますが、カラム ファミリーのモデリングに問題があります。
現在、特定の時間の顧客データのスナップショットを保存しています。よく働く:
CREATE TABLE data (
cust_id varchar,
time timeuuid,
data_text text,
PRIMARY KEY (cust_id, time)
);
cust_id はパーティション キーで、time はクラスタリング ID です。したがって、私が理解しているように、テーブルの各行は次のように考えることができます。
| | cust_id | timeuuid1 : data_text | timeuuid2 : data_text |
| | CUST1 | この時点でのデータ | この時点でのデータ |
ここで、スナップショットごとに別のメトリック グループを保存したいと考えていますが、これらの各列の名前は固定されていません。次のようなものです:
| | cust_id | timeuuid1 : data_text | timeuuid1 : dynamicCol1 | timeuuid1 : dynamicCol2 | timeuuid1 : dynamicColN |
| | CUST1 | データ |{何らかの値} |{何らかの値} |{何らかの値} |
複合主キーを使用してタイムスタンプの動的列を実現しましたが、意味がわかれば、列の各クラスター内でこれを実現する方法がわかりません。たとえば、「dynamicColumnName」を既存の複合キーに追加すると、動的列ごとに顧客データが格納されることになりますが、これは私が望んでいるものではありません。
マップ列を使用せずにこれは可能ですか? あなたが助けてくれることを願っています、ありがとう!