2014-02-18 46 views
1

從CAP中,我讀到HBase支持一致性和分區容錯。 我想知道HBase的一致性如何實現。任何鎖都適用?HBase的一致性如何工作

我在網上查了一下沒有找到這方面的資料。 任何機構可以提供有關此主題的任何博客/文章。

回答

3

對行數據的訪問是原子,幷包括正在讀取或寫入的任意數量的列 。 跨越多個表跨越多個行或 沒有進一步的擔保或交易功能。原子訪問是這個架構嚴格一致的因素,因爲每個併發的讀寫器可以對一行的狀態做出安全的假設 。

當數據被更新時,首先寫入提交記錄,稱爲預寫日誌(WAL) 在HBase的,並且然後被存儲在(由RowId的排序)的內存中的memstore。一旦內存中的數據超過了給定的最大值,就會將其作爲HFile刷新到磁盤。刷新後, 提交日誌可以被放棄直到最後一次未刷新的修改。

因此,只需要鎖定來保護RAM中的行。

+0

謝謝你的回答。你能指出任何博客/文章供進一步閱讀。 – Brainchild

+0

我推薦HBase參考指南(https://hbase.apache.org/book.html)和Lars George的HBase Definitive Guide –