2016-10-14 16:00
劉樹(shù)東
分布式文件系統(tǒng)產(chǎn)生的背景:
- 數(shù)據(jù)爆炸式增長(zhǎng)
- 億級(jí)甚至百億級(jí)的海量小文件
分布式存儲(chǔ):
將數(shù)據(jù)分散到多個(gè)存儲(chǔ)設(shè)備上犹菇,通過(guò)網(wǎng)絡(luò)保持通信
兩個(gè)基本問(wèn)題:
- 快速存芽卿,存到哪個(gè)設(shè)備
- 快速讀,從哪個(gè)設(shè)備讀
元數(shù)據(jù)管理:
元數(shù)據(jù)存儲(chǔ)于Database做映射沼沈,如MogileFS
元數(shù)據(jù)隱藏在文件名中币厕,如FastDFS
通過(guò)算法計(jì)算元數(shù)據(jù)位置,如Ceph
訪問(wèn)性能:
小文件合并存儲(chǔ)
小文件合并請(qǐng)求
Cache
Ceph
既沒(méi)通過(guò)Database做映射页衙,也沒(méi)把源文件隱藏在文件名中店乐,而是通過(guò)Hash算法計(jì)算元數(shù)據(jù)的位置
元數(shù)據(jù)管理:通過(guò)算法計(jì)算元數(shù)據(jù)位置
寫(xiě),強(qiáng)一致性
提供穩(wěn)定對(duì)象(支持AmazonS3眨八、文件重命名)
塊存儲(chǔ)
適合場(chǎng)景:
- 不變化的文件
- 文件需重命名
- http請(qǐng)求
- 并發(fā)請(qǐng)求不高
使用情況:京東廉侧、攜程、網(wǎng)易等
FastDFS
(MogileFS的精簡(jiǎn)版闰蚕,去掉DB映射连舍,理論上可以無(wú)限擴(kuò)充)
元數(shù)據(jù)隱藏在文件名中
寫(xiě),弱一致性
提供穩(wěn)定對(duì)象存儲(chǔ)
底層采用socket通信
適合場(chǎng)景:
- 高并發(fā)訪問(wèn)盼玄、http潜腻、socket均可
- 文件反復(fù)變化
- field系統(tǒng)生成
使用情況:支付寶、360蝌箍、京東暴心、攜程等
HDFS
GFS的Java版
適合存儲(chǔ)大型文件
元數(shù)據(jù)管理:元數(shù)據(jù)置于內(nèi)存,每個(gè)文件占用一塊內(nèi)存
寫(xiě)悯衬,強(qiáng)一致性
提供穩(wěn)定對(duì)象存儲(chǔ)
適合場(chǎng)景:
- 高延遲
- 文件不怎么變的