自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

混合存儲架構(gòu)中的數(shù)據(jù)編排

大數(shù)據(jù)
Alluxio 不僅適用于傳統(tǒng) Hadoop 環(huán)境,還可與現(xiàn)代大數(shù)據(jù)生態(tài)系統(tǒng)、云原生應(yīng)用程序的存儲和計算資源無縫集成。在混合云、混合存儲架構(gòu)中,Alluxio 作為數(shù)據(jù)聯(lián)邦橋梁,為自治數(shù)據(jù)系統(tǒng)之間提供數(shù)據(jù)共享的解決方案。

Alluxio 可以作為開源的數(shù)據(jù)編排系統(tǒng)的首選方案,旨在解決現(xiàn)代分布式場景下數(shù)據(jù)訪問效率低下的問題。在存算分離的架構(gòu)下,Alluxio 通過把數(shù)據(jù)緩存在靠近計算的地方,減少數(shù)據(jù)移動和復(fù)制所帶來的開銷,加速數(shù)據(jù)計算。Alluxio 不僅適用于傳統(tǒng) Hadoop 環(huán)境,還可與現(xiàn)代大數(shù)據(jù)生態(tài)系統(tǒng)、云原生應(yīng)用程序的存儲和計算資源無縫集成。在混合云、混合存儲架構(gòu)中,Alluxio 作為數(shù)據(jù)聯(lián)邦橋梁,為自治數(shù)據(jù)系統(tǒng)之間提供數(shù)據(jù)共享的解決方案。Alluxio的解決方案工程師車賽光本次分享的題目是《混合存儲架構(gòu)中的數(shù)據(jù)編排》。

一、數(shù)據(jù)訪問的主要命題

圖片

數(shù)據(jù)訪問的問題貫穿整個計算機系統(tǒng)架構(gòu)的演變歷程。這些問題在不同時代都存在。主要包括以下幾個命題:第一是如何提高數(shù)據(jù)的讀寫性能;第二是通過命名空間實現(xiàn)數(shù)據(jù)的便捷訪問;第三是如何解決數(shù)據(jù)接口的兼容問題;第四是如何管理存儲系統(tǒng)中的數(shù)據(jù)。當(dāng)然,這些命題并不足以涵蓋數(shù)據(jù)訪問的所有方面,因為工程師還需要關(guān)注一系列其他相關(guān)的問題,例如安全、審計、監(jiān)控等等。但這些其他問題并不是數(shù)據(jù)訪問所獨有的,所以我們重點關(guān)注的是前四個命題。

回看計算機系統(tǒng)的發(fā)展歷史,我們大致可以把它劃分為“單臺服務(wù)器“時代、”單一分布式系統(tǒng)“時代、”多系統(tǒng)、多數(shù)據(jù)中心“時代。

在單臺服務(wù)器時代,上述命題在操作系統(tǒng)中或者某些軟件內(nèi)部得到了解決。首先為了提高數(shù)據(jù)的讀寫性能,操作系統(tǒng)使用不同層級的緩存加速 CPU 對數(shù)據(jù)的訪問速率。通過多級緩存可以讓數(shù)據(jù)更加貼近于 CPU,從而避免每次都做磁盤尋址的過程。其次,操作系統(tǒng)文件系統(tǒng)提供統(tǒng)一的命名空間,方便用戶或者應(yīng)用程序去訪問數(shù)據(jù)。然后是接口轉(zhuǎn)換。像 Linux 的虛擬文件系統(tǒng)會提供不同存儲掛載的模式,無論是從用戶態(tài)還是內(nèi)核態(tài)進(jìn)行存儲都要通過虛擬文件系統(tǒng)掛載在 Linux 的存儲系統(tǒng)上,使不同的 NFS 或本地磁盤都能以一致的方式訪問數(shù)據(jù)。因此虛擬文件系統(tǒng)本身就提供了接口轉(zhuǎn)換。最后是數(shù)據(jù)管理,比如數(shù)據(jù)備份、文件系統(tǒng)的日志等功能。

