<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 網(wǎng)絡(luò )與存儲 > 業(yè)界動(dòng)態(tài) > Ozone | 數據湖存儲,“統一”和“融合”哪個(gè)更好?

Ozone | 數據湖存儲,“統一”和“融合”哪個(gè)更好?

作者:落風(fēng)潭,保險IT圈知名自媒體主理人 時(shí)間:2022-07-21 來(lái)源:電子產(chǎn)品世界 收藏

關(guān)于Alluxio的文章讓潭主把注意力轉移到了大數據上。

本文引用地址:http://dyxdggzs.com/article/202207/436489.htm

 

文中提及Cloudera作為Hadoop生態(tài)最后的種子選手,為什么沒(méi)有鼓搗出Alluxio這樣的東西?

 

沒(méi)想到在學(xué)習Cloudera的過(guò)程中無(wú)意間發(fā)現了,解答了潭主之前的疑問(wèn)。

 

技術(shù)體系繁雜,存在著(zhù)很多“平行宇宙”。今天,潭主跟大家分享最近學(xué)習的一個(gè)技術(shù),。

 

是哪路神

 

OzoneApache軟件基金會(huì )下的一個(gè)項目,其定位是:一個(gè)用戶(hù)大數據分析和云原生應用、具有高擴展性、強一致性的分布式Key-Value對象存儲。

 

看過(guò)潭主文章的讀者自然對Alluxio有所了解,在使用功能上,OzoneAlluxio類(lèi)似,也兼容支持S3HDFSAPI。

 

因為上述特性,Ozone可以“透明”地支持現有Hadoop生態(tài)中如SparkHive等上層計算框架,無(wú)需修改應用代碼。

 

套路是一樣的,把自己“模仿”成高手的樣子。當然,簡(jiǎn)單模仿肯定不行,還要有屬于自己的“創(chuàng )新”。

 

潭主的“窮人”思維

 

傳統保險行業(yè)受限于業(yè)務(wù)模式,存在很多的數據“孤島”,每個(gè)島的容量也有限。

 

不過(guò),這幾年非結構化業(yè)務(wù)數據增長(cháng)迅猛,之前引入的HCP對象存儲已經(jīng)是上十億的量級。

 

雖然之前也上線(xiàn)了一些大數據項目,但據潭主所知,Hadoop集群的規模其實(shí)并不大,以至于寫(xiě)此文之前,潭主受限于自身經(jīng)驗對Hadoop其實(shí)并無(wú)痛感。

 

即便是互聯(lián)網(wǎng)行業(yè),十多年前可能也無(wú)法預料數據膨脹得如此之快,以至于Hadoop很快就變得力不從心。

 

互聯(lián)網(wǎng)的“富人”思維

 

這兩年,數據湖這個(gè)詞很火。

 

大家對于數據湖的理解也不盡相同,有人認為Hadoop是數據湖,而有人認為S3也是數據湖。

 

換個(gè)角度,從線(xiàn)上公有云的視角看,S3是主流存儲,而到了線(xiàn)下的私有云,Hadoop似乎更有優(yōu)勢一些,這種情況無(wú)形中對于混合云的一統江湖形成了存儲上的障礙。

 

因此,面向未來(lái)的數據湖技術(shù)應該是向上兼容多種主流計算框架,平滑支撐多種應用場(chǎng)景,向下對接不同的存儲引擎,實(shí)現數據訪(fǎng)問(wèn)接口的標準化。

 

從最近了解的技術(shù)發(fā)展趨勢看,這種承上啟下、統一標準的存儲技術(shù)將成為下一代數據湖的顯著(zhù)特征。

 

況且對于互聯(lián)網(wǎng),HDFS系統的確在集群擴展性、支持應用標準上的確存在一些局限性。

 

為了解決HDFS存在的問(wèn)題,開(kāi)源社區這些年也沒(méi)閑著(zhù),嘗試了不少解決方案。 

image.png

 

HDFS的“聯(lián)邦”時(shí)代

 

最初Hadoop集群只允許有一個(gè)命名空間(Namespace),且只能被一個(gè)NameNode管理。

 

雖然可以通過(guò)添加底層DataNode節點(diǎn)實(shí)現集群橫向擴展,增加存儲空間,但由于所有的Block元數據都駐留在NameNode內存中,在集群規模增大時(shí),NameNode很容易成為瓶頸,直接限制了HDFS的文件、目錄和數據塊的數量。

 

Hadoop 社區為了解決 HDFS 橫向擴展的問(wèn)題,做了兩個(gè)聯(lián)邦方案(如上圖):

·       NNFNameNode Federation

·       RBFRouter Based Federation

 

早期的NNF方案中,集群引入了多個(gè)NameNode,分別管理不同的Namespace和對應的BlockPool,多個(gè)NameNode可以共享Hadoop集群中的DataNode。

 

雖然解決了Namespace的擴展問(wèn)題,但需要對HDFSClient進(jìn)行“靜態(tài)”配置掛載,還要結合ViewFS才能實(shí)現統一入口。

 

