標籤:

[ATC 16'] Replex: A Scalable, Highly Available Multi-Index Data Store

文章概況

這篇文章來自普林斯頓大學,第一作者是在讀phd, 導師是Michael Freedman.

1. motivation

當前的NoSQL為了保證可擴展性,犧牲了功能性,不能夠很高效的支持多索引。這是因為現在的NoSQL設計按照一個特定的Key進行劃分,而在實際使用過程中,人們可能會使用其他的Key來索引數據,這就必須查詢每一個數據的劃分分區。或者通過冗餘的方法解決。

2. innovation

在之前的數據store實現中,首先將所有數據進行全局劃分,然後每個劃分的分區再以複製的方式分散到多個節點。

為了實現快速的多key查詢,這篇文章提出了一種新的數據放置方法。提出了一個叫做replex的概念,每一個replex是把數據根據不同索引排序後得到的數據副本。這帶來了提高不同索引查詢的性能的同時,犧牲了數據恢復的複雜性,為了在性能和數據恢復速度上做平衡,作者又提出了hybrid replex概念。

3. implementation


推薦閱讀:

Facebook存儲進階路:NoSQL Pattern的入門介紹
數據開發系列篇(3):spark實戰高手之路(一):如何搭建spark集群
c++ 實時消息系統什麼in-process資料庫比較好? leveldb、LMDB 還是sqlite?
有哪些分散式資料庫書籍或論文比較好?
Cassandra現在的應用前景怎麼樣?

TAG:NoSQL |