2017-10-16 124 views
0

我是卡桑德拉的新手,我有一個關於Cassandra和Parquet如何處理這個柱狀病例的基本問題。 我試圖找出自己,但沒有運氣到目前爲止。我發現在wiki是否可以在列存儲中只存儲一次列值?

…;Smith:001;Jones:002,004;Johnson:003;… 

以下信息作爲兩個記錄存儲相同的值,「瓊斯」,就可以 商店這一次在列存儲,並指出了所有沿與之相匹配的行的 。對於許多常見搜索,例如「查找姓氏瓊斯的所有人 」,答案將在 單一操作中檢索。其他操作(如計算匹配記錄的數量或對一組數據執行數學計算)可能會大大提高通過此組織的 。

我的問題是,「上面的問題與Cassandra和Parquet有關嗎?」

002,Jones,Mary,50000; 
004,Jones,Bob,55000; 

Cassandra/Parquet是否只存儲'Jones'一次,還是存儲'Jones'?請在此啓迪我。

+0

可能是[是卡桑德拉列嚮導或列數據庫​​]的副本(https://stackoverflow.com/questions/25441921/is-cassandra-a-column-oriented-or-columnar-database) – FuzzyAmi

回答

1

Cassandra是一個寬行數據庫。
存儲的數據根據​​分區鍵和聚簇列進行區分。

因此,對於你上述使用情況下,假設該數據庫模型是這樣的:(列)是分區鍵(另一列)是集羣列。

如果分區鍵相同,則聚簇列會使該列的值具有唯一性。
現在的數據將存儲在內部的一些這樣的事

jones |002|004|005... and so on 

所以,你可以看到,瓊斯存儲一次而值(這是集羣列)被追加爲相同的一部分因此名爲的寬排店

+0

感謝您的答覆。它有助於 – BDR

+0

@BDR如果它已經爲你工作,請將其標記爲正確的答案。謝謝 –

相關問題