<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          數(shù)據(jù)湖存儲(chǔ)架構(gòu)選型

          共 3676字,需瀏覽 8分鐘

           ·

          2021-04-28 23:42

          作者簡(jiǎn)介
          鄭鍇,花名鐵杰,阿里巴巴高級(jí)技術(shù)專家,Apache Hadoop PMC。深耕分布式系統(tǒng)開發(fā)和開源大數(shù)據(jù)多年,目前專注于在阿里云上研發(fā)業(yè)界領(lǐng)先的 Hadoop/Spark 大數(shù)據(jù)平臺(tái)和數(shù)據(jù)湖解決方案產(chǎn)品。

          本文內(nèi)容來自由阿里云計(jì)算平臺(tái)事業(yè)部與阿里云開發(fā)者社區(qū)聯(lián)合主辦的大數(shù)據(jù)+AI meetup 2020第二站·上海講師鄭鍇的分享《數(shù)據(jù)湖存儲(chǔ)架構(gòu)選型》

          一、數(shù)據(jù)湖是個(gè)潮流

          簡(jiǎn)單來講,數(shù)據(jù)湖的理念就是說從一個(gè)企業(yè)的視角來講,把整個(gè)數(shù)據(jù)集中的統(tǒng)一的存儲(chǔ)在一起,主要通過 BI 和 AI 的手段來計(jì)算分析原始的數(shù)據(jù)。數(shù)據(jù)的類型不光是結(jié)構(gòu)化、半結(jié)構(gòu)化的,還包括音視頻,這樣的一些材料。
          我們?yōu)槭裁匆跀?shù)據(jù)湖來做這樣的一個(gè)轉(zhuǎn)型呢,數(shù)據(jù)湖能夠給我們帶來什么樣的好處呢。
          第一,打破數(shù)據(jù)孤島。就是說原始的數(shù)據(jù)我們先不考慮怎么去處理它、分析它,甚至是說我們先不考慮它到底會(huì)不會(huì)解決很大的業(yè)務(wù)上面的問題,我們先把它放在一起,打破數(shù)據(jù)孤島,為后面的業(yè)務(wù)發(fā)展演化和計(jì)算,可能就提供了很好的一個(gè)機(jī)會(huì)。
          第二,基于統(tǒng)一的、集中的整個(gè)數(shù)據(jù)的收集,可以支持各種各樣的計(jì)算。
          第三,彈性。我們數(shù)據(jù)湖本身是有彈性的,然后支持的計(jì)算也是有彈性的。彈性可能在云上面帶來成本的很大的伸縮性的空間,為我們優(yōu)化存儲(chǔ)和計(jì)算的成本帶來了這樣一個(gè)可能。
          第四,管理。我們把數(shù)據(jù)放在一起,可以提供統(tǒng)一的、集中的這樣一個(gè)管理控制。
          熟悉 Hadoop 整個(gè)生態(tài)的話,過去經(jīng)常會(huì)談到一個(gè)非常大的、非常復(fù)雜的生態(tài)的大圖。那個(gè)圖里面涉及到非常多的組件,結(jié)構(gòu)關(guān)系非常復(fù)雜。而基于數(shù)據(jù)湖的架構(gòu),可以得到大大的簡(jiǎn)化。
          如下圖所示,最下面是數(shù)據(jù)湖本身,基于這樣的一個(gè)數(shù)據(jù)湖存儲(chǔ),我們可以有一個(gè)統(tǒng)一的元數(shù)據(jù)服務(wù),做數(shù)據(jù)湖的創(chuàng)建管理,然后圍繞數(shù)據(jù)湖做數(shù)據(jù)的治理開發(fā),和各種數(shù)據(jù)源的集成打通。但是這個(gè)并不是目的,最主要的作用還是說我們要做計(jì)算。數(shù)據(jù)湖的計(jì)算,簡(jiǎn)單來講就是說我們有各種各樣的開源的 BI 的引擎,或者 AI 的引擎,每個(gè)引擎可能有自己的集群,然后基于數(shù)據(jù)湖來進(jìn)行相應(yīng)的計(jì)算場(chǎng)景的處理。然后滿足我們最上面的基于數(shù)據(jù)湖的各種應(yīng)用,比如說數(shù)據(jù)大屏,數(shù)據(jù)報(bào)表,數(shù)據(jù)挖掘,機(jī)器學(xué)習(xí)。

          二、湖存儲(chǔ)/加速:挑戰(zhàn)很大

          數(shù)據(jù)湖架構(gòu)里面,對(duì)于存儲(chǔ)的挑戰(zhàn)很大。
          第一,最大的一個(gè)因素是數(shù)據(jù)量的問題。按照數(shù)據(jù)湖的理念,我們要把所有的數(shù)據(jù)全部都放在一起,那么在數(shù)據(jù)的規(guī)模上來講是非常大的,數(shù)據(jù)規(guī)模可以膨脹到 PB、EB 級(jí)別。
          第二,文件的規(guī)模。從存儲(chǔ)系統(tǒng)的角度來講,文件的規(guī)模可以說也是非常大,要么就是層次非常深,要么就是非常扁平。扁平就是說一個(gè)目錄下可能會(huì)有幾百萬的文件數(shù),形成這樣一個(gè)超大的目錄。
          第三,成本。我要收集那么多的數(shù)據(jù),我要把全部原始的數(shù)據(jù)放在一起,成本上怎么去優(yōu)化。
          另外一個(gè)挑戰(zhàn)就是說,按照數(shù)據(jù)湖的架構(gòu),它背后的本質(zhì)是存儲(chǔ)和計(jì)算分離。現(xiàn)在是專業(yè)化的分工,存儲(chǔ)的做存儲(chǔ),計(jì)算的做計(jì)算,這個(gè)帶來非常大的研發(fā)效率的這樣一個(gè)提升。但是分離了之后,怎么滿足計(jì)算的吞吐,怎么滿足計(jì)算對(duì)性能的這樣一個(gè)需求,這也是帶來很大挑戰(zhàn)的一個(gè)原因。
          另外,在數(shù)據(jù)湖的整個(gè)的方案下面,要考慮到計(jì)算場(chǎng)景是非常豐富的,計(jì)算的環(huán)境也是錯(cuò)綜復(fù)雜的。大數(shù)據(jù),我們要支持分析、交互式、實(shí)時(shí)計(jì)算。然后 AI 有自己的各種各樣的引擎來訓(xùn)練。
          然后是計(jì)算的場(chǎng)景,包括 EMR 、ECS 自建、云原生、混合云。這樣的一些環(huán)境可能都會(huì)涉及到,我們?cè)趺刺峁┮粋€(gè)統(tǒng)一、集中的存儲(chǔ)的解決方案,來滿足這樣一個(gè)豐富的計(jì)算場(chǎng)景和環(huán)境。
          假設(shè)我們能夠克服數(shù)據(jù)量上面的挑戰(zhàn),滿足各種計(jì)算的環(huán)境,也能夠提供緩存加速,也能夠滿足存儲(chǔ)的這樣一個(gè)性能。現(xiàn)在架構(gòu)師決定了我們要做數(shù)據(jù)遷移,實(shí)施層面的挑戰(zhàn)是什么。我們要做大量數(shù)據(jù)的遷移,之后要做正確性的比對(duì)。另外,比如說, Hive 數(shù)倉(cāng),Spark 作業(yè),可能上千上萬的作業(yè)我們決定要遷移,遷移了之后要做結(jié)果的比對(duì)。遷移上來之后,可能我過去有一套成熟的治理、運(yùn)維的體系,在新的架構(gòu)下面,我怎么能夠盡量少改,能夠繼續(xù)得到支持。這是實(shí)施層面的挑戰(zhàn)。

          三、完美選項(xiàng)之 checklist

          數(shù)據(jù)湖架構(gòu)下面,從存儲(chǔ)、加速的視角,我們可以看到有這樣一些挑戰(zhàn),那么理想的選型是什么樣子的,要考慮到哪些因素,這里做了一個(gè)總結(jié)。
          • 第一, 基于對(duì)象存儲(chǔ),大規(guī)模存儲(chǔ)能力。
          • 第二,大目錄元數(shù)據(jù)操作能力。
          • 第三,策略靈活的緩存加速能力。
          • 第四,和計(jì)算打通優(yōu)化的能力。
          • 第五,支持?jǐn)?shù)據(jù)湖新型表格存儲(chǔ)的能力。
          • 第六,歸檔/壓縮/安全存儲(chǔ)的能力。
          • 第七,全面的大數(shù)據(jù)+ AI 生態(tài)支持。
          • 第八,強(qiáng)大遷移能力,甚至是無縫遷移能力。
          以上就是作為一個(gè)理想的數(shù)據(jù)湖的存儲(chǔ)、加速方案,最好具備的一個(gè) checklist 。考慮升級(jí)到數(shù)據(jù)湖架構(gòu)的這樣一些架構(gòu)師可以對(duì)照一下這個(gè) checklist ,來做方案的選型。

          四、阿里云上的 JindoFS

          接下來看一下阿里云上面在做的 JindoFS 這樣一個(gè)方案具體是什么樣的情況。簡(jiǎn)單來講我們?cè)谧鋈齻€(gè)事情。
          第一個(gè)事情就是說,我們是基于阿里云 OSS ,就是面向 Hadoop , Spark 和 AI 的生態(tài),做了這樣的一個(gè) SDK ,然后是優(yōu)化版本的。我們知道 Hadoop 是具有 OSS 的支持的,我們?yōu)槭裁匆鲆粋€(gè)新的。簡(jiǎn)單來講,就是說我們要做好優(yōu)化。首先,我們要做好元數(shù)據(jù)操作的優(yōu)化,特別是對(duì)于大目錄要做好優(yōu)化。另外一個(gè)就是 Rename 優(yōu)化。我們知道對(duì)象存儲(chǔ)一個(gè)關(guān)鍵的元數(shù)據(jù)操作就是目錄的 rename 操作,它是一個(gè)非常大的挑戰(zhàn),這是對(duì)象存儲(chǔ)的本質(zhì)決定的。因?yàn)閷?duì)象存儲(chǔ)不是文件系統(tǒng),它其實(shí)沒有目錄的概念,它的目錄完全是模擬出來的。也就是說,你對(duì)一個(gè)目錄進(jìn)行操作,就必須要對(duì)成千上萬個(gè)對(duì)象相應(yīng)的進(jìn)行操作來模擬。甚至是說,在一些計(jì)算場(chǎng)景里面,是不是能夠做到跳過 rename 。另外一個(gè)是讀寫 IO 優(yōu)化,能不能夠充分的利用好對(duì)象存儲(chǔ)帶來的水平擴(kuò)展的這樣一個(gè)能力,來做好lO的優(yōu)化。最后, OSS 的多版本,或者 OSS 的歸檔,我們是不是能夠支持。以上是我們第一個(gè)層面的工作。
          第二個(gè)事情是為 OSS 存儲(chǔ)提供一個(gè)緩存加速的分布式系統(tǒng)。首先是數(shù)據(jù)的一致性,包括元數(shù)據(jù)的一致性和緩存數(shù)據(jù)的一致性。然后是磁盤緩存,包括寫時(shí)緩存,讀時(shí)緩存,以及磁盤的負(fù)載均衡。最后是水位清理,包括緩存塊 LRU 淘汰。
          第三個(gè)事情是說,我們也打造了一個(gè)基于 OSS 的存儲(chǔ)擴(kuò)展的系統(tǒng)。首先是管理元數(shù)據(jù),包括內(nèi)存緩存,細(xì)粒度鎖。其次是文件數(shù)據(jù)分塊存放, OSS 1備份,緩存1備份。然后是性能優(yōu)化,元數(shù)據(jù)操作普遍 > HDFS ,緩存讀 + OSS 讀 > HDFS 。最后是高擴(kuò)展,基于 OSS 的大規(guī)模水平擴(kuò)展。
          下面對(duì)照之前提到的 checklist ,看一下 JindoFS 的支持情況。
          • 第一,基于對(duì)象存儲(chǔ),大規(guī)模存儲(chǔ)能力。支持,基于阿里云對(duì)象存儲(chǔ) OSS , OSS 支持 EB 級(jí)海量存儲(chǔ)。

          • 第二,大目錄元數(shù)據(jù)操作能力。支持,JindoFS 在超大目錄數(shù)據(jù)加載、檢索、統(tǒng)計(jì)、rename 上具有幾倍的性能優(yōu)勢(shì)。

          • 第三, 緩存加速的能力。支持,JindoFS 支持在大數(shù)據(jù)分析場(chǎng)景、交互式查詢場(chǎng)、機(jī)器學(xué)習(xí)訓(xùn)練 場(chǎng)景和云原生應(yīng)用場(chǎng)景提供策略靈活的分布式緩存加速能力;緩存加速的性能提升大于 50% 的效果優(yōu)于開源方案。

          • 第四,和計(jì)算打通優(yōu)化的能力。支持,和 JindoFS co-design 的 JindoTable 提供對(duì)數(shù)倉(cāng)表的緩存、計(jì)算加速、治理優(yōu)化和歸檔存儲(chǔ)支持。

          • 第五,支持?jǐn)?shù)據(jù)湖新型表格存儲(chǔ)的能力。支持,JindoFS 提供 Delta 、Hudi 和 Iceberg 所需要的存儲(chǔ)接口和事務(wù)支持語(yǔ)義,并支持 Flink 實(shí)時(shí)入湖。

          • 第六,歸檔/壓縮/安全存儲(chǔ)的能力。支持, JindoFS 在目錄、表、分區(qū)級(jí)別支持 OSS 歸檔;提供透明壓縮;支持 AK 免密保護(hù),Ranger 授權(quán)和審計(jì)擴(kuò)展功能。

          • 第七,全面的大數(shù)據(jù)+ AI 生態(tài)支持。支持,JindoFS 全面兼容和支持開源生態(tài),提供:Hadoop JindoFS SDK;Jindo Job Committer ; POSIX fuse 支持 JindoFuse ;TensorFlow FileSystem ;Flink connector ;Kite SDK 。

          • 第八,強(qiáng)大遷移能力甚至是無縫遷移的能力。部分支持,提供優(yōu)化的 JindoDistCp 工具,支持 Hadoop 數(shù)據(jù)源導(dǎo)入。
          嘗鮮!Flink1.12.2+Hudi0.9.0集成開發(fā)

          實(shí)操 | Flink1.12.1通過Table API / Flink SQL讀取HBase2.4.0

          一萬五千字詳解HTTP協(xié)議
          瀏覽 61
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          評(píng)論
          圖片
          表情
          推薦
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  波多野吉衣AV在线 | caobibi99 | 小h片网站 | 又色又爽的网站 | 欧美大屌在线观看 |