首頁>技術>

開源地址:www.github.com/juicedata/juicefs

JuiceFS 是什麼

JuiceFS是基於Redis和物件儲存(例如Amazon S3)構建的開源POSIX檔案系統,針對雲本機環境進行了設計和最佳化。透過使用廣泛採用的Redis和S3作為永續性儲存,JuiceFS可以用作無狀態中介軟體,以使許多應用程式輕鬆共享資料。

突出的功能是:

完全相容POSIX:JuiceFS是完全相容POSIX的檔案系統。現有的應用程式可以使用它而無需進行任何更改。請參閱下面的pjdfstest結果。出色的效能:延遲可以低至幾毫秒,並且吞吐量可以擴充套件到幾乎無限。Cloud Native:透過利用雲物件儲存,您可以獨立擴充套件儲存和計算,也就是分解儲存和計算架構。共享:JuiceFS是一個共享檔案儲存,可以被許多客戶端讀取和寫入。全域性檔案鎖:JuiceFS支援BSD鎖(flock)和POSIX記錄鎖(fcntl)。資料壓縮:預設情況下,JuiceFS使用LZ4壓縮所有資料,也可以使用Zstandard。JuiceFS的由來

創始人劉洪清清華碩士畢業,畢業後即加入豆瓣成為早期員工,並研發了國內最早的開源 KV 儲存 Beansdb 和 DPark ( Python clone of Spark );2013 年他加入 Facebook 總部負責 HDFS 方面的研發,2014 年加入 Databricks,幫助 Spark SQL 實現了上百倍的效能提升。

時值 Davies 負責為 Databricks 的儲存層提速,雖然 AWS 已有相關的儲存方案,但問題很多,且遲遲無法解決。於是,他提議,自研新的儲存方案,系統性地解決問題。

不過,在當時的 Databricks,從架構師到管理層,幾乎全部認為風險太大,無人支援 Davies 的提議。Davies 在接受TGO鯤鵬會的採訪時表示說:「當時, CTO (注:Matei Zaharia,Apache Spark 作者)親口對我說:『儲存這不是我們擅長的事情,能不碰儘量不要碰。』」

在 Databricks 否決 Davies 的技術方案後,大概 Matei Zaharia 也沒有想到,這個中國來的工程師頗有「美式英雄主義」精神。他不但沒有放棄,反而用業餘時間單槍匹馬地寫了個原型出來。之後,Davies 回憶道:「我找了一些朋友的公司去試用,發現效果也可以,所以我在想既然有這麼不錯的東西,就不能埋沒它。」

2017 年,Davies 在美國遠端敲定了國內的投資和早期客戶,叫上當時也在創業的蘇銳,共同創立了 Juicedata,並將產品命名為 JuiceFS。

為什麼選擇開源

劉洪清在創業之初,認為 SaaS 可以為使用者提供最佳的體驗,同時可以更快地迭代產品,所以決定優先把 SaaS 做好。經過 4 年的持續迭代和積累,JuiceFS 已經在幾十家科技企業的大資料、AI、容器平臺、歸檔、備份等場景中形成最佳實踐, SaaS 使用量也持續快速增長,並且在過去的 2020 年首次實現了盈虧平衡。他相信找到了可持續發展的模式,有信心保障 JuiceFS 的長期運營。

他也發現閉源的基礎軟體會限制使用者對它的深度理解,不利於它服務更多的人,依靠 SaaS 產品的收入支撐和開源社群的力量,可以讓 JuiceFS 幫助更多的人。

未來發展

最近幾年,資料庫領域發生了一件有趣的事情:當 NoSQL 資料庫在滿足了資料的快速增長後,它在一致性、訪問便捷性和管理能力方面的不足逐漸顯露,把這些複雜性轉嫁到了業務系統和運維上,開始被人詬病。同時, SQL 資料庫也有了長足的進展,已經能夠滿足現在的資料規模需求,經過全面的對比分析後,大家又在迴歸 SQL 資料庫,曾經的 NoSQL 運動也逐漸顯出頹勢。

估計類似的事情也會發生在非結構資料領域。物件儲存在媒體檔案等場景取得了巨大的成功,但當人們以為它就是未來的儲存形態,開始推廣到更大範圍時,它犧牲掉的樹形目錄結構、可修改性、元資料效能、一致性等等,變成了一隻只攔路虎,影響它在其他場景的使用效果。

我們堅信檔案系統是最好的管理非結構化資料的方式,物件儲存只適用於某些簡單場景。分散式檔案系統一直是基礎軟體中難啃的骨頭,JuiceFS 透過對檔案系統中元資料和資料的獨立抽象,大大減低了系統複雜度,使得檔案系統能夠藉助這些年來物件儲存和分散式資料庫的進展,管理超大規模的資料。同時,複雜度的降低可以讓更多的開發者參與進來,未來更多的應用也會建立在檔案系統介面之上。

JuiceFS 將透過開源社群的相互協作,一方面為各個應用提供更好的儲存支援,也會在底層儲存引擎和物件儲存上加深協作,一起推動檔案儲存的快速發展,打造未來資料生態的堅實底座。

15
最新評論
  • BSA-TRITC(10mg/ml) TRITC-BSA 牛血清白蛋白改性標記羅丹明
  • 這款Python 庫 4行程式碼提取圖片中的文字