之后,進(jìn)入了以 Hadoop 為代表的單一分布式系統(tǒng)時代。在這個時期,上述命題在單一分布式系統(tǒng)內(nèi)部被解決了。例如,MapReduce 會把任務(wù)根據(jù)數(shù)據(jù)本地性分發(fā)到合適的節(jié)點上執(zhí)行以提高數(shù)據(jù)讀寫效率(數(shù)據(jù)本地性)。當(dāng)單一 NameNode 的壓力過大時,人們把 HDFS 集群進(jìn)行分區(qū)管理,并在上面添加 HDFS RBF 做數(shù)據(jù)文件訪問路由,可以通過 RBF 統(tǒng)一不同 HDFS 集群的命名空間以方便用戶訪問,同時還實現(xiàn)了集群層面的橫向擴(kuò)展和擴(kuò)容。在接口轉(zhuǎn)換方面,當(dāng)用戶需要通過 POSIX 的方式去訪問數(shù)據(jù)時,特別是機器學(xué)習(xí)和應(yīng)用程序需要訪問 HDFS 數(shù)據(jù)時,就需要對文件接口進(jìn)行轉(zhuǎn)換。開源社區(qū)中有許多庫,如 hdfs-fuse,主要用于上述目的。此外,大家熟悉的用于數(shù)據(jù)管理的 distcp,在不同的集群之間遷移數(shù)據(jù)。

從 Hadoop 的出現(xiàn)到當(dāng)下,計算集群越來越多,應(yīng)用場景也越來越豐富。計算框架如 Spark、Presto 等層出不窮。這些新框架的性能更好、功能更多,應(yīng)用場景也更加廣泛。同時,機器學(xué)習(xí)領(lǐng)域的工程實踐比以往任何時候都活躍,應(yīng)用場景也變得更為廣泛,存儲方案也比原來更加豐富和成熟,比如很多企業(yè)都在思考如何把對象存儲用起來、用得更好;很多企業(yè)在同時使用多種類型的存儲系統(tǒng)。多數(shù)據(jù)中心、多云、混合云的架構(gòu)越來越多地被采納。很多企業(yè)的架構(gòu)已經(jīng)邁入了“多系統(tǒng)、多數(shù)據(jù)中心時代”的時代。

不同的場景需要使用不同的計算框架。不同的計算框架能夠在不同的場景中為我們提供不同的備選方案。不同的存儲系統(tǒng)讓我們能夠在容量、性能、成本等方面找到適合自己的平衡點。多數(shù)據(jù)中心、多云、混合云的架構(gòu)為我們進(jìn)一步優(yōu)化服務(wù)的可用性、可靠性、以及成本提供了可能。但是在面對更加豐富的架構(gòu)設(shè)計的選擇的同時,我們也要重新檢視新架構(gòu)下數(shù)據(jù)訪問的 4 個命題。比如,在使用對象存儲的過程中,如何提高對象存儲方案的效率、減少公有云上對象存儲訪問的成本;在混合云場景中,如何處理帶寬限制對數(shù)據(jù)網(wǎng)絡(luò)傳輸?shù)挠绊懖⑻岣邤?shù)據(jù)訪問的并發(fā)量;使用 HDFS 存放熱數(shù)據(jù)、用對象存儲存放冷數(shù)據(jù)的時候,如何使用統(tǒng)一的命名空間去統(tǒng)一訪問數(shù)據(jù),在數(shù)據(jù)的熱度發(fā)生變化的時候,如何對數(shù)據(jù)進(jìn)行管理。

Alluxio 的數(shù)據(jù)編排技術(shù)就是想要幫助用戶在多系統(tǒng)、多數(shù)據(jù)中心的架構(gòu)中解決數(shù)據(jù)訪問的四個命題。因此,當(dāng)企業(yè)在考慮多個數(shù)據(jù)中心、多個云服務(wù)、異構(gòu)存儲的使用、數(shù)據(jù)訪問性能優(yōu)化的時候,我們推薦工程師從上述命題入手去思考數(shù)據(jù)訪問的挑戰(zhàn),然后看一下 Alluxio 是如何解決這些問題和挑戰(zhàn)的。

二、Alluxio 的最佳試用場景

