我們正在嘗試爲Cassandra構建一個數據模型,並且有一個選項可用路徑視圖而不是經典表格/列視圖來保存數據。Cassandra「路徑」數據模型
例如
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)
)
成爲一個表,如:
create table all_data (
user uuid,
timestamp timeuuid,
path text,
value blob
primary key (user, timestamp, path)
)
我們插入數據
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)
這有點類似於石墨收集statsd指標和參數的方式這樣的模型將具有一種基於列的存儲,其具有更好的讀取性能因爲我們幾乎不需要獲取整行,而是在時間範圍內爲每個用戶提供一列。
有沒有人有這樣的數據模型的經驗,它真的比傳統的有更好的性能?你能對此提出任何建議嗎?
當你沒有描述你想要建模的數據時,我們如何回答你的數據建模? – OrangeDog