0
Cassandra使用LSM樹來存儲,但cassandra的索引結構究竟是什麼?例如,Mongo和Couchbase都使用BTree。什麼是Cassandra的索引結構
Cassandra使用LSM樹來存儲,但cassandra的索引結構究竟是什麼?例如,Mongo和Couchbase都使用BTree。什麼是Cassandra的索引結構
這取決於您實際使用的Cassandra版本。
對於3.4之前的版本,索引被實現爲隱藏的Cassandra表,其中包含您希望訪問的數據的鍵值。這種策略的主要缺點是,由於SStables受到壓縮,你不能直接引用數據,而是給你一個密鑰,你必須再次通過讀取路徑。
在3.4版本中,他們引入了SASI索引(SSTable Attached Secondary Indexes)。基本上,索引的一部分與每個SStable相關聯,因此隨之分發。這意味着您實際上可以使用引用來訪問數據,而不是爲另一個讀取路徑付費。在實施方面,他們是B型樹。
Here是一個非常有用的資源在這個問題上。
謝謝!很有幫助 – AAC