在單數(shù)據(jù)中心或者單區(qū)域的場景中,Alluxio 可以幫助用戶解決一些痛點。例如,在單一 HDFS 集群的場景下,雖然 HDFS 的負(fù)載通常較為平穩(wěn),但在任務(wù)峰值時 NameNode 或 DataNode 可能會承受壓力。在這種情況下,我們可以使用 Alluxio 分流 HDFS 的負(fù)載。另外,若在數(shù)據(jù)中心中使用 Presto 且不存儲數(shù)據(jù),則可以使用 Alluxio 的 SDK 作為 Presto 客戶端緩存,提高 Presto 查詢的性能,減少對象存儲的開銷。

在涉及到多個區(qū)域、多個數(shù)據(jù)中心以及計算框架和存儲集群比較復(fù)雜的情況下,用戶更應(yīng)該考慮使用 Alluxio  解決新的技術(shù)挑戰(zhàn)。

圖左顯示四個區(qū)域,每個區(qū)域表示一個獨立的數(shù)據(jù)中心或云域,它們彼此交互,使用不同的存儲方式,如對象存儲和 HDFS。除了計算框架復(fù)雜之外,存儲也是異構(gòu)的混合模式。在這種多系統(tǒng)、多數(shù)據(jù)中心場景中,用戶痛點主要包括數(shù)據(jù)讀寫性能不高或者不穩(wěn)定、缺乏統(tǒng)一命名空間、缺乏可靠的協(xié)議轉(zhuǎn)換方案等問題。Alluxio 不僅可以解決這些問題,還具有自動數(shù)據(jù)管理特性,幫助用戶跨區(qū)域、跨存儲管理數(shù)據(jù)。

圖片

三、Alluxio 的數(shù)據(jù)緩存,命名空間,接口轉(zhuǎn)換

Alluxio 是如何在上面的場景中解決用戶的痛點的?這里,我們先介紹三個 Alluxio  核心功能。

圖片

1、數(shù)據(jù)緩存

第一個是 Alluxio 提供的數(shù)據(jù)緩存功能。如上面第一張圖,本地數(shù)據(jù)中心和公有云之間的數(shù)據(jù)交互和數(shù)據(jù)訪問需要通過網(wǎng)絡(luò)。數(shù)據(jù)可以選擇存儲在對象存儲或 HDFS 中,并在公有云上部署一些計算集群。在進(jìn)行機器學(xué)習(xí)訓(xùn)練、批處理或即席查詢時,數(shù)據(jù)訪問由于網(wǎng)絡(luò)限制而效率不高。因此,在公有云一側(cè),可以部署 Alluxio 集群緩存數(shù)據(jù)。部署 Alluxio 集群后,整個數(shù)據(jù)流模式發(fā)生了變化:計算在訪問遠(yuǎn)端存儲之前,會先訪問 Alluxio;如果 Alluxio 已經(jīng)緩存了數(shù)據(jù),則可以直接從本地集群中高效訪問數(shù)據(jù),而無需通過網(wǎng)絡(luò)重復(fù)獲取數(shù)據(jù);如果 Alluxio 尚未緩存這些數(shù)據(jù),它將從遠(yuǎn)端存儲拉取并緩存數(shù)據(jù),然后將其交給計算集群處理。當(dāng) Alluxio 緩存數(shù)據(jù)時,不僅可以緩存文件的內(nèi)容,還可以緩存文件的元數(shù)據(jù)信息。元數(shù)據(jù)緩存非常重要,因為它可以有效降低對象存儲的訪問成本、分散 HDFS NameNode 的負(fù)載。

Alluxio 不僅提供集群緩存,還可以提供客戶端 SDK,幫助計算組件進(jìn)行本地緩存??蛻舳司彺姹燃壕彺娓咏蛻舳擞嬎?,所以性能更高。

因此,Alluxio 提供了兩種不同級別的緩存,用戶可以在不同場景中選擇其一或者同時使用兩種緩存。在使用時:

  • Alluxio 可以將數(shù)據(jù)緩存在 MEM、SSD 或 HDD 中,讓用戶根據(jù)實際情況選擇緩存資源。
  • Alluxio 支持緩存中數(shù)據(jù)的生命周期管理,對數(shù)據(jù)的緩存時間進(jìn)行 TTL 設(shè)置
  • Alluxio 支持不同的緩存讀寫類型(穿透寫、異步寫、UFS 直接寫等;緩存讀、UFS 直接讀);用戶可以根據(jù)數(shù)據(jù)類型選擇緩存策略。
  • 整個 Alluxio 資源由用戶配置,用戶可以根據(jù)需要分配機器、節(jié)點和資源,即完全管理緩存資源。在使用公有云的對象存儲時,對象存儲會對讀操作的吞吐量和并發(fā)量限流;但是如果使用 Alluxio 作為對象存儲的緩存,則不存在限流問題。
  • Alluxio 緩存對存儲的訪問完全透明,不需要用戶專門適配 Alluxio,使用非常方便。

