今天,我們很激動地宣布,將經過 4 年持續迭代和累計幾千萬小時線上考驗的 JuiceFS 開源了!
JuiceFS 是什么
JuiceFS 是為海量資料設計的分布式檔案系統,使用物件存盤來做資料持久化,避免重復造輪子,還能大大降低工程復雜度,讓我們專注解決元資料和訪問協議部分的難題,
JuiceFS 的創新架構更符合云原生的發展趨勢,我們一開始就以 SaaS 的形式將它提供給公有云的客戶,讓客戶分鐘級就可以獲得 PB 級企業檔案存盤服務,同時,我們也和行業領先的物件存盤廠商一起服務私有云客戶,
為什么開源
在創業之初,我們認為 SaaS 可以為用戶提供最佳的體驗,同時讓我們更快地迭代產品,決定優先把 SaaS 做好,經過 4 年的持續迭代和積累,JuiceFS 已經在幾十家科技企業的大資料、AI、容器平臺、歸檔、備份等場景中形成最佳實踐, SaaS 使用量也持續快速增長,并且在過去的 2020 年首次實作了盈虧平衡,我們相信找到了可持續發展的模式,有信心保障 JuiceFS 的長期運營,

我們也發現閉源的基礎軟體會限制使用者對它的深度理解,不利于它服務更多的人,依靠 SaaS 產品的收入支撐和開源社區的力量,我們可以讓 JuiceFS 幫助更多的人,
架構再升級
借助物件存盤的幫助,JuiceFS 已經大大降低了分布式檔案系統的復雜度,元資料管理是它最核心的問題,JuiceFS 的 SaaS 使用的元資料引擎,是專為檔案系統打造的資料庫,我們已經積累了豐富的運維經驗,仍然如履薄冰,如果開源的話,讓社區用戶自己運維仍然會是一個大的挑戰和負擔,一旦運維失誤導致資料丟失,后果非常嚴重,
帶著這個問題,我們將元資料服務改造為支持多引擎的插件式架構,可以利用已有的開源資料庫實作元資料存盤,這樣可以更靈活地適應不同場景,根據場景的規模、性能和成本需求,選用不同的元資料實作,這是 JuiceFS 的架構再升級,為未來的發展翻開新的篇章,
- 我們選用 Redis 作為第一個開源存盤引擎,是因為它:
- 是全記憶體的,可以滿足元資料的低延時和高 IOPS 要求;
- 支持樂觀事務,能夠滿足檔案系統元資料操作的原子性要求;
- 有豐富的資料結構,易于實作檔案系統的諸多 API;
- 有著非常廣泛的社區和成熟的生態,運維 Redis 不會是一個問題;
- 在各個云上都有托管的服務,在云上使用會更簡單;

未來,我們還會增加 SQL 資料庫、TiKV 等支持事務的 KV 資料庫支持,
未來發展
最近幾年,資料庫領域發生了一件有趣的事情:當 NoSQL 資料庫在滿足了資料的快速增長后,它在一致性、訪問便捷性和管理能力方面的不足逐漸顯露,把這些復雜性轉嫁到了業務系統和運維上,開始被人詬病,同時, SQL 資料庫也有了長足的進展,已經能夠滿足現在的資料規模需求,經過全面的對比分析后,大家又在回歸 SQL 資料庫,曾經的 NoSQL 運動也逐漸顯出頹勢,
估計類似的事情也會發生在非結構資料領域,物件存盤在媒體檔案等場景取得了巨大的成功,但當人們以為它就是未來的存盤形態,開始推廣到更大范圍時,它犧牲掉的樹形目錄結構、可修改性、元資料性能、一致性等等,變成了一只只攔路虎,影響它在其他場景的使用效果,
我們堅信檔案系統是最好的管理非結構化資料的方式,物件存盤只適用于某些簡單場景,分布式檔案系統一直是基礎軟體中難啃的骨頭,JuiceFS 通過對檔案系統中元資料和資料的獨立抽象,大大減低了系統復雜度,使得檔案系統能夠借助這些年來物件存盤和分布式資料庫的進展,管理超大規模的資料,同時,復雜度的降低可以讓更多的開發者參與進來,未來更多的應用也會建立在檔案系統介面之上,
我們將通過開源社區的相互協作,一方面為各個應用提供更好的存盤支持,也會在底層存盤引擎和物件存盤上加深協作,一起推動檔案存盤的快速發展,打造未來資料生態的堅實底座,
我們 GitHub 見!
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/248980.html
標籤:其他
