大資料 一致性雜湊演算法

2021-08-03 19:32:05 字數 731 閱讀 8996

題目:

工程師嘗試用伺服器集群來設計和實現資料快取,以下是常見的策略。

1,無論新增、查詢、刪除資料,都先將資料id通過雜湊函式轉換成雜湊值key。

2,有n臺機器,則 key%n 為該資料所屬的機器編號。無論是新增、刪除、查詢都在這台機器上進行,請分析這種話快取策略帶來的問題,並提出改進方案。

思路:該快取方式弊端:如果增加、刪除機器-->那麼n會變,根據id重新計算key,重新%n』,然後會有很多資料重新遷移到新的機器上,代價大。

解決方案:一致性雜湊演算法:

假設id通過雜湊函式計算後的結果為0~2^32. 這些key首位相連構成環形分布,假設有n=3臺機器根據雜湊函式也處在環中,那麼id1順時針找到距離最近的機器computer,id1的所有新增、刪除查詢操作都在這個上面。如圖。

這樣做的好處是,新增刪除機器時,資料遷移的代價小。

新增新機器m3,經過雜湊函式計算m3的位置在m1,m2中間。那麼data1資料原來是在m2上操作的,現在變成m3上操作。而data2,data3都不用遷移。

資料一致性

資料一致性通常指關聯資料之間的邏輯關係是否正確和完整。而資料儲存的一致性模型則可以認為是儲存系統和資料使用者之間的一種約定。如果使用者遵循這種約定,則可以得到系統所承諾的訪問結果。常用的一致性模型有 a 嚴格一致性 linearizability,strict atomic consistency ...

資料一致性

丟失更新 未確定的相關性 不一致的分析和幻想讀 事務a讀取與搜尋條件相匹配的若干行。事務b以插入或刪除行等方式來修改事務a的結果集,然後再提交。幻讀是指當事務不是獨立執行時發生的一種現象,例如第乙個事務對乙個表中的資料進行了修改,比如這種修改涉及到表中的 全部資料行 同時,第二個事務也修改這個表中的...

資料一致性

資料一致性通常指關聯資料之間的邏輯關係是否正確和完整。而資料儲存的一致性模型則可以認為是儲存系統和資料使用者之間的一種約定。如果使用者遵循這種約定,則可以得到系統所承諾的訪問結果。常用的一致性模型有 a 嚴格一致性 linearizability,strict atomic consistency ...