Alluxio數(shù)據(jù)編排技術
Alluxio 是世界上第一個面向基于云的數(shù)據(jù)分析和人工智能的開源的數(shù)據(jù)編排技術。 它為數(shù)據(jù)驅動型應用和存儲系統(tǒng)構建了橋梁, 將數(shù)據(jù)從存儲層移動到距離數(shù)據(jù)驅動型應用更近的位置從而能夠更容易被訪問。 這還使得應用程序能夠通過一個公共接口連接到許多存儲系統(tǒng)。 Alluxio內存至上的層次化架構使得數(shù)據(jù)的訪問速度能比現(xiàn)有方案快幾個數(shù)量級。
在大數(shù)據(jù)生態(tài)系統(tǒng)中,Alluxio 位于數(shù)據(jù)驅動框架或應用(如 Apache Spark、Presto、Tensorflow、Apache HBase、Apache Hive 或 Apache Flink)和各種持久化存儲系統(tǒng)(如 Amazon S3、Google Cloud Storage、OpenStack Swift、HDFS、GlusterFS、IBM Cleversafe、EMC ECS、Ceph、NFS 、Minio和 Alibaba OSS)之間。 Alluxio 統(tǒng)一了存儲在這些不同存儲系統(tǒng)中的數(shù)據(jù),為其上層數(shù)據(jù)驅動型應用提供統(tǒng)一的客戶端 API 和全局命名空間。
Alluxio 項目源自 UC Berkeley 的 AMPLab(見論文),在伯克利數(shù)據(jù)分析棧 (Berkeley Data Analytics Stack, BDAS) 中扮演數(shù)據(jù)訪問層的角色。 它以 Apache License 2.0 協(xié)議的方式開源。 Alluxio 是發(fā)展最快的開源大數(shù)據(jù)項目之一,已經吸引了超過 300 個組織機構的1200多名貢獻者參與到 Alluxio 的開發(fā)中,包括 阿里巴巴、 Alluxio、 百度、 CMU、 Google、 IBM、 Intel、 南京大學、 Red Hat、 騰訊、 UC Berkeley、 和 Yahoo。
到今天為止,Alluxio 已經在數(shù)百家機構的生產中進行了部署,最大部署運行的集群規(guī)模超過 1500 個節(jié)點。
優(yōu)勢
通過簡化應用程序訪問其數(shù)據(jù)的方式(無論數(shù)據(jù)是什么格式或位置),Alluxio 能夠幫助克服從數(shù)據(jù)中提取信息所面臨的困難。Alluxio 的優(yōu)勢包括:
-
內存速度 I/O:Alluxio 能夠用作分布式共享緩存服務,這樣與 Alluxio 通信的計算應用程序可以透明地緩存頻繁訪問的數(shù)據(jù)(尤其是從遠程位置),以提供內存級 I/O 吞吐率。此外,Alluxio的層次化存儲機制能夠充分利用內存、固態(tài)硬盤或者磁盤,降低具有彈性擴張?zhí)匦缘臄?shù)據(jù)驅動型應用的成本開銷。
-
簡化云存儲和對象存儲接入:與傳統(tǒng)文件系統(tǒng)相比,云存儲系統(tǒng)和對象存儲系統(tǒng)使用不同的語義,這些語義對性能的影響也不同于傳統(tǒng)文件系統(tǒng)。在云存儲和對象存儲系統(tǒng)上進行常見的文件系統(tǒng)操作(如列出目錄和重命名)通常會導致顯著的性能開銷。當訪問云存儲中的數(shù)據(jù)時,應用程序沒有節(jié)點級數(shù)據(jù)本地性或跨應用程序緩存。將 Alluxio 與云存儲或對象存儲一起部署可以緩解這些問題,因為這樣將從 Alluxio 中檢索讀取數(shù)據(jù),而不是從底層云存儲或對象存儲中檢索讀取。
-
簡化數(shù)據(jù)管理:Alluxio 提供對多數(shù)據(jù)源的單點訪問。除了連接不同類型的數(shù)據(jù)源之外,Alluxio 還允許用戶同時連接同一存儲系統(tǒng)的不同版本,如多個版本的 HDFS,并且無需復雜的系統(tǒng)配置和管理。
-
應用程序部署簡易:Alluxio 管理應用程序和文件或對象存儲之間的通信,將應用程序的數(shù)據(jù)訪問請求轉換為底層存儲接口的請求。Alluxio 與 Hadoop 生態(tài)系統(tǒng)兼容,現(xiàn)有的數(shù)據(jù)分析應用程序,如 Spark 和 MapReduce 程序,無需更改任何代碼就能在 Alluxio 上運行。
技術創(chuàng)新
Alluxio 將三個關鍵領域的創(chuàng)新結合在一起,提供了一套獨特的功能。
- 全局命名空間:Alluxio 能夠對多個獨立存儲系統(tǒng)提供單點訪問,無論這些存儲系統(tǒng)的物理位置在何處。這提供了所有數(shù)據(jù)源的統(tǒng)一視圖和應用程序的標準接口。有關詳細信息,請參閱統(tǒng)一命名空間文檔。
- 智能多層級緩存:Alluxio 集群能夠充當?shù)讓哟鎯ο到y(tǒng)中數(shù)據(jù)的讀寫緩存??膳渲米詣觾?yōu)化數(shù)據(jù)放置策略,以實現(xiàn)跨內存和磁盤(SSD/HDD)的性能和可靠性。緩存對用戶是透明的,使用緩沖來保持與持久存儲的一致性。有關詳細信息,請參閱 緩存功能文檔。
- 服務器端 API 翻譯轉換:Alluxio支持工業(yè)界場景的API接口,例如HDFS API, S3 API, FUSE API, REST API。它能夠透明地從標準客戶端接口轉換到任何存儲接口。Alluxio 負責管理應用程序和文件或對象存儲之間的通信,從而消除了對復雜系統(tǒng)進行配置和管理的需求。文件數(shù)據(jù)可以看起來像對象數(shù)據(jù),反之亦然。
快速上手指南
如果打算快速地搭建 Alluxio 并運行,請閱讀快速上手指南頁面,該頁面描述了如何部署 Alluxio 并在本地環(huán)境下運行示例。
下載
你可以從 Alluxio 下載頁面獲取已發(fā)布版本。 每個Alluxio發(fā)布版本都提供了與不同 Hadoop 版本兼容的預編譯好的二進制文件。 從 Master 分支構建 Alluxio頁面解釋了如何從源代碼編譯生成Alluxio項目。 如果你有任何疑問,請聯(lián)系我們用戶郵件列表 或者我們的社區(qū)Slack頻道。
新媒體渠道
如果還想了解更多關于Alluxio的信息,歡迎關注Alluxio新媒體平臺
