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

下載本文檔

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

文檔簡介

1、wordword PAGE PAGE 3 / 10數(shù)據(jù)中臺之結(jié)構(gòu)化大數(shù)據(jù)存儲設(shè)計一. 前言任何應(yīng)用系統(tǒng)都離不開對數(shù)據(jù)的處理的熟悉你。數(shù)據(jù)系統(tǒng)的開展驅(qū)動了業(yè)務(wù)系統(tǒng)的開展,從業(yè)務(wù)化到規(guī)?;?,再到智能化。業(yè)務(wù)化:完成最根本的業(yè)務(wù)交互邏輯。規(guī)?;悍植际胶痛髷?shù)據(jù)技術(shù)的應(yīng)用,滿足業(yè)務(wù)規(guī)模增長的需求以與數(shù)據(jù)的積累。智能化:人工智能技術(shù)的應(yīng)用,挖掘數(shù)據(jù)的價值,驅(qū)動業(yè)務(wù)的創(chuàng)新。Lambda 架構(gòu), 仍然具備很高的技術(shù)門檻。而不同模塊的選擇和組合是架構(gòu)師面臨的最大的挑戰(zhàn)。本篇文章主要面向數(shù)據(jù)系統(tǒng)的研發(fā)工程師和架構(gòu)師Tablestore 選擇哪種設(shè)計理念來更好的滿足數(shù)據(jù)系統(tǒng)中對結(jié)構(gòu)化數(shù)據(jù)存儲的需求。二. 數(shù)據(jù)系統(tǒng)

2、架構(gòu)核心組件存儲。高速緩存:對復雜或操作代價昂貴的結(jié)果進展緩存,加速訪問。搜索引擎:提供復雜條件查詢和全文檢索。據(jù)對接。也用于數(shù)據(jù)的實時提取,在線存儲到離線存儲的實時歸檔。查詢或離線計算的數(shù)據(jù)訪問需求。離線分析的實時寫入數(shù)據(jù)。批量計算:對非結(jié)構(gòu)化數(shù)據(jù)和結(jié)構(gòu)化數(shù)據(jù)進展數(shù)據(jù)分析,批量計算中又分為交互式分析和離線計算兩類,離線計算需要滿足對大規(guī)模數(shù)據(jù)集進展復雜分析的能力,交互式分析需要滿足對中等規(guī)模數(shù)據(jù)集實時分析的能力。流計算:對非結(jié)構(gòu)化數(shù)據(jù)和結(jié)構(gòu)化數(shù)據(jù)進展流式數(shù)據(jù)分析,低延遲產(chǎn)出實時視圖。對于數(shù)據(jù)存儲組件我們再進一步分析們來看下下面這X 詳細比照表:wordword PAGE PAGE 5 / 1

3、0派生數(shù)據(jù)體系A(chǔ)CID 性可能是強需求,提供在線應(yīng)用所需的低延遲業(yè)務(wù)數(shù)據(jù)查詢。常面向數(shù)據(jù)查詢、檢索和分析做優(yōu)化。為何會有主存儲和輔存儲的存在?能不能統(tǒng)一存儲統(tǒng)一讀寫,滿足所有場景的需求呢? B+tree 還是 APHTAP 方向走,但實現(xiàn)方式仍然是底層存儲分為行存和列存。BI 分析。下,最大的技術(shù)挑戰(zhàn)是數(shù)據(jù)如何在主與輔之間進展同步與復制。上圖我們可以看到幾個常見的數(shù)據(jù)復制方式:應(yīng)用層多寫異步隊列復制wordword PAGE PAGE 10 / 10的話,也會遇到和上一種應(yīng)用層多寫方案類似的問題,應(yīng)用層也是多寫,只不過是寫主存儲與隊列,隊列來解決多個輔存儲的寫入和擴展性問題。CDCChange