2、命名空間

第二個功能是統(tǒng)一命名空間。用戶可以將不同的異構(gòu)存儲掛載到 Alluxio 的命名空間中,并通過統(tǒng)一命名空間訪問這些存儲。比如,用戶同時使用了 HDFS 和 S3,那么他可以把 HDFS 和 S3 掛載到 Alluxio 的命名空間上,用戶可以使用統(tǒng)一的視圖訪問數(shù)據(jù),而不需要在不同數(shù)據(jù)源之間進(jìn)行切換。

此外,Alluxio 還提供了一種有趣的掛載方式,即可以將不同的存儲系統(tǒng)掛載到Alluxio 命名空間的同一目錄下。這種掛載方式稱為 Union Mount,它打破了傳統(tǒng)的“掛載”語義的定義,允許用戶通過一個掛載點訪問多個數(shù)據(jù)源。這種抽象命名空間可以將具體的物理命名空間和應(yīng)用層解耦,從而降低對業(yè)務(wù)的侵入性。本文后面的部分會討論一個使用 Union Mount 的場景。

3、接口轉(zhuǎn)換

第三個功能是接口轉(zhuǎn)換??梢钥吹?,Alluxio 所處的軟件層次位于計算和存儲之間,就像操作系統(tǒng)中的數(shù)據(jù)總線一樣,并向上層提供不同的數(shù)據(jù)訪問接口。換句話說,在該層次中,Alluxio 將計算和存儲進(jìn)行了訪問接口的解耦,無論下面的存儲系統(tǒng)接口如何變化,上面的計算系統(tǒng)都可以使用適合自己的接口去訪問底層的數(shù)據(jù),整個訪問過程是順暢和無感知的。這有什么用處呢?比如,以前的數(shù)據(jù)都保存在 HDFS 中,但是用戶想要對數(shù)據(jù)進(jìn)行備份或者進(jìn)行熱、冷分離。如果引入對象存儲,用戶則需要對 S3 等協(xié)議進(jìn)行適配;如果上層計算通過 Alluxio 去訪問,Alluxio 側(cè)為計算屏蔽了存儲接口的差異,將底層的 HDFS 和 S3 接口都統(tǒng)一成上面的 HDFS 接口進(jìn)行數(shù)據(jù)訪問,也就是說,計算側(cè)不需要進(jìn)行任何改造,仍然可以通過 HDFS 接口訪問 S3 上的數(shù)據(jù)。

抽象存儲系統(tǒng)接口,能夠幫助用戶方便地整合機器學(xué)習(xí)和大數(shù)據(jù)技術(shù)棧。例如,許多訓(xùn)練任務(wù)的數(shù)據(jù)都存儲在 HDFS 或?qū)ο蟠鎯χ?,然?PyTorch 和 TensorFlow 更傾向使用 POSIX 接口去訪問數(shù)據(jù),這種數(shù)據(jù)訪問接口的差異可以通過 Alluxio 來屏蔽。

接口轉(zhuǎn)換配合統(tǒng)一命名空間的使用,可以幫助用戶建立統(tǒng)一的數(shù)據(jù)訪問視圖。例如,一個集團(tuán)公司下屬多個子公司,且子公司的數(shù)據(jù)存放在異構(gòu)存儲系統(tǒng)中。集團(tuán)公司可以搭建一個 Alluxio 服務(wù),把子公司的存儲系統(tǒng)都掛載到集團(tuán)公司的 Alluxio 服務(wù)上,然后使用 Alluxio 的 RESTful 接口為用戶提供文件/對象的 Web 視圖。

四、基于 Alluxio 的數(shù)據(jù)管理

