1、分布式數據庫與存儲專場蘇銳 2021年81分布式件系統在云原時代的挑戰與趨勢 較種流的分布式件系統 云原環境下遇到的挑戰 如何為云原環境設計分布式件系統 在業務場景中的收益 未來展望 foo bar/foo/a/b/c/aa/aaa/b/c/foo/a/foo/b/foo/c/foo/a/aa/foo/a/aaa/foo/a/aaa/b/foo/a/aaa/b/ foo bar/foo/a/b/c/aa/aaa/b/cAtomic Update/bar/foo/a/foo/b/foo/c/foo/a/aa/foo/a/aaa/foo/a/aaa/b/foo/a/aaa/b/ foo bar/f
2、oo/a/b/c/aa/aaa/b/cAtomic Update/bar/foo/a/foo/b/foo/c/foo/a/aa/foo/a/aaa/foo/a/aaa/b/foo/a/aaa/b/c/bar/a/bar/b/bar/c/bar/a/aa/bar/a/aaa/bar/a/aaa/b/bar/a/aaa/b/cData foo bar/foo/a/b/c/aa/aaa/b/cAtomic Update/bar/foo/a/foo/b/foo/c/foo/a/aa/foo/a/aaa/foo/a/aaa/b/foo/a/aaa/b/c/bar/a/bar/b/bar/c/bar/a/
3、aa/bar/a/aaa/bar/a/aaa/b/bar/a/aaa/b/cData copyIndexU foo bar/foo/a/b/c/aa/aaa/b/cAtomic Update/bar/foo/a/foo/b/foo/c/foo/a/aa/foo/a/aaa/foo/a/aaa/b/foo/a/aaa/b/c/bar/a/bar/b/bar/c/bar/a/aa/bar/a/aaa/bar/a/aaa/b/bar/a/aaa/b/cData copyIndexUpdateNo Transaction Guarantee Eventual Consistency較種流的分布式件系統
4、GlusterFS優勢 數據件最終以相同錄保存在指定節點的本地件系統上,集群不可時仍能在該節點上直接訪問到數據。劣勢 集群結構相對靜態,不易調整;因為沒有獨元數據,元數據性能隨集群規模擴下降。https:/docs.gluster.org/en/latest/Quick-Start-Guide/Architecture/ 套系統能同時滿 Block、Object、File 三種形態。劣勢 運維復雜;元數據持久化在 RADOS 中,如果要性能同樣需要很的內存緩存;MDS 內使多線程提吞吐,在件操作的并發處理上復雜度幅提升。 Hadoop 態標準組件;有量實踐經驗積累。劣勢 NameNode 缺少
5、橫向擴展案;集群的運維挑戰,如:Full GC;POSIX 訪問協議,Java 客戶端成熟度也不夠。 10億 100億件管理;持 100PB 1000PB 容量規模;全托管服務,開箱即;彈性伸縮;多租戶;Kubernetes CSI 持;訪問協議?POSIX,HDFS,S3,NFS,CIFS,S vs.CephFS vs.HDFS云原環境下遇到的挑戰都是向物理機設計,法彈性伸縮;沒有全托管服務;元數據能是件系統的挑戰;單集群規模挑戰以及多租持改造難度。云原環境下分布式件系統的需要持 10億 100億件管理;持 100PB 1000PB 容量規模;全托管服務,開箱即;彈性伸縮;多租戶;Kuber
6、netes CSI 持;訪問協議?POSIX,HDFS,S3,NFS,CIFS,Samba云原環境下,如何設計分布式件系統 File System ArchitectureData(DataNode)Meta(NameNode)Client(Java SDK)云原環境下,如何設計分布式件系統 File System ArchitectureData(DataNode)Meta(NameNode)Client(Java SDK)S3GCSAzure BlobOSSCOSMinIOCephRGW云原環境下,如何設計分布式件系統 File System ArchitectureData(DataNo
7、de)Meta(NameNode)Client(Java SDK)S3GCSAzure BlobOSSCOSMinIOCephRGWPOSIXSDKAPI云原環境下,如何設計分布式件系統 基于 Redis 做元數據管理JuiceFS Architecture云原環境下,如何設計分布式件系統 基于 Redis 做元數據管理JuiceFS Architecture優勢 Redis 很流,家對它很熟悉;內存引擎,快;持事務。劣勢 HA 案不夠完美,關注 RedisRaft 進展;不能 Redis Cluster,法平擴展;AOF 持久化仍有險。云原環境下,如何設計分布式件系統 基于 MySQL 做元
8、數據管理JuiceFS Architecture云原環境下,如何設計分布式件系統 基于 MySQL 做元數據管理JuiceFS Architecture優勢 MySQL 同樣流,家對它很熟悉;持久化問題解決了;規模瓶頸解決了。劣勢 相內存引擎,時延,不適合對元數據性能要求的場景。云原環境下,如何設計分布式件系統 基于 TiKV 做元數據管理JuiceFS Architecture云原環境下,如何設計分布式件系統 基于 TiKV 做元數據管理JuiceFS Architecture優勢 持久化問題解決了;規模瓶頸解決了;HA 問題解決了。劣勢 延遲略于 Redis。前是早期版本,有優化空間,歡迎
9、家參與測試、評估、改進 云原環境下,如何設計分布式件系統 多元數據引擎持,可以在性能、規模、成本等取舍選擇;Redis MySQL MariaDB PostgreSQL SQLite TiKV 多后端存儲選擇,輕松適配各種云環境;已持 33 中,查看完整列表;POSIX、HDFS、S3 協議互通,便對接各種上層應。業務場景中的收益-數據 HDFS 相 實現存儲計算分離架構;彈性伸縮;元數據橫向擴展能;持 POSIX,便和更多應態對接;持隨機讀寫,能持更豐富的需求。業務場景中的收益-數據 HDFS 相 實現存儲計算分離架構;彈性伸縮;元數據橫向擴展能;持 POSIX,便和更多應態對接;持隨機讀寫,能持更豐富的需求。與 對象存儲 相 100%HDFS 兼容;強致性;性能 Listing;原 Rename;在不同云環境中差異;對來說,件系統相 Bucket 更容易做數據管理業務場景中的收益-AI數據采集清洗/預處理 特征程訓練模型推理業務程序Spark業務程序TensorFlow業務程序S3HDFSS3本地磁盤S3HDFS本地磁盤Docker Image數據會在不同的存儲中搬來搬去 特征程訓練模型推理業務程序Spark業務程序TensorFlow業務程序KubernetesJuiceFSCSI via