2013-05-17 111 views
1

我已經閱讀了關於這個主題的各種資源,並且理解了圍繞所需查詢建模的想法,但是想知道可以爲Cassandra擴展多遠。另一個Cassandra數據建模方法

如果我涉及傳統數據倉庫,則需要存儲包含度量和維度數據的處理事件。 數據的格式是一樣的東西

log_timestamp(時間戳):USER_ID(文本):measure_1(NUM):measure_2(NUM):measure_3(NUM):dim_1(文本):dim_2(文本):.. dim_n(text)

其中可能存在10個或更多暗淡數據項目。 我想模型查詢包括:

USER_ID的時間(分鐘/小時/天/周/月/年)與測量由時間測量聚集

USER_ID由單一暗淡聚集

單一的時間與測量總量朦朧

一些維度字段形成一個自然的層次結構,所以我想上面的查詢與多個昏暗的領域以及。

在着手創建大量離散列族以嘗試覆蓋排列之前,我想知道是否有人可以推薦更好的方法 使用一個單一的比較暗淡的數據與一列標識暗淡的類型和另一個價值觀和層次類型和成員變暗和值的層次結構數據類似的想法。

另外什麼可能是一個很好的模型,用於存儲在相對粒度級別的數據,以便它可以讀回到聚合工具,例如,蜂巢或火花(看起來非常有趣)。

謝謝。

回答

0

假設您希望能夠按星期查詢彙總數據。你可以使用下面的數據結構。

Column Family = day 
Row Key: Date = day_identifier (e.g., time at beginning of some day this week) 
Column Name: Date = timestamp, Long = field_ordinal 
Column Value: field value 

Column Family = week 
Row Key: Date = week_identifier (e.g., time at beginning of first day of a week) 
Column Name: Date = timestamp, Long = field_ordinal 
Column Value: field value 

在每週結束時,您將採用日欄系列中的條目並將它們聚合到周欄系列中的條目中。然後,如果數據不再對您有用,則可以每天刪除數據。

這個概念允許你存儲更少的數據,但你仍然可以完成很多。例如,如果您想查詢一個月內彙總的數據,則只需訪問該月的所有星期。或者,您也可以使用相同的概念彙總整個月的數據。

好運。