以上是 Alluxio 的幾個核心功能,此外,Alluxio 還提供數(shù)據(jù)管理功能。

圖片

我們看這樣一個場景:由于 HDFS 集群資源非常有限,容量已經(jīng)達(dá)到了瓶頸,所以用戶需要將熱數(shù)據(jù)放在 HDFS 中,將冷數(shù)據(jù)放在對象存儲中,以實現(xiàn)數(shù)據(jù)的冷熱分層。用戶需要對不同的數(shù)據(jù)或者分區(qū)設(shè)置不一樣的策略。例如,對于超過 6 個月的文件,Alluxio 會將其放在對象存儲中,因為這些數(shù)據(jù)已經(jīng)變成冷數(shù)據(jù);對于小于 6個月的文件,Alluxio 會將其放在 HDFS 中。其中,6 個月是用戶自定義的時間(用戶可以定義其他時間閾值作為冷熱數(shù)據(jù)的分界線),有的文件需要根據(jù)文件創(chuàng)建時間決定其冷熱狀態(tài),有的需要根據(jù)文件的名稱來判斷。

一種辦法是用戶編寫和維護(hù)腳本或使用數(shù)據(jù)集成軟件進(jìn)行數(shù)據(jù)遷移。另一種方法是使用 Alluxio。

Alluxio 提供了 Alluxio PDDM 執(zhí)行引擎的功能來幫助用戶管理數(shù)據(jù)。用戶根據(jù)場景和需求,在執(zhí)行引擎上定義一些數(shù)據(jù)管理策略,比如哪些文件需要遷移、遷移的目的地是哪里、原始文件是否刪除等。

策略定義好以后,執(zhí)行引擎就根據(jù)策略去做相應(yīng)的工作了。例如定期掃描目錄樹、拷貝出錯的重試、老文件的刪除等,整個數(shù)據(jù)管理的工作都被執(zhí)行引擎自動化地完成了。

結(jié)合前面提到的 union mount 掛載:因為數(shù)據(jù)從 HDFS 挪到了對象存儲里邊,物理位置發(fā)生了變化,但是由于兩個存儲的數(shù)據(jù)的掛載點都掛載在 Alluxio 的同一個目錄下面,因此用戶應(yīng)用程序如果通過 Alluxio 目錄去訪問數(shù)據(jù)的話,并不會感知到物理位置的變化,這樣就完全避免了由于數(shù)據(jù)在混合存儲下物理位置變化而帶來的改造需求。Alluxio 數(shù)據(jù)管理,將 PDDM 執(zhí)行引擎和 union mount 這兩個功能配合使用,達(dá)到數(shù)據(jù)管理的目的,并且對應(yīng)用是低侵入的。

五、基于 Alluxio 的數(shù)據(jù)聯(lián)邦

圖片

最后談?wù)劵?Alluxio 的數(shù)據(jù)聯(lián)邦場景。許多企業(yè),尤其是正處于數(shù)字化和 IT 化轉(zhuǎn)型過程中的大型企業(yè),會涉及使用多個系統(tǒng)或者多家云服務(wù)的情況。例如,有些集團(tuán)的區(qū)域公司在發(fā)電站周圍建立了較小規(guī)模的數(shù)據(jù)中心進(jìn)行數(shù)據(jù)收集,每個區(qū)域公司有自己的數(shù)據(jù)中心,每個中心有自己的技術(shù)棧;再有,一些大型集團(tuán)的生產(chǎn)部門和銷售部門分布在不同區(qū)域,各部門相對獨立且使用不同的云服務(wù)。這種類型的數(shù)字化過程或者IT 建設(shè)方式的優(yōu)點在于高敏捷度:區(qū)域公司或者部門只需快速解決自己的痛點,并選擇合適的解決方案和服務(wù)即可。但同時,容易導(dǎo)致數(shù)據(jù)孤島的產(chǎn)生。

子公司和各部門自己的數(shù)據(jù)如果能夠安全地、充分地被共享和使用,數(shù)據(jù)的價值則能夠趨于最大化;反之,如果數(shù)據(jù)的共享和使用被數(shù)據(jù)孤島而影響,企業(yè)所擁有的數(shù)據(jù)資產(chǎn)的價值會大打折扣。業(yè)界有很多解決方案來提升數(shù)據(jù)價值,如近幾年比較流行的數(shù)據(jù)網(wǎng)格(data mesh),是一種“從上到下”的解決方案。除此之外,還有其他的方案。

