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數據管理和緩存的執行引擎,可支持OSS對象存儲、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 |
支持方式 | 開源社區 | 開源社區 | 阿里云產品 | 阿里云產品 |