你好,我是 shengjk1,多年大廠經驗,努力構建 通俗易懂的、好玩的編程語言教程。 歡迎關注!你會有如下收益:
- 了解大廠經驗
- 擁有和大廠相匹配的技術等
希望看什么,評論或者私信告訴我!
文章目錄
- 一、背景
- 二、JuiceFS 入門
- 2.1 核心特性
- 2.2 JuiceFS 架構
- 2.3 JuiceFS 如何存儲文件
- 三、JuiceFS VS HDFS
- 3.1 架構設計對比
- 3.1.1. 核心架構
- 3.1.2. 擴展性與運維
- 3.2、讀寫性能對比
- 3.2.1. 元數據操作
- 3.2.2. 數據讀寫
- 3.2.3. 緩存機制
- 3.3、功能特性對比
- 3.3.1. 兼容性
- 3.3.2. 數據保護
- 3.3.3. 加密與壓縮
- 3.4、適用場景
- HDFS
- JuiceFS
- 3.5、總結
- 四、總結
一、背景
公司負責數據存儲的部門,最近要把數據要上云,節省成本,長遠的規劃是AI+數據的統一底座為 JuiceFS。于是乎,好奇心不自覺的就來了,why?
本篇內容,不會詳細介紹什么是 JuiceFS,不會有 JuiceFS 的使用方法,主要就是對比一下 JuiceFS 和 HDFS,搞明白 JuiceFS 優勢是什么
二、JuiceFS 入門
2.1 核心特性
-
POSIX 兼容:像本地文件系統一樣使用,無縫對接已有應用,無業務侵入性;
-
HDFS 兼容:完整兼容 HDFS API,提供更強的元數據性能;
-
S3 兼容:提供 S3 網關 實現 S3 協議兼容的訪問接口;
-
云原生:通過 Kubernetes CSI 驅動 輕松地在 Kubernetes 中使用 JuiceFS;
-
分布式設計:同一文件系統可在上千臺服務器同時掛載,高性能并發讀寫,共享數據;
-
強一致性:確認的文件修改會在所有服務器上立即可見,保證強一致性;
-
強悍性能:毫秒級延遲,近乎無限的吞吐量(取決于對象存儲規模),查看性能測試結果;
-
數據安全:支持傳輸中加密(encryption in transit)和靜態加密(encryption at rest),查看詳情;
-
文件鎖:支持 BSD 鎖(flock)和 POSIX 鎖(fcntl);
-
數據壓縮:支持 LZ4 和 Zstandard 壓縮算法,節省存儲空間。
2.2 JuiceFS 架構
JuiceFS 文件系統由三個部分組成:
JuiceFS 客戶端(Client):所有文件讀寫,以及碎片合并、回收站文件過期刪除等后臺任務,均在客戶端中發生。客戶端需要同時與對象存儲和元數據引擎打交道。客戶端支持多種接入方式:
- 通過 FUSE,JuiceFS 文件系統能夠以 POSIX 兼容的方式掛載到服務器,將海量云端存儲直接當做本地存儲來使用。
- 通過 Hadoop Java SDK,JuiceFS 文件系統能夠直接替代 HDFS,為 Hadoop 提供低成本的海量存儲。
- 通過 Kubernetes CSI 驅動,JuiceFS 文件系統能夠直接為 Kubernetes 提供海量存儲。
- 通過 S3 網關,使用 S3 作為存儲層的應用可直接接入,同時可使用 AWS CLI、s3cmd、MinIO client 等工具訪問 JuiceFS 文件系統。
- 通過 WebDAV 服務,以 HTTP 協議,以類似 RESTful API 的方式接入 JuiceFS 并直接操作其中的文件。
數據存儲(Data Storage):文件將會被切分上傳至對象存儲服務。JuiceFS 支