這里,我們討論一種使用 Alluxio 的解決方案。

假設(shè),集團(tuán)想要打通子公司之間或者部門之間的數(shù)據(jù)通路。

首先,集團(tuán)公司建立集中式的數(shù)據(jù)管理平臺。平臺包含操作界面和存儲系統(tǒng)。集團(tuán)公司允許來自子公司的數(shù)據(jù)資產(chǎn)管理人員注冊數(shù)據(jù)資產(chǎn),例如,注冊某子公司擁有哪些存儲系統(tǒng)、哪些目錄、哪些文件等;對于格式化數(shù)據(jù),用戶在數(shù)據(jù)管理平臺中注冊自己的庫、表信息。

然后,數(shù)據(jù)管理平臺根據(jù)用戶提供的數(shù)據(jù)資產(chǎn)注冊信息,通過 Alluxio 和 Meta Store Proxy,把子公司的數(shù)據(jù)資產(chǎn)接入進(jìn)來。具體說來,存儲系統(tǒng)(HDFS、對象存儲、NAS等)掛載到集團(tuán)公司的 Alluxio 上,其他子公司通過 Alluxio 統(tǒng)一訪問這些存儲系統(tǒng)中的數(shù)據(jù);結(jié)構(gòu)化數(shù)據(jù)的元數(shù)據(jù)(庫、表)掛載到 Meta Store Proxy 上,其他子公司通過 Meta Store Proxy 統(tǒng)一訪問這些信息。

最后,用戶訪問數(shù)據(jù)時,如果訪問本部門或公司的數(shù)據(jù),可按照原來的方式進(jìn)行訪問。如果要實現(xiàn)共享數(shù)據(jù)或數(shù)據(jù)的聯(lián)邦查詢、分析或任務(wù)等,則通過集團(tuán)公司的數(shù)據(jù)管理平臺訪問。訪問過程中,代理提供庫表信息,訪問具體文件時,則使用Alluxio。子公司在訪問共享數(shù)據(jù)時,由于通過數(shù)據(jù)管理平臺訪問,所以需要受到集團(tuán)公司對數(shù)據(jù)訪問權(quán)限的控制。此外,由于所有數(shù)據(jù)在同一個平臺中注冊,數(shù)據(jù)的發(fā)現(xiàn)和使用、數(shù)據(jù)資產(chǎn)的管理變?yōu)榧谢姆绞健?/span>

以上就是基于 Alluxio 的數(shù)據(jù)聯(lián)邦場景下的解決方案。

責(zé)任編輯:姜華 來源: DataFunTalk
相關(guān)推薦

2017-06-13 16:03:35

混合云容器編排引擎

2016-06-07 16:43:57

云計算混合云

2015-01-26 12:31:59

混合云云存儲

2017-11-29 08:38:58

存儲陣列

2020-02-17 09:15:12

混合云云存儲

2020-03-25 10:43:37

混合云存儲云計算

2023-07-31 13:49:11

2018-07-18 08:45:09

Redis混合存儲數(shù)據(jù)識別

2018-01-14 16:11:56

混合存儲陣列數(shù)據(jù)遷移

2015-09-15 16:01:40

混合IT私有云IT架構(gòu)

2017-10-17 10:34:16

數(shù)據(jù)中心混合存儲

2018-04-02 09:08:49

混合存儲陣列

2018-04-23 15:14:02

混合云云存儲公有云

2018-07-13 08:45:57

Ceph對象存儲混合云

2020-10-26 07:05:02

大數(shù)據(jù)管道編排編排框架

2020-12-08 10:02:42

混合多云/數(shù)據(jù)保護(hù)/云

2022-09-01 10:10:27

數(shù)據(jù)編排技術(shù)

2023-03-05 20:28:49

數(shù)據(jù)數(shù)據(jù)集架構(gòu)

2017-08-03 17:30:51

IBM存儲IBM存儲

2020-11-16 10:27:38

云計算
點贊
收藏

51CTO技術(shù)棧公眾號