歷時四年,分佈式文件系統 JuiceFS 正式開源

{"type":"doc","content":[{"type":"blockquote","content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"JuiceFS 是爲海量數據設計的分佈式文件系統,使用對象存儲來做數據持久化,避免重複造輪子,還能大大降低工程複雜度,讓開發者專注解決元數據和訪問協議部分的難題。 "}]}]},{"type":"heading","attrs":{"align":null,"level":2},"content":[{"type":"text","text":"雲原生分佈式文件系統 JuiceFS 正式開源"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"1月11日, Juicedata果汁數據科技官方賬號宣佈JuiceFS "},{"type":"link","attrs":{"href":"https:\/\/mp.weixin.qq.com\/s\/asUFtorMB1pcOwhNvlDyKw","title":null,"type":null},"content":[{"type":"text","text":"正式開源"}]},{"type":"text","text":",這是一個雲原生分佈式文件系統,經過了四年的持續迭代和累計幾千萬小時的線上考驗。Davies(劉洪清,Juicedata 創始人、TGO 鯤鵬會會員)在文中表示:"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":" "}]},{"type":"blockquote","content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"JuiceFS 的創新架構更符合雲原生的發展趨勢,我們一開始就以 SaaS 的形式將它提供給公有云的客戶,讓客戶分鐘級就可以獲得 PB 級企業文件存儲服務。同時,我們也和行業優秀的對象存儲廠商一起服務私有云客戶。"}]}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"GitHub地址:"},{"type":"link","attrs":{"href":"https:\/\/github.com\/juicedata\/juicefs","title":null,"type":null},"content":[{"type":"text","text":"https:\/\/github.com\/juicedata\/juicefs"}]}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"2020年2月份,Davies曾在接受TGO採訪時聊起了一路創辦Juicedata的故事(可閱讀:"},{"type":"link","attrs":{"href":"https:\/\/mp.weixin.qq.com\/s?__biz=MzA4NTU2MTg3MQ==&mid=2655171742&idx=1&sn=f13ee09c27cfeaabb9ca2d05a48f6810&chksm=846013feb3179ae870a19a6db31c5be9b31fee94a333a248fa16d4add4f8e6ed5d764da927c5&scene=27#wechat_redirect","title":null,"type":null},"content":[{"type":"text","text":"《離開 Facebook 與百萬美元后,他的技術故事纔剛剛開始 | TGO 深焦》"}]},{"type":"text","text":")。Davies在清華碩士畢業後即加入豆瓣成爲早期員工,並研發了國內最早的開源 KV 存儲 Beansdb 和 DPark ( Python clone of Spark );2013 年他加入 Facebook 總部負責 HDFS 方面的研發,2014 年加入 Databricks,幫助 Spark SQL 實現了上百倍的性能提升。2017 年,似乎是順利成章,在大數據領域摸爬滾打了近十年的 Davies,開始了與幾個夥伴的創業之旅。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"“創業太艱難了,對一個團隊的要求太全面了。你不能犯任何錯誤,要竭盡全力,然後要藉助所有可能借助的力量,還要藉助偶然的機遇纔可能成功……(我)覺得這個事情是非常難的,還是不要創業。”"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"話雖如此,但創業似乎對 Davies 有種奇妙的吸引力。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"在他長達 13 年的職業生涯中,居然有近 12 年身在創業企業。2016 年,正是在硅谷創業企業 Databricks 任職期間,他萌生了創業的想法。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"時值 Davies 負責爲 Databricks 的存儲層提速,雖然 AWS 已有相關的存儲方案,但問題很多,且遲遲無法解決。於是,他提議,自研新的存儲方案,系統性地解決問題。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"不過,在當時的 Databricks,從架構師到管理層,幾乎全部認爲風險太大,無人支持 Davies 的提議。Davies 說:“當時, CTO (注:Matei Zaharia,Apache Spark 作者)親口對我說:‘存儲這不是我們擅長的事情,能不碰儘量不要碰。’“"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"在 Databricks 否決 Davies 的技術方案後,大概 Matei Zaharia 也沒有想到,這個中國來的工程師頗有“美式英雄主義”精神。他不但沒有放棄,反而用業餘時間單槍匹馬地寫了個原型出來。之後,Davies 回憶道:“我找了一些朋友的公司去試用,發現效果也可以,所以我在想既然有這麼不錯的東西,就不能埋沒它。”"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"strong"}],"text":"2017 年,Davies 在美國遠程敲定了國內的投資和早期客戶,叫上當時也在創業的蘇銳,共同創立了 Juicedata,並將產品命名爲 JuiceFS。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"strong"}],"text":"經過了四年的歷練,整個團隊最終決定將JuiceFS正式開源。"},{"type":"text","text":"Davies表示:在創業之初,我們認爲 SaaS 可以爲用戶提供最佳的體驗,同時讓我們更快地迭代產品,決定優先把 SaaS 做好。經過 4 年的持續迭代和積累,JuiceFS 已經在幾十家科技企業的大數據、AI、容器平臺、歸檔、備份等場景中形成最佳實踐, SaaS 使用量也持續快速增長,並且在過去的 2020 年首次實現了盈虧平衡。我們相信找到了可持續發展的模式,有信心保障 JuiceFS 的長期運營。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"此外,Davies等人也發現閉源的基礎軟件會限制使用者對它的深度理解,不利於服務更多人,依靠 SaaS 產品的收入支撐和開源社區的力量或許可以讓 JuiceFS 走得更遠。"}]},{"type":"heading","attrs":{"align":null,"level":2},"content":[{"type":"text","text":"爲什麼我們需要新的文件系統?"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"文件系統是計算機中一個非常重要的組件,爲存儲設備提供一致的訪問和管理方式。在不同的操作系統中,文件系統會有一些差別,但也有一些共性幾十年都沒怎麼變化:"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":" "}]},{"type":"bulletedlist","content":[{"type":"listitem","attrs":{"listStyle":null},"content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"數據是以文件的形式存在,提供 Open、Read、Write、Seek、Close 等API 進行訪問;"}]}]},{"type":"listitem","attrs":{"listStyle":null},"content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"文件以樹形目錄進行組織,提供原子的重命名(Rename)操作改變文件或者目錄的位置。"}]}]}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"文件系統提供的訪問和管理方法支撐了絕大部分的計算機應用,Unix 的“萬物皆文件”的理念更是凸顯了它的重要地位。文件系統的複雜性使得它的可擴展性未能跟得上互聯網的高速發展,極大簡化了的對象存儲及時填補了空缺得以快速發展起來。因爲對象存儲缺乏樹狀結構也不支持原子重命名操作,跟文件系統有很大的差別,本文暫不討論。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"絕大多數文件系統都是單機的,在單機操作系統內爲一個或者多個存儲設備提供訪問和管理。隨着互聯網的高速發展,單機文件系統面臨很多的挑戰:"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":" "}]},{"type":"bulletedlist","content":[{"type":"listitem","attrs":{"listStyle":null},"content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"共享:無法同時爲分佈在多個機器中的應用提供訪問,於是有了 NFS 協議,可以將單機文件系統通過網絡的方式同時提供給多個機器訪問。"}]}]},{"type":"listitem","attrs":{"listStyle":null},"content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"容量:無法提供足夠空間來存儲數據,數據只好分散在多個隔離的單機文件系統裏。"}]}]},{"type":"listitem","attrs":{"listStyle":null},"content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"性能:無法滿足某些應用需要非常高的讀寫性能要求,應用只好做邏輯拆分同時讀寫多個文件系統。"}]}]},{"type":"listitem","attrs":{"listStyle":null},"content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"可靠性:受限於單個機器的可靠性,機器故障可能導致數據丟失。"}]}]},{"type":"listitem","attrs":{"listStyle":null},"content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"可用性:受限於單個操作系統的可用性,故障或者重啓等運維操作會導致不可用。"}]}]},{"type":"listitem","attrs":{"listStyle":null},"content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"隨着互聯網的高速發展,這些問題變得日益突出,湧現出了一些分佈式文件系統來應對這些挑戰。"}]}]}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"如今,我們耳熟能詳的分佈式文件系統有GlusterFS、CephFS、GFS以及HDFS等,每種方案各有優劣(詳細對比可閱讀"},{"type":"link","attrs":{"href":"https:\/\/mp.weixin.qq.com\/s\/ZwfRZW42e_2dh0u6vH0psg","title":"xxx","type":null},"content":[{"type":"text","text":"《分佈式文件系統架構對比》"}]},{"type":"text","text":"一文),JuiceFS與這些相比的差異性在於更加適合雲原生的環境。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"具體而言,GFS、HDFS 和 MooseFS 都是針對自建機房這種軟硬件環境設計的,將數據的可靠性和節點可用性合在一起用多機多副本的方式解決。但是在公有云或者私有云的虛擬機裏,塊設備已經是具有三副本可靠性設計的虛擬塊設備,如果再通過多機多副本的方式來做,會導致數據的成本居高不下(實際上是 9 個拷貝)。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"於是,整個團隊針對公有云,改進 HDFS 和 MooseFS 的架構,設計了 JuiceFS,架構如下圖所示:"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":" "}]},{"type":"image","attrs":{"src":"https:\/\/static001.geekbang.org\/infoq\/8a\/8ac68b6f9758f4ea4c363d2ecd832b73.jpeg","alt":null,"title":null,"style":[{"key":"width","value":"75%"},{"key":"bordertype","value":"none"}],"href":null,"fromPaste":true,"pastePass":true}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"JuiceFS 使用公有云中已有的對象存儲來替換 DataNode 和 ChunkServer,實現一個完全彈性的 Serverless 的存儲系統。公有云的對象存儲已經很好地解決了大規模數據的安全高效存儲,JuiceFS 只需要專注元數據的管理,也大大降低了元數據服務的複雜度(GFS 和 MooseFS 的 master 要同時解決元數據的存儲和數據塊的健康管理)。團隊也對元數據部分做了很多改進,從一開始就實現了基於 Raft 的高可用。要真正提供一個高可用高性能的服務,元數據的管理和運維仍然是很有挑戰的,元數據是以服務的形式提供給用戶。因爲 POSIX 文件系統 API 是應用最最廣泛的 API,團隊基於 FUSE 實現了高度 POSIX 兼容的客戶端,用戶可以通過一個命令行工具把 JuiceFS 掛載到 Linux 或者 macOS 中,像本地文件系統一樣快速訪問。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"上圖中右邊虛線部分是負責數據存儲和訪問的部分,涉及用戶的數據隱私,它們是完全在客戶自己的賬號和網絡環境中,不會跟元數據服務接觸。Juicedata沒有任何方法接觸到客戶的內容(元數據除外,請不要把敏感內容放到文件名裏)。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"image","attrs":{"src":"https:\/\/static001.geekbang.org\/infoq\/0d\/0dee2f7d15b56a766a3722c450c2fa14.jpeg","alt":null,"title":null,"style":[{"key":"width","value":"75%"},{"key":"bordertype","value":"none"}],"href":null,"fromPaste":true,"pastePass":true}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"上圖中藍色項目主要是給大數據場景使用的,實現的是 POSIX 的子集,而綠色的則是POSIX 兼容的文件系統。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"他們中以 GFS 爲代表的元數據和數據分離的系統設計能夠有效平衡系統的複雜度,有效解決大規模數據的存儲問題(通常也都是大文件),有更好的可擴展性。這個架構下支持元數據的分佈式存儲的 Colossus 和 WarmStorage 更是具有無限的可擴展能力。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"JuiceFS 作爲後來者,學習了 MooseFS 實現分佈式 POSIX 文件系統的方式,也學習了 Facebook 的 WarmStorage 等元數據和數據徹底分開的思路,希望爲公有云或者私有云等場景下提供最好的分佈式存儲體驗。JuiceFS 通過將數據存儲到對象存儲的方式,有效避免了使用以上分佈式文件系統時的雙層冗餘(塊存儲的冗餘和分佈式系統的多機冗餘)導致的成本過高問題。JuiceFS 還支持所有的公有云,不用擔心某個雲服務鎖定,還能平滑地在公有云或者區之間遷移數據。"}]},{"type":"heading","attrs":{"align":null,"level":2},"content":[{"type":"text","text":"爲開源做好準備,架構再升級"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"藉助對象存儲的幫助,JuiceFS 已經大大降低了分佈式文件系統的複雜度,元數據管理是它最核心的問題。JuiceFS 的 SaaS 使用的元數據引擎,是專爲文件系統打造的數據庫,整個團隊已經積累了豐富的運維經驗,仍然如履薄冰。如果開源的話,讓社區用戶自己運維仍然會是一個大的挑戰和負擔,一旦運維失誤導致數據丟失,後果非常嚴重。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"帶着這個問題,團隊將元數據服務改造爲支持多引擎的插件式架構,可以利用已有的開源數據庫實現元數據存儲。這樣可以更靈活地適應不同場景,根據場景的規模、性能和成本需求,選用不同的元數據實現。這是 JuiceFS 的架構再升級,爲未來的發展翻開新的篇章。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"至於爲什麼選用 Redis 作爲第一個開源存儲引擎,是因爲該引擎:"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":" "}]},{"type":"bulletedlist","content":[{"type":"listitem","attrs":{"listStyle":null},"content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"是全內存的,可以滿足元數據的低延時和高 IOPS 要求;"}]}]},{"type":"listitem","attrs":{"listStyle":null},"content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"支持樂觀事務,能夠滿足文件系統元數據操作的原子性要求;"}]}]},{"type":"listitem","attrs":{"listStyle":null},"content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"有豐富的數據結構,易於實現文件系統的諸多 API;"}]}]},{"type":"listitem","attrs":{"listStyle":null},"content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"有着非常廣泛的社區和成熟的生態,運維 Redis 不會是一個問題;"}]}]},{"type":"listitem","attrs":{"listStyle":null},"content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"在各個雲上都有託管的服務,在雲上使用會更簡單;"}]}]}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":" "}]},{"type":"image","attrs":{"src":"https:\/\/static001.geekbang.org\/infoq\/ff\/ffe83b481c2edd0c3d9513458ab23349.jpeg","alt":null,"title":null,"style":[{"key":"width","value":"75%"},{"key":"bordertype","value":"none"}],"href":null,"fromPaste":true,"pastePass":true}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"未來,團隊還會增加 SQL 數據庫、TiKV 等支持事務的 KV 數據庫支持。"}]},{"type":"heading","attrs":{"align":null,"level":2},"content":[{"type":"text","text":"未來規劃"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"最近幾年,數據庫領域發生了一件有趣的事情:當 NoSQL 數據庫在滿足了數據的快速增長後,它在一致性、訪問便捷性和管理能力方面的不足逐漸顯露,把這些複雜性轉嫁到了業務系統和運維上,開始被人詬病。同時, SQL 數據庫也有了長足的進展,已經能夠滿足現在的數據規模需求,經過全面的對比分析後,大家又在迴歸 SQL 數據庫,曾經的 NoSQL 運動也逐漸顯出頹勢。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"估計類似的事情也會發生在非結構數據領域。對象存儲在媒體文件等場景取得了巨大的成功,但當人們以爲它就是未來的存儲形態,開始推廣到更大範圍時,它犧牲掉的樹形目錄結構、可修改性、元數據性能、一致性等等,變成了一隻只攔路虎,影響它在其他場景的使用效果。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"團隊堅信文件系統是最好的管理非結構化數據的方式,對象存儲只適用於某些簡單場景。分佈式文件系統一直是基礎軟件中難啃的骨頭,JuiceFS 通過對文件系統中元數據和數據的獨立抽象,大大減低了系統複雜度,使得文件系統能夠藉助這些年來對象存儲和分佈式數據庫的進展,管理超大規模的數據。同時,複雜度的降低可以讓更多的開發者參與進來,未來更多的應用也會建立在文件系統接口之上。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"團隊將通過開源社區的相互協作,一方面爲各個應用提供更好的存儲支持,也會在底層存儲引擎和對象存儲上加深協作,一起推動文件存儲的快速發展,打造未來數據生態的堅實底座。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"消息來源:"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"link","attrs":{"href":"https:\/\/mp.weixin.qq.com\/s\/asUFtorMB1pcOwhNvlDyKw","title":null,"type":null},"content":[{"type":"text","text":"https:\/\/mp.weixin.qq.com\/s\/asUFtorMB1pcOwhNvlDyKw"}]}]}]}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章