Cassandraのデータモデルを構築しようとしています。古典的なテーブル/列ビューではなく、パスビューでデータを保存するオプションがあります。例Cassandra "path"データモデル
CREATE TABLE data1 (
user uuid,
timestamp timeuuid,
column1 int,
column2 int
primary key (user, timestamp)
)
CREATE TABLE `data2` (
user uuid,
timestamp timeuuid,
column1 int,
column2 int
primary key (user, timestamp)
)
については
はなりつのテーブルのように:私たちはそれはグラファイトがにstatsdメトリックと引数を収集する方法と少し似てい
insert into all_data (user, timestamp, path, value) values (1,0,'data1.column1',1)
insert into all_data (user, timestamp, path, value) values (1,0,'data1.column2',2)
insert into all_data (user, timestamp, path, value) values (1,9,'data2.column1',7)
insert into all_data (user, timestamp, path, value) values (1,9,'data2.column1',8)
などのデータを挿入
create table all_data (
user uuid,
timestamp timeuuid,
path text,
value blob
primary key (user, timestamp, path)
)
そのようなモデルは、列ベースの記憶域を持ち、行全体を取得する必要はほとんどありませんが、時間範囲内ではユーザーあたり1つの列になります。
誰もそのようなデータモデルの経験はありますか、それは本当に古典的なものより優れたパフォーマンスを持っていますか?あなたはこれに関するアドバイスをしてもらえますか?
モデル化しようとしているデータが記述されていない場合、データモデリングについての回答はどうすればよいでしょうか? – OrangeDog