4、 Data 技術(shù)CDC 技術(shù)。一個典MySQL+Elasticsearch MySQL binlog 來同步,binlog MySQL CDC 技術(shù)。CDC 技術(shù)是更好的驅(qū)動數(shù)據(jù)流動的關(guān)鍵手段。具備 CDC 技術(shù)的存儲組件,才能更好的支撐數(shù)據(jù)派生體系,從而能讓整個數(shù)據(jù)系統(tǒng)架構(gòu)更加靈活CDC 技術(shù),例如Tablestore具備非常成熟CDC 技術(shù),CDC 技術(shù)的應(yīng)用也推動了架構(gòu)的創(chuàng)新,這個在下面的章節(jié)會詳細介紹?;?HBase+Solr CDC 技術(shù)來實時復制數(shù)據(jù)后, 如何解決數(shù)據(jù)一致性問題?如何追蹤數(shù)據(jù)同步延遲?如何保證輔存儲與主存儲具備一樣的 數(shù)據(jù)寫入能力?存儲組件的選型Spark Flin

5、kSQL NoSQL 下又根據(jù)各類數(shù)據(jù)模型細分為多類抽象,如果場景能匹配到具象模型,那選擇X 圍能縮小點。在下一節(jié)介紹速迭代能力比應(yīng)對未知需求的擴展性更重要。另外關(guān)于數(shù)據(jù)存儲架構(gòu),我認為最終的趨勢是:數(shù)據(jù)一定需要分層OSS會由一個統(tǒng)一的分析引擎來統(tǒng)一分析的入口,并提供統(tǒng)一的查詢語言結(jié)構(gòu)化大數(shù)據(jù)存儲結(jié)構(gòu)化大數(shù)據(jù)存儲在數(shù)據(jù)系統(tǒng)中是一個非常關(guān)鍵的組件派生。根據(jù)這樣的定位,我們總結(jié)下對結(jié)構(gòu)化大數(shù)據(jù)存儲的幾個關(guān)鍵需求。關(guān)鍵需求大規(guī)模數(shù)據(jù)存儲結(jié)構(gòu)化大數(shù)據(jù)存儲的定位是集中式的存儲,作為在線數(shù)據(jù)庫的匯總大寬表模式者是離線計算的輸入和輸出,必須要能支撐PB 級規(guī)模數(shù)據(jù)存儲。高吞吐寫入能力數(shù)據(jù)從在線存儲到離線存儲

6、的轉(zhuǎn)換,通常是通過ETL 式的同步或者是實時同化的存儲引擎。豐富的數(shù)據(jù)查詢能力B+tree 的二級索引,面R-tree 或 BKD-tree 的空間索引或者是面向多條件組合查詢和全文檢索的倒排索引。存儲和計算本錢別離存儲計算別離是目前一個比擬熱的架構(gòu)實現(xiàn)來說比擬固定,是按需的。數(shù)據(jù)派生能力CDC 技術(shù)。計算生態(tài)Flink 等,作為輸入或者是統(tǒng);三是自身提供交互式分析能力,更快挖掘數(shù)據(jù)價值。滿足第一個條件是最根本要求,滿足第二和第三個條件才是加分項。開源產(chǎn)品目前開源界比擬知名的結(jié)構(gòu)化大數(shù)據(jù)存儲是 HBase 和 CassandraCassandra 是WideColumn NoSQL Top-1

7、 的產(chǎn)品,在國外應(yīng)用比擬廣泛。但這里我們重點Cassandra 會更流行一點。HBase HDFS WideColumn 模型數(shù)據(jù)庫,擁有非常好的擴展性,能支撐大規(guī)模數(shù)據(jù)存儲,它的優(yōu)點為:存儲計算別離架構(gòu):底層基于 Spark 可共享計算資源,降低本錢。LSM 存儲引擎:為寫入優(yōu)化設(shè)計,能提供高吞吐的數(shù)據(jù)寫入。多的應(yīng)用,開發(fā)者社區(qū)很成熟,對接幾大主流的計算引擎。HBase 有其突出的優(yōu)點,但也有幾大不可無視的缺陷:查詢能力弱提供高效的單行隨機查詢以與X Scan+Filter 的方HBase 的 Phoenix 提供了二級索引來優(yōu)化查詢,但和 MySQL 詢條件非常有限。數(shù)據(jù)派生能力弱前面章節(jié)

