Fluid是一個開源的Kubernetes原生的分布式資料集編排和加速引擎,主要服務於雲原生情境下的資料密集型應用,例如巨量資料應用、AI應用等。本文介紹資料加速的核心功能和重要概念。
Fluid功能介紹
Fluid通過定義資料集(Dataset)和資料運行時引擎(Runtime)資源,實現如下圖所示的功能。
資料集抽象原生支援:將資料密集型應用所需基礎支撐能力功能化,實現資料高效訪問並降低多維管理成本。
可擴充的資料引擎外掛程式:提供統一的提供者,方便接入第三方儲存,通過不同的Runtime實現資料操作。
自動化的資料操作:提供多種操作模式,與自動化營運體系相結合。
資料彈性與調度:將資料緩衝技術和彈性擴縮容、資料親和性調度能力相結合,提高資料訪問效能。
運行時平台無關:支援原生、邊緣、Serverless Kubernetes叢集、Kubernetes多叢集等多樣化環境,適用於混合雲情境。
Fluid重要概念
Dataset:資料集是邏輯上相關的一組資料的集合,會被運算引擎使用。例如,巨量資料的Spark和AI情境的TensorFlow。而這些資料智能的應用會創造工業界的核心價值。Dataset的管理實際上也有多個維度,例如安全性、版本管理和資料加速。
Runtime:實現資料集安全性、版本管理和資料加速等能力的執行引擎,定義了一系列生命週期的介面。可以通過實現這些介面,支援資料集的管理和加速。
AlluxioRuntime:來源於Alluxio社區,是支撐Dataset資料管理和緩衝的執行引擎實現,支援PVC,Ceph,CPFS加速,有效支援混合雲情境。
JuiceFSRuntime: 基於JuiceFS的分布式緩衝加速引擎,支援情境化的資料緩衝和加速能力。關於JuiceFS的更多資訊,請參見JuiceFS簡介。關於如何在Fluid中使用JuiceFS,請參見在Fluid中使用JuiceFS。
JindoRuntime:來源於阿里雲EMR團隊JindoFS,是基於C++實現的支撐Dataset資料管理和緩衝的執行引擎,可支援OSSObject Storage Service、OSS-HDFS以及HDFS的資料訪問加速。
EFCRuntime:來源於阿里雲檔案儲存體團隊開發的EFC彈性加速用戶端,可支援NAS和CPFS檔案儲存體的資料訪問加速,擁有熱升級和資料訪問容錯能力。
ThinRuntime:可擴充的通用儲存系統實現,允許使用者以低代碼方式接入各類儲存系統,複用Fluid提供的資料編排管理、運行時平台訪問接入核心能力。
通過ack-fluid使用的分布式緩衝加速引擎AlluxioRuntime、JuiceFSRuntime均為第三方開源社區/商業公司提供的免費開源組件。您可以按需選用並安裝相應的服務端組件和用戶端組件,以此獲得分布式快取服務。
但阿里雲不承擔第三方組件相關的穩定性、服務限制與安全合規等責任。您應及時關注對應第三方開源社區或商業公司的官網、代碼託管平台的版本更新動態並仔細閱讀及遵守相應的開源協議,自行承擔因第三方組件導致的應用側程式開發、維護、故障與安全等潛在風險。
特性 | Alluxio | JuiceFS | Jindo | EFC |
底層儲存類型 | PVC、Ceph、HDFS、CPFS、NFS和OSS等 | JuiceFS | OSS、OSS-HDFS、PVC | NAS、CPFS |
支援方式 | 開源社區 | 開源社區 | 阿里雲產品 | 阿里雲產品 |