數(shù)據(jù)中臺(tái)之結(jié)構(gòu)化大數(shù)據(jù)存儲(chǔ)設(shè)計(jì)_第1頁(yè)
數(shù)據(jù)中臺(tái)之結(jié)構(gòu)化大數(shù)據(jù)存儲(chǔ)設(shè)計(jì)_第2頁(yè)
數(shù)據(jù)中臺(tái)之結(jié)構(gòu)化大數(shù)據(jù)存儲(chǔ)設(shè)計(jì)_第3頁(yè)
數(shù)據(jù)中臺(tái)之結(jié)構(gòu)化大數(shù)據(jù)存儲(chǔ)設(shè)計(jì)_第4頁(yè)
數(shù)據(jù)中臺(tái)之結(jié)構(gòu)化大數(shù)據(jù)存儲(chǔ)設(shè)計(jì)_第5頁(yè)
已閱讀5頁(yè),還剩3頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

(完整)數(shù)據(jù)中臺(tái)之構(gòu)造化大數(shù)據(jù)存儲(chǔ)設(shè)計(jì)(完整)數(shù)據(jù)中臺(tái)之構(gòu)造化大數(shù)據(jù)存儲(chǔ)設(shè)計(jì)數(shù)據(jù)中臺(tái)之構(gòu)造化大數(shù)據(jù)存儲(chǔ)設(shè)計(jì)一.前言任何應(yīng)用系統(tǒng)都離不開對(duì)數(shù)據(jù)的處理,數(shù)據(jù)也是驅(qū)動(dòng)業(yè)務(wù)創(chuàng)以及向智能化進(jìn)展最核心的東西。這也是為何目前大多數(shù)企業(yè)都在構(gòu)建數(shù)據(jù)中臺(tái)的緣由,數(shù)據(jù)處理的技術(shù)已經(jīng)是核心競(jìng)爭(zhēng)力。在一個(gè)完備的技術(shù)架構(gòu)中,通常也會(huì)由應(yīng)用系統(tǒng)以及數(shù)據(jù)系統(tǒng)構(gòu)成。應(yīng)用系統(tǒng)負(fù)責(zé)處理業(yè)務(wù)規(guī)律,而數(shù)據(jù)系統(tǒng)負(fù)責(zé)處理數(shù)據(jù)。傳統(tǒng)的數(shù)據(jù)系統(tǒng)就是所謂的『大數(shù)據(jù)』技術(shù),這是一個(gè)被制造出來(lái)的名詞,代表著的技術(shù)門檻。近幾年得益于產(chǎn)業(yè)的進(jìn)展、業(yè)務(wù)的創(chuàng)、數(shù)據(jù)的爆發(fā)式增長(zhǎng)以及開源技術(shù)的廣泛應(yīng)用,經(jīng)受多年的磨煉以及在寬放開發(fā)者的共建下,大數(shù)據(jù)的核心組件和技術(shù)架構(gòu)日趨成熟。特別是隨著云的進(jìn)展,讓『大數(shù)據(jù)』技術(shù)的使用門檻進(jìn)一步降低,越來(lái)越多的業(yè)務(wù)創(chuàng)會(huì)由數(shù)據(jù)來(lái)驅(qū)動(dòng)完成。『大數(shù)據(jù)』技術(shù)會(huì)逐步向輕量化和智能化方向進(jìn)展,最終也會(huì)成為一個(gè)研發(fā)工程師的必備技能之一,而這個(gè)過(guò)程必需是由云計(jì)算技術(shù)來(lái)驅(qū)動(dòng)以及在云平臺(tái)之上才能完成。應(yīng)用系統(tǒng)和數(shù)據(jù)系統(tǒng)也會(huì)漸漸融合,數(shù)據(jù)的應(yīng)用系統(tǒng),在與你交互的同時(shí),會(huì)漸漸的生疏你.數(shù)據(jù)系統(tǒng)的進(jìn)展驅(qū)動(dòng)了業(yè)務(wù)系統(tǒng)的進(jìn)展,從業(yè)務(wù)化到規(guī)?;俚街悄芑?。業(yè)務(wù)化:完成最根本的業(yè)務(wù)交互規(guī)律。規(guī)?;悍植际胶痛髷?shù)據(jù)技術(shù)的應(yīng)用,滿足業(yè)務(wù)規(guī)模增長(zhǎng)的需求以及數(shù)據(jù)的積存.智能化:人工智能技術(shù)的應(yīng)用,挖掘數(shù)據(jù)的價(jià)值,驅(qū)動(dòng)業(yè)務(wù)的創(chuàng)。向規(guī)?;椭悄芑倪M(jìn)展,仍舊存在肯定的技術(shù)門檻。成熟的開源技術(shù)的應(yīng)用能讓一個(gè)大數(shù)據(jù)系統(tǒng)的搭建變得簡(jiǎn)潔,同時(shí)大數(shù)據(jù)架構(gòu)也變得很普遍,例如廣為人知的Lambda架構(gòu),肯定程度上降低了技術(shù)的入門門分布式技術(shù)及簡(jiǎn)單環(huán)境下定位問(wèn)題的力量,仍舊具備很高的技術(shù)門檻.數(shù)據(jù)系統(tǒng)的核心組件包含數(shù)據(jù)管道、分布式存儲(chǔ)和分布式計(jì)算,數(shù)據(jù)系統(tǒng)架構(gòu)的搭建會(huì)是使用這些組件的組合拼裝。每個(gè)組件各司其職,組件與組件之間進(jìn)展上下游的數(shù)據(jù)交換,而不同模塊的選擇和組合是架構(gòu)師面臨的最大的挑戰(zhàn)。本篇文章主要面對(duì)數(shù)據(jù)系統(tǒng)的研發(fā)工程師和架構(gòu)師,我們會(huì)首先對(duì)數(shù)據(jù)系統(tǒng)核心組件進(jìn)展拆解,介紹每個(gè)組件下對(duì)應(yīng)的開源組件以及云上產(chǎn)品.之后會(huì)深入剖析數(shù)據(jù)系統(tǒng)中構(gòu)造化數(shù)據(jù)的存儲(chǔ)技術(shù),介紹阿里云Tablestore二.數(shù)據(jù)系統(tǒng)架構(gòu)核心組件一個(gè)數(shù)據(jù)應(yīng)用系統(tǒng)中會(huì)包含的幾大核心組件,以及組件間的數(shù)據(jù)流關(guān)系。應(yīng)用系統(tǒng)主要實(shí)現(xiàn)了應(yīng)用的主要業(yè)務(wù)規(guī)律,處理業(yè)務(wù)數(shù)據(jù)或應(yīng)用元數(shù)據(jù)等。數(shù)據(jù)系統(tǒng)主要對(duì)業(yè)務(wù)數(shù)據(jù)及其他數(shù)據(jù)進(jìn)展匯總和處理,對(duì)接BI、推舉或風(fēng)控等系統(tǒng)。整個(gè)系統(tǒng)架構(gòu)中,會(huì)包含以下比較常見(jiàn)的幾大核心組件:關(guān)系數(shù)據(jù)庫(kù):用于主業(yè)務(wù)數(shù)據(jù)存儲(chǔ),供給事務(wù)型數(shù)據(jù)處理,是應(yīng)用系統(tǒng)的核心數(shù)據(jù)存儲(chǔ)。高速緩存:對(duì)簡(jiǎn)單或操作代價(jià)昂貴的結(jié)果進(jìn)展緩存,加速訪問(wèn).搜尋引擎:供給簡(jiǎn)單條件查詢和全文檢索.隊(duì)列:用于將數(shù)據(jù)處理流程異步化,連接上下游對(duì)數(shù)據(jù)進(jìn)展實(shí)時(shí)交換。異構(gòu)數(shù)據(jù)存儲(chǔ)之間進(jìn)展上下游對(duì)接的核心組件,例如數(shù)據(jù)庫(kù)系統(tǒng)與緩存系統(tǒng)或搜尋系統(tǒng)間的數(shù)據(jù)對(duì)接。也用于數(shù)據(jù)的實(shí)時(shí)提取,在線存儲(chǔ)到離線存儲(chǔ)的實(shí)時(shí)歸檔。非構(gòu)造化大數(shù)據(jù)存儲(chǔ):用于海量圖片或視頻等非構(gòu)造化數(shù)據(jù)的存儲(chǔ),同時(shí)支持在線查詢或離線計(jì)算的數(shù)據(jù)訪問(wèn)需求。線到離線的連接,特征是能支持高吞吐數(shù)據(jù)寫入以及大規(guī)模數(shù)據(jù)存儲(chǔ),存儲(chǔ)和查詢性能可線性擴(kuò)展。展的需求,也可存儲(chǔ)面對(duì)離線分析的實(shí)時(shí)寫入數(shù)據(jù).實(shí)時(shí)分析的力量.流計(jì)算:對(duì)非構(gòu)造化數(shù)據(jù)和構(gòu)造化數(shù)據(jù)進(jìn)展流式數(shù)據(jù)分析,低延遲產(chǎn)出實(shí)時(shí)視圖。求,供給不同的數(shù)據(jù)模型抽象,以及面對(duì)在線和離線的不同的優(yōu)化偏向.我們來(lái)看下下面這張具體比照表:派生數(shù)據(jù)體系在數(shù)據(jù)系統(tǒng)架構(gòu)中,我們可以看到會(huì)存在多套存儲(chǔ)組件。對(duì)于這些存儲(chǔ)組件中的數(shù)據(jù),有些是來(lái)自應(yīng)用的直寫,有些是來(lái)自其他存儲(chǔ)組件的數(shù)據(jù)復(fù)制.例如業(yè)務(wù)關(guān)系數(shù)據(jù)庫(kù)的數(shù)據(jù)通常是來(lái)自業(yè)務(wù),而高速緩存和搜尋引擎的數(shù)據(jù),通常是來(lái)自業(yè)務(wù)數(shù)據(jù)庫(kù)的數(shù)據(jù)同步與復(fù)制。不同用途的存儲(chǔ)組件有不同類型的上下游數(shù)據(jù)鏈路,我們可以或許將其歸類為主存儲(chǔ)和輔存儲(chǔ)兩類,這兩類存儲(chǔ)有不同的設(shè)計(jì)目標(biāo),主要特征為:主存儲(chǔ):數(shù)據(jù)產(chǎn)生自業(yè)務(wù)或者是計(jì)算,通常為數(shù)據(jù)首先落地的存儲(chǔ)。ACID等事務(wù)特性可能是強(qiáng)需求,供給在線應(yīng)用所需的低延遲業(yè)務(wù)數(shù)據(jù)查詢.輔存儲(chǔ):數(shù)據(jù)主要來(lái)自主存儲(chǔ)的數(shù)據(jù)同步與復(fù)制,輔存儲(chǔ)是主存儲(chǔ)的某個(gè)視圖,通常面對(duì)數(shù)據(jù)查詢、檢索和分析做優(yōu)化。為何會(huì)有主存儲(chǔ)和輔存儲(chǔ)的存在?能不能統(tǒng)一存儲(chǔ)統(tǒng)一讀寫,滿足全部場(chǎng)景的需求呢?目前看還沒(méi)有,存儲(chǔ)引擎的實(shí)現(xiàn)技術(shù)有多種,選擇行存還是列存,選擇B+tree還是LSM—tree,存儲(chǔ)的是不行變數(shù)據(jù)、頻繁更數(shù)據(jù)還是時(shí)間分區(qū)數(shù)據(jù),是為高速隨機(jī)查詢還是高吞吐掃描設(shè)計(jì)等等。數(shù)據(jù)庫(kù)產(chǎn)品目前也是分兩類,TPAP,HTAP索引表數(shù)據(jù)會(huì)隨著主表數(shù)據(jù)而變化,強(qiáng)全都同步并且為某些特定條件組合查詢而優(yōu)化。關(guān)系數(shù)據(jù)庫(kù)與高速緩存和搜尋引擎也是主與輔的關(guān)系,承受滿足最終全都的數(shù)據(jù)同步方式,供給高速查詢和檢索。在線數(shù)據(jù)庫(kù)與數(shù)倉(cāng)也是主與輔的關(guān)系,在線數(shù)據(jù)庫(kù)內(nèi)數(shù)據(jù)集中復(fù)制到數(shù)倉(cāng)來(lái)供給高效的BI挑戰(zhàn)是數(shù)據(jù)如何在主與輔之間進(jìn)展同步與復(fù)制.上圖我們可以看到幾個(gè)常見(jiàn)的數(shù)據(jù)復(fù)制方式:應(yīng)用層多寫這是實(shí)現(xiàn)最簡(jiǎn)潔、依靠最少的一種實(shí)現(xiàn)方式,通常實(shí)行的方式是在應(yīng)用代碼中先向主存儲(chǔ)寫數(shù)據(jù),后向一是很難保證主與輔之間的數(shù)據(jù)全都性,無(wú)法處理數(shù)據(jù)寫入失效問(wèn)題;二是數(shù)據(jù)寫入的消耗積存在應(yīng)用層,加重應(yīng)用層的代碼簡(jiǎn)單度和計(jì)算負(fù)擔(dān),不是一種解耦很好的架構(gòu);三是擴(kuò)展性較差,數(shù)據(jù)同步規(guī)律固化在代碼中,比較難敏捷添加輔存儲(chǔ).異步隊(duì)列復(fù)制這是目前被應(yīng)用比較廣的架構(gòu),應(yīng)用層將派生數(shù)據(jù)的寫入通過(guò)隊(duì)列來(lái)異步化和解耦。這種架構(gòu)下可將主存儲(chǔ)和輔存儲(chǔ)的數(shù)據(jù)寫入都異步化,也可僅將輔存儲(chǔ)的數(shù)據(jù)寫入異步化.第一種方式必需承受主存儲(chǔ)可異步寫入,否則只能實(shí)行其次種方式。而假設(shè)承受其次種方式的話,也會(huì)遇到和上一種『應(yīng)用層多寫』方案類似的問(wèn)題,應(yīng)用層也是多寫,只不過(guò)是寫主存儲(chǔ)與隊(duì)列,隊(duì)列來(lái)解決多個(gè)輔存儲(chǔ)的寫入和擴(kuò)展性問(wèn)題。CDC〔ChangeDataCapture)技術(shù)這種架構(gòu)下數(shù)據(jù)寫入主存儲(chǔ)后會(huì)由主存儲(chǔ)再向輔存儲(chǔ)進(jìn)展同步,對(duì)應(yīng)用層是最友好的,只需要與主存儲(chǔ)打交道。主存儲(chǔ)到輔存儲(chǔ)的數(shù)據(jù)同步,則可以再利用異步隊(duì)列復(fù)制技術(shù)來(lái)做。不過(guò)這種方案對(duì)主存儲(chǔ)的力量有很高的要求,必需要求主存儲(chǔ)能支持CDC技術(shù)。一個(gè)典型的例子就是MySQL+Elasticsearch的組合架構(gòu),ElasticsearchMySQLbinlogbinlogMySQLCDC『派生數(shù)據(jù)體系』是一個(gè)比較重要的技術(shù)架構(gòu)設(shè)計(jì)理念,其中CDC技術(shù)是更好的驅(qū)動(dòng)數(shù)據(jù)流淌的關(guān)鍵手段。具備CDC技術(shù)的存儲(chǔ)組件,才能更好的支撐數(shù)據(jù)派生體系,從而能讓整個(gè)數(shù)據(jù)系統(tǒng)架構(gòu)更加敏捷,降低了數(shù)據(jù)全都性設(shè)計(jì)的簡(jiǎn)單度,從而來(lái)面對(duì)高速迭代設(shè)計(jì)。惋惜的是大多數(shù)存儲(chǔ)組件不具備CDC技術(shù),例如HBaseTablestoreCDC,CDC的章節(jié)會(huì)具體介紹.一個(gè)好的產(chǎn)品,在產(chǎn)品內(nèi)部會(huì)承受派生數(shù)據(jù)架構(gòu)來(lái)不斷擴(kuò)大產(chǎn)品的力量,能將派生的過(guò)程透亮化,內(nèi)部解決數(shù)據(jù)同步、全都性及資源配比問(wèn)題。而現(xiàn)實(shí)中大多數(shù)技術(shù)架構(gòu)承受產(chǎn)品組合的派生架構(gòu),需要自己去治理MySQL+ElasticsearchHBase+Solr大問(wèn)題是,在解決CDC輔存儲(chǔ)與主存儲(chǔ)具備一樣的數(shù)據(jù)寫入力量?存儲(chǔ)組件的選型架構(gòu)師在做架構(gòu)設(shè)計(jì)時(shí),最大的挑戰(zhàn)是如何對(duì)計(jì)算組件和存儲(chǔ)組件進(jìn)展選型和組合,同類的計(jì)算引擎的差異化相對(duì)不大,通常會(huì)優(yōu)先選擇成熟和生態(tài)健全的計(jì)算引擎,例如批量計(jì)算引擎Spark和流計(jì)算引擎FlinkSQL和NoSQLNoSQL下又依據(jù)各類數(shù)據(jù)模型細(xì)分為多類、對(duì)象存儲(chǔ)、文件存儲(chǔ)和高速緩存等不同類別。帶來(lái)存儲(chǔ)選型簡(jiǎn)單度的主要緣由是架構(gòu)師需要綜合考慮數(shù)據(jù)分層、本錢優(yōu)化以及面對(duì)在線和離線的查詢優(yōu)化偏向等各種因素,且當(dāng)前的技術(shù)進(jìn)展還是多樣化的進(jìn)展趨勢(shì),不存在一個(gè)存儲(chǔ)產(chǎn)品能滿足全部場(chǎng)景下的數(shù)據(jù)寫入、存儲(chǔ)、查詢和分析等需求。有一些閱歷可以共享給大家:數(shù)據(jù)模型和查詢語(yǔ)言仍舊是不同數(shù)據(jù)庫(kù)最顯著的區(qū)分,關(guān)系模型和文檔模型是相對(duì)抽象的模型,而類似時(shí)序模型、圖模型和鍵值模型等其他非關(guān)系模型是相對(duì)具象的抽象,假設(shè)場(chǎng)景能匹配到具象模型,那選擇范圍能縮小點(diǎn)。存儲(chǔ)組件通常會(huì)劃分到不同的數(shù)據(jù)分層,選擇面對(duì)規(guī)模、本錢、查詢和分析性能等不同維度的優(yōu)化偏向,選型時(shí)需要考慮清楚對(duì)這局部數(shù)據(jù)存儲(chǔ)所要求的核心指標(biāo).區(qū)分主存儲(chǔ)還是輔存儲(chǔ),對(duì)數(shù)據(jù)復(fù)制關(guān)系要有明確的梳理。(主存儲(chǔ)和輔存儲(chǔ)是什么在下一節(jié)介紹〕未知需求的擴(kuò)展性更重要。另外關(guān)于數(shù)據(jù)存儲(chǔ)架構(gòu),我認(rèn)為最終的趨勢(shì)是:數(shù)據(jù)肯定需要分層數(shù)據(jù)最終的歸屬地肯定是OSS會(huì)由一個(gè)統(tǒng)一的分析引擎來(lái)統(tǒng)一分析的入口,并供給統(tǒng)一的查詢語(yǔ)言構(gòu)造化大數(shù)據(jù)存儲(chǔ)構(gòu)造化大數(shù)據(jù)存儲(chǔ)在數(shù)據(jù)系統(tǒng)中是一個(gè)格外關(guān)鍵的組件,它起的一個(gè)很大的作用是連接『在線』和『離線數(shù)據(jù)分析的結(jié)果集存儲(chǔ)來(lái)直接支持在線查詢或者是數(shù)據(jù)派生。依據(jù)這樣的定位,我們總結(jié)下對(duì)構(gòu)造化大數(shù)據(jù)存儲(chǔ)的幾個(gè)關(guān)鍵需求。關(guān)鍵需求大規(guī)模數(shù)據(jù)存儲(chǔ)入和輸出,必需要能支撐PB高吞吐寫入力量ETLT+1存儲(chǔ)需要能支撐多個(gè)在線數(shù)據(jù)庫(kù)內(nèi)數(shù)據(jù)的導(dǎo)入,也要能承受大數(shù)據(jù)計(jì)算引擎的海量結(jié)果數(shù)據(jù)集導(dǎo)出。所以必需能支撐高吞吐的數(shù)據(jù)寫入,通常會(huì)承受一個(gè)為寫入而優(yōu)化的存儲(chǔ)引擎。豐富的數(shù)據(jù)查詢力量構(gòu)造化大數(shù)據(jù)存儲(chǔ)作為派生數(shù)據(jù)體系下的輔存儲(chǔ),需要為支撐高效在線查詢做優(yōu)化。常見(jiàn)的查詢優(yōu)化包括高速緩存、高并發(fā)低延遲的隨機(jī)查詢、簡(jiǎn)單的任意字段條件組合查詢以及數(shù)據(jù)檢索。這些查詢優(yōu)化的技術(shù)手段就是緩存和索引,其中索引的支持是多元化的,面對(duì)不同的查詢場(chǎng)景供給不同類型的索引。例如面對(duì)固B+treeR—treeBKD—tree面對(duì)多條件組合查詢和全文檢索的倒排索引。存儲(chǔ)和計(jì)算本錢分別存儲(chǔ)計(jì)算分別是目前一個(gè)比較熱的架構(gòu)實(shí)現(xiàn),對(duì)于一般應(yīng)用來(lái)說(shuō)比較難體會(huì)到這個(gè)架構(gòu)的優(yōu)勢(shì)。在云上的大數(shù)據(jù)系統(tǒng)下,存儲(chǔ)計(jì)算分別才能完全發(fā)揮優(yōu)勢(shì)。存儲(chǔ)計(jì)算分別在分布式架構(gòu)中,最大的優(yōu)勢(shì)是能供給更敏捷的存儲(chǔ)和計(jì)算資源治理手段,大大提高了存儲(chǔ)和計(jì)算的擴(kuò)展性。對(duì)本錢治理來(lái)說(shuō),只有基于存儲(chǔ)計(jì)算分離架構(gòu)實(shí)現(xiàn)的產(chǎn)品,才能做到存儲(chǔ)和計(jì)算本錢的分別。存儲(chǔ)和計(jì)算本錢的分別的優(yōu)勢(shì),在大數(shù)據(jù)系統(tǒng)下會(huì)更加明顯。舉一個(gè)簡(jiǎn)潔的例子,構(gòu)造化大數(shù)據(jù)存儲(chǔ)的存儲(chǔ)量會(huì)隨著數(shù)據(jù)的積存越來(lái)越大,但是數(shù)據(jù)寫入量是相對(duì)平穩(wěn)的。所以存儲(chǔ)需要不斷的擴(kuò)大,但是為了支撐數(shù)據(jù)寫入或臨時(shí)的數(shù)據(jù)分析而所需的計(jì)算資源,則相對(duì)來(lái)說(shuō)比較固定,是按需的。數(shù)據(jù)派生力量一個(gè)完整的數(shù)據(jù)系統(tǒng)架構(gòu)下,需要有多個(gè)存儲(chǔ)組件并存.并且依據(jù)對(duì)查詢和分析力量的不同要求,需要在數(shù)據(jù)派生體系下對(duì)輔存儲(chǔ)進(jìn)展動(dòng)態(tài)擴(kuò)展.所以對(duì)于構(gòu)造化大數(shù)據(jù)存儲(chǔ)來(lái)說(shuō),也需要有能擴(kuò)展輔存儲(chǔ)的派生力量,來(lái)擴(kuò)展數(shù)據(jù)處理力量。而推斷一個(gè)存儲(chǔ)組件是否具備更好的數(shù)據(jù)派生力量,就看是否具備成熟的CDC技術(shù)。計(jì)算生態(tài)數(shù)據(jù)的價(jià)值需要靠計(jì)算來(lái)挖掘,目前計(jì)算主要?jiǎng)潪榕坑?jì)算和流計(jì)算.對(duì)于構(gòu)造化大數(shù)據(jù)存儲(chǔ)的要求,一是需要能夠?qū)又髁鞯挠?jì)算引擎,例如Spark、Flink等,作為輸入或者是輸出;二是需要有數(shù)據(jù)派生的力量,將自身數(shù)據(jù)轉(zhuǎn)換為面對(duì)分析的列存格式存儲(chǔ)至數(shù)據(jù)湖系統(tǒng);三是自身供給交互式分析力量,更快挖掘數(shù)據(jù)價(jià)值.滿足第一個(gè)條件是最根本要求,滿足其次和第三個(gè)條件才是加分項(xiàng)。開源產(chǎn)品HBaseCassandra,CassandraWideColumnNoSQL類別下排名Top—1的產(chǎn)品,在國(guó)外應(yīng)用比較廣泛.但這里我們重點(diǎn)提下HBase,由于在國(guó)內(nèi)的話相比CassandraHBaseHDFS的存儲(chǔ)計(jì)算分別架構(gòu)的WideColumn數(shù)據(jù)存儲(chǔ),它的優(yōu)點(diǎn)為:存儲(chǔ)計(jì)算分別架構(gòu):底層基于HDFS,分別的架構(gòu)可帶來(lái)存儲(chǔ)和計(jì)算各自彈性擴(kuò)展的優(yōu)勢(shì),與計(jì)算引SparkLSM開發(fā)者生態(tài)成熟,接入主流計(jì)算引擎:作為進(jìn)展多年的開源產(chǎn)品,在國(guó)內(nèi)也有比較多的應(yīng)用,開發(fā)者社區(qū)很成熟,對(duì)接幾大主流的計(jì)算引擎。HBase查詢力量弱供給高效的單行隨機(jī)查詢以及范圍掃描,簡(jiǎn)單的組合條件查詢必需使用Scan+Filter的方式,稍不留意就HBasePhoenixMySQL合最左匹配的查詢條件才能做索引優(yōu)化,可被優(yōu)化的查詢條件格外有限。數(shù)據(jù)派生力量弱CDCHBaseCDCHBaseReplicationCDC的力量,但是僅為HBaseReplicationHBase的CDC技術(shù),例如用于和SolrLilyIndexer,但是比較惋惜的是這類組件從理論和機(jī)制上分析就沒(méi)法做到CDC本錢高前面提到構(gòu)造化大數(shù)據(jù)存儲(chǔ)的關(guān)鍵需求之一是存儲(chǔ)與計(jì)算的本錢分別,HBaseCPUCPU小比例關(guān)系.即隨著存儲(chǔ)空間的增大,CPU核數(shù)本錢也會(huì)相應(yīng)變大,而不是按實(shí)際所需計(jì)算資源來(lái)計(jì)算本錢。要到達(dá)完全的存儲(chǔ)與計(jì)算本錢分別,只有云上的Serverless運(yùn)維簡(jiǎn)單HBaseHadoopZookeeperHDFS,沒(méi)有專業(yè)的運(yùn)維團(tuán)隊(duì)幾乎無(wú)法運(yùn)維。熱點(diǎn)處理力量差HBaseRangePartitionHashPartitionHBase供給了大量的最正確實(shí)踐文檔來(lái)指引開發(fā)者在做表的Rowkeyhashkey,salted-tableRegionSplitMove化機(jī)制.國(guó)內(nèi)的高級(jí)玩家大多會(huì)基于HBaseHBase依據(jù)自身業(yè)務(wù)查詢特色研發(fā)自己的索引方案,例如自研二級(jí)索引方案、對(duì)接Solr做全文索引或者是針對(duì)區(qū)bitmapHBase值得借鑒。TablestoreTablestore是阿里云自研的構(gòu)造化大數(shù)據(jù)存儲(chǔ)產(chǎn)品,具體產(chǎn)品介紹可以參考官網(wǎng)以及權(quán)威指南。Tablestore個(gè)設(shè)計(jì)理念特地設(shè)計(jì)和實(shí)現(xiàn)了一些特色的功能。設(shè)計(jì)理念Tablestore了一些特色設(shè)計(jì)方向,簡(jiǎn)潔概括下Tablestore存儲(chǔ)計(jì)算分別架構(gòu):承受存儲(chǔ)計(jì)算分別架構(gòu),底層基于飛天盤古分布式文件系統(tǒng),這是實(shí)現(xiàn)存儲(chǔ)計(jì)算本錢分別的根底。LSM:LSMB+treeLSM好的支持?jǐn)?shù)據(jù)冷熱分層。Serverless產(chǎn)品形態(tài):基于存儲(chǔ)計(jì)算分別架構(gòu)來(lái)實(shí)現(xiàn)本錢分別的最關(guān)鍵因素是Serverless效勞化,只有Serverless數(shù)據(jù)導(dǎo)入,來(lái)拘束線數(shù)據(jù)庫(kù)或者是來(lái)自離線計(jì)算引擎,在此時(shí)需要有足夠的計(jì)算力量能接納高吞吐的寫入,而尋??赡軆H需要比較小的計(jì)算力量,計(jì)算資源要足夠的彈性.另外在派生數(shù)據(jù)體系下,主存儲(chǔ)和輔存儲(chǔ)通常是異構(gòu)引擎,在讀寫力量上均有差異,有些場(chǎng)景下需要敏捷調(diào)整主輔存儲(chǔ)的配比,此時(shí)也需要存儲(chǔ)和計(jì)算資源彈性可調(diào)。多元化索引,供給豐富的查詢力量:LSM的查詢場(chǎng)景需要不同類型的索引,所以Tablestore供給多元化的索引來(lái)滿足不同類型場(chǎng)景下的數(shù)據(jù)查詢需求。CDCTablestoreCDCTunnelService,支持全量和增量的實(shí)時(shí)數(shù)據(jù)訂閱,并且能無(wú)縫Flink擁抱開源計(jì)算生態(tài):除了比較好的支持阿里云自研計(jì)算引擎如MaxComputeDataLakeAnalytics的計(jì)FlinkSpark流批計(jì)算一體:能支持SparkCDCFlink數(shù)據(jù)進(jìn)展流計(jì)算,真正實(shí)現(xiàn)批流計(jì)算結(jié)合。特色功能多元化索引Tablestore多元索引能供給更豐富的查詢功能,包含任意列

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論