而在RBF的聯(lián)邦方案中,嘗試把“掛載表”從Client中抽離出來(lái)形成了Router,雖然Hadoop集群是獨立的,但同時(shí)又增加了一個(gè)“State Store”組件,架構變得更復雜。

 

局部改進(jìn)的聯(lián)邦方案對于面向未來(lái)的大數據存儲而言,治標不治本。

 

青出于藍而勝于藍

 

有時(shí)候,最好的優(yōu)化就是另起爐灶。

 

畢竟Hadoop技術(shù)已經(jīng)很多年了,當下的軟硬件環(huán)境已與當初大不相同,系統重構也在情理之中。

 

與其等別人來(lái)革HDFS的命,不如自我革命。目前看,Ozone的確給用戶(hù)提供了一個(gè)新選擇。

 

就好像CDHHDP最終融合成了CDP一樣,HDFSS3也可以融合成Ozone。

 

總之,Ozone站在Hadoop這個(gè)巨人的肩膀上,設計之初就是為了替換掉HDFS,青出于藍而勝于藍。

 

潭主家的“存儲一哥”

 

早年間接觸過(guò)Ceph,也搞過(guò)HCPHitachi Content Platform)對象存儲,這些經(jīng)驗對潭主理解Ozone大有裨益。

 

特意查了一下自家的HCP,發(fā)現影像文件已經(jīng)20多億個(gè)了,存儲容量也小2PB。不過(guò)查詢(xún)過(guò)程中明顯感覺(jué)到元數據響應緩慢,估計快該擴容了。

 

言歸正傳,再來(lái)說(shuō)說(shuō)Ozone的核心概念:

·       Volume:通常表示用戶(hù)、業(yè)務(wù),與HCP中的租戶(hù)(Tenant)對應

·       Bucket:通常表示業(yè)務(wù)、應用,與HCP中的命名空間(Namespace)對應

·       Key:對應的就是實(shí)際的Object

 

Ozone的存儲路徑為/Volume/Bucket/Key,一個(gè)業(yè)務(wù)可以對應一個(gè)或多個(gè)Volume,每個(gè)Volume可以包含多個(gè)Bucket,在訪(fǎng)問(wèn)方式上Ozone實(shí)現了ofso3fs的適配和協(xié)議封裝。

 

值得注意的是,HCP里面有文件夾的概念,就是說(shuō)對象文件有層次結構,但Ozone在設計上是扁平的,目錄是一個(gè)“偽目錄”概念,是文件名的一部分,統一作為Key而存在。 

image.png

 

Ozone的體系架構

 

介紹完了概念,再看看Ozone的體系架構(如上圖):

·       OMOzone Manager:通過(guò)RocksDBK-V方式管理Namespace,Raft協(xié)議保持高可用,Shardig實(shí)現水平擴展

·       SCMStorage Container Manager:用于Ozone集群管理,負責分配Block,跟蹤SC復制狀態(tài)

·       DataNode:負責向SCM匯報SC狀態(tài)

·       SCStorage ContainerOzone的實(shí)際存儲單元

·       Recon Server:用于監控Ozone集群

 

Ozone做了架構優(yōu)化,上層實(shí)現職能分離,OM負責管理Namespace,SCM負責管理Storage Containers。

 

下層實(shí)現了一個(gè)叫Hadoop Distributed Data StoreHDDS)的高可用、塊存儲層。

 

Ozone中的一個(gè)DataNode包括多個(gè)Storage Container,每個(gè)SC的容量(默認5GB,可配置)遠大于HadoopBlock容量(默認128MB),這種設計使得每個(gè)DN發(fā)送給SCMContainer-Report系統壓力要遠遠小于傳統Hadoop集群的Block-Report。

 

Storage Container作為Ozone的基礎存儲和復制單元,類(lèi)似于一個(gè)“超級塊”,通過(guò)其內置RocksDBkey記錄BlockID,Value記錄object的文件名、偏移量和長(cháng)度),實(shí)現對小文件的塊管理。 

image.png

 

Ozone,新一代的“融合”

 

在網(wǎng)上看到之前某互聯(lián)網(wǎng)大廠(chǎng)專(zhuān)家的分享,現網(wǎng)同時(shí)在使用HDFSCeph。

 

HDFS主要用于大數據分析場(chǎng)景,但機器學(xué)習場(chǎng)景中受限于大量小文件而使用Ceph。

 

不過(guò),在介紹OzoneRoadmap時(shí)說(shuō)未來(lái)會(huì )在存儲層引入Ozone。

 

開(kāi)源世界,風(fēng)起云涌,前腳剛看過(guò)Alluxio,覺(jué)得眼前一亮,這會(huì )兒再看Ozone,更是金光閃閃。

 

Ozone既是Hadoop的優(yōu)化升級版,又能“分層”解決海量小文件的對象存儲,再加上對云原生CSI的支持,讓其成為了新一代“融合”存儲。

 

Ozone這股新勢力著(zhù)實(shí)讓潭主不敢小覷,希望未來(lái)能有機會(huì )做些實(shí)踐。

 

存儲圈,數據不息,折騰不止!

 




關(guān)鍵詞: Ozone 數據湖存儲

評論


技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>