8、提到C 技術(shù)是支撐數(shù)據(jù)派生體系的核心技術(shù)e 不具備C Replication CDC HBase Replication HBase 的 CDC Solr 同步的 Lily CDC 據(jù)保序、最終一致性保證等核心需求。本錢高的本錢取決于計算所需 CPU 核數(shù)本錢以與磁盤的存儲本錢CPU Serverless 服務(wù)模式才能做到。運維復雜HBase 是標準的 Hadoop 組件,最核心依賴是Zookeeper 和 HDFS,沒有專業(yè)的運維團隊幾乎無法運維。熱點處理能力差HBase Range Partition Hash Partition 的模式最大的缺陷就是HBase 提供了大量的最優(yōu)實踐文檔來

9、指引開發(fā)者在做表的 Rowkey hash salted-table Region Split Move 等負載均衡的自動化機制。國內(nèi)的高級玩家大多會基于 HBase 做二次開發(fā),根本都是在做各種方案來彌補 HBase 對接r做全文索引或者是針對區(qū)分度小的數(shù)據(jù)集的p是一個優(yōu)秀的開源產(chǎn)品,有很多優(yōu)秀的設(shè)計思路值得借鑒。TablestoreTablestore 是阿里云自研的結(jié)構(gòu)化大數(shù)據(jù)存儲產(chǎn)品,具體產(chǎn)品介紹可以參考官網(wǎng)以與權(quán)Tablestore 的設(shè)計理念很大程度上顧與了數(shù)據(jù)系統(tǒng)內(nèi)對結(jié)構(gòu)化大數(shù)據(jù)存儲的需求, 并且基于派生數(shù)據(jù)體系這個設(shè)計理念專門設(shè)計和實現(xiàn)了一些特色的功能。設(shè)計理念Tablesto

10、re 的設(shè)計理念一方面吸收了優(yōu)秀開源產(chǎn)品的設(shè)計思路,另一方面也是結(jié)合實際業(yè)務(wù)需求演化出了一些特色設(shè)計方向,簡單概括下Tablestore 的技術(shù)理念:實現(xiàn)存儲計算本錢別離的根底。LSM B+tree LSM 專為高吞吐數(shù)據(jù)寫入優(yōu)化,也能更好的支持數(shù)據(jù)冷熱分層。Serverless Serverless Serverless 服務(wù)才能做到存儲計算本錢別離。大數(shù)據(jù)系統(tǒng)下,結(jié)構(gòu)化大數(shù)據(jù)存Tablestore 提供多元化的索引來滿足不同類型場景下的數(shù)據(jù)查詢需求。CDC CDC Tunnel Flink 流計算引擎來實現(xiàn)表內(nèi)數(shù)據(jù)的實時流計算。擁抱開源計算生態(tài):除了比擬好的支持阿里云自研計算引擎如 Max

11、pute 和 Data Lake Analytics Flink 和 Spark 這兩個主流計算引擎的計算需求,無需數(shù)據(jù)搬遷。流批計算一體:能支持 Spark 對表內(nèi)全量數(shù)據(jù)進展批計算,也能通過 CDC 技術(shù)對接 Flink來對表內(nèi)新增數(shù)據(jù)進展流計算,真正實現(xiàn)批流計算結(jié)合。多元化索引Tablestore 提供多種索引類型可選擇,包含全局二級索引和多元索引。全局二級索引類X 種索引的比照和選型可參考這篇文章。通道服務(wù)Tablestore CDC 流計算場景。目前在云上Tablestore Blink 能無縫對接,也是唯一一個能直接作為Blink 的stream source 的結(jié)構(gòu)化大數(shù)據(jù)存儲。大數(shù)據(jù)處理架構(gòu)Lambda Lambda 架構(gòu)比擬根底,有一些缺陷, Lambda 架構(gòu)中存在的一Tablestore CDC 技術(shù)來與計算引擎相結(jié)合,Lambda Lambda plus 架構(gòu)。Lambda plus 架構(gòu)Lambda 隨后將一樣的計算邏輯分別在流和批系統(tǒng)中實現(xiàn)Tablestore CDC Tablestore Blink 進展了完整對接,可作為Blink 的 stream source、dim 和 sink,推出了 Lambda plus 架構(gòu):Lambda plus API 直讀表

溫馨提示

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

評論

0/150

提交評論