iT邦幫忙

2021 iThome 鐵人賽

DAY 20
0
自我挑戰組

淺入淺出分散式儲存系列 第 20

Day20 資料冗余和Partition

接下來談談資料冗余的策略

最簡單最好管理的冗余就是完完全全的複製一份在別的地方,就是我們經常說的備份,把重要的資料備份進去隨身硬碟

雲端的儲存也會用同樣的方法,如果複製兩份,一台機器掛掉的機率是1%,那麼兩台機器同時掛掉的機率是0.01%,也就是99.99%,這就是俗話說的4個9的穩定度

但是當然,1TB的資料我們就要用2TB的空間去存,不但有點浪費空間,而且寫入的時候要寫雙倍量,不過讀的時候會比較快,可以兩邊同時讀

還有另外一種策略是Partition,Parition就是把同一條數據分成不同等份然後放在不同機器上,這也是我們Lab的策略,什麼意思呢?假如有一條資料 - Apple,我們有三台server,所以我們可以分成三份,AP, pl和e分別存在三台server中

不過這樣一來,如果一台server掛了,我們的資料也復原不了

所以有個東西叫做糾刪碼(Erasure Coding),他是一種儲存技術的保護方法和提升網路傳輸可靠度的方法,只要在原本的資料加入大約33%長度的糾刪碼,並把資料平均分在四台機器,一台機器掛了還能復原所有數據

所以說

如果使用複製兩份,我們需要200%的容量,掛的機器只能一台

如果使用Partition,我們只需要133%的容量,掛的機器也只有一台

所以Partition比較省空間,當然他的缺點就是有點複雜,而且讀完的時候還需要decoding,所以讀的性能沒有複製策略好


上一篇
Day19 Lab 2 - Object storage 數據校驗和去重
下一篇
Day21 Raid原理
系列文
淺入淺出分散式儲存30

尚未有邦友留言

立即登入留言