TiDB的HTAP架構(gòu)演進(jìn)之路_第1頁(yè)
TiDB的HTAP架構(gòu)演進(jìn)之路_第2頁(yè)
TiDB的HTAP架構(gòu)演進(jìn)之路_第3頁(yè)
TiDB的HTAP架構(gòu)演進(jìn)之路_第4頁(yè)
TiDB的HTAP架構(gòu)演進(jìn)之路_第5頁(yè)
已閱讀5頁(yè),還剩37頁(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)介

1、TiDB的HTAP架構(gòu)演進(jìn)之路技術(shù)創(chuàng)新 變革未來(lái)TiDB 有很多故事每個(gè)故事都可以有多個(gè)視角這是一個(gè)從 AP 視角講 HTAP 故事的分享,當(dāng)然還有技術(shù)討論TiDB for HTAP100% TP 和 80% AP用戶:為什么是 80% 不是 75%,也不是 85% ?TiDB for HTAPTiDB 是一款 HTAP 數(shù)據(jù)庫(kù)所以,后來(lái)我們改用比較精確(時(shí)髦)的說(shuō)法.TiDB for HTAPTiDB for HTAPIts a long long journey TiDB 的上古時(shí)代說(shuō)起受到 Google Spanner 啟發(fā),我們做了 TiDB在 Pre GA 版本,TiDB 是一個(gè)可自

2、由擴(kuò)容(算力,存儲(chǔ))的數(shù)據(jù)庫(kù)兼容支持 MySQL 語(yǔ)法和協(xié)議透明的數(shù)據(jù)分片策略 - Range 分片強(qiáng)一致,無(wú)視分片的分布式事務(wù)支持TiDB 架構(gòu) - 原始TiDBTiDBMetadataTiKVTiKVTiKVMySQLClientsSyncerTiKVTiDBTSO/Data locationTiDB.TiDB Cluster.TiKV Cluster (Storage)DistSQL APIPDPDPD ClusterTiKVTiKVTiDBPD簡(jiǎn)單說(shuō):同款不同尺寸SXXXXXXXXXXXLTP 處女秀我們:TiDB 很好用的啦,可以替換分庫(kù)分表 MySQL 做 TP 業(yè)務(wù)。客戶:我咋知

3、道你們夠穩(wěn)定呢?我們先把生產(chǎn)庫(kù)同步到 TiDB 集群測(cè)測(cè)看吧。TP 處女秀我們:用的咋樣?客戶:同步數(shù)據(jù)之后做實(shí)時(shí)分析真的挺方便的.我們:.中臺(tái) AP 能力TiDB 非常適合中臺(tái)場(chǎng)景協(xié)議兼容,輕松同步 MySQL 生產(chǎn)庫(kù)透明無(wú)障礙的跨分片查詢數(shù)據(jù)實(shí)時(shí)落地海量存儲(chǔ)允許多數(shù)據(jù)源匯聚備庫(kù) - 中臺(tái)分析二合一Everyone Happy Now?一年以后TP 場(chǎng)景客戶:雖然還有各種問(wèn)題.真香!AP 場(chǎng)景客戶1:年度報(bào)表算的好慢!客戶2:老是 OOM!客戶3:沒(méi)法和大數(shù)據(jù)平臺(tái)結(jié)合!不匹配的算力/不匹配的算力TiDB 之間無(wú)法直接交換數(shù)據(jù)TiKV 之間也無(wú)法在計(jì)算過(guò)程中交換數(shù)據(jù)海量存儲(chǔ)(TiKV),半單機(jī)

4、計(jì)算(TiDB)只能通過(guò) TiDB 服務(wù)器 Scale-Up 改善Coprocessor 無(wú)法處理需要數(shù)據(jù)交換的算子Join,F(xiàn)ull Aggregation,Distinct借助外力 - TiSparkSpark DriverSpark ExecTiKVTiKVTiKVTiKVTiSparkSpark ExecTiSparkSpark ExecTiSparkTiSparkTiKVPlacement Driver (PD)gRPCDistributed Storage LayergRPCretrieve data locationretrieve data from TiKVTiSparkSp

5、ark 幫我們做分布式計(jì)算成熟的分布式計(jì)算平臺(tái)更快(?),更多,更穩(wěn)(?)完整繼承 Apache Spark 生態(tài)圈無(wú)痛銜接大數(shù)據(jù)生態(tài)圈腳本,JDBC,Python,R,Apache Zeppelin,銜接 Hadoop 數(shù)倉(cāng).Everyone Happy Now?TiSparkApache Spark 只能提供低并發(fā)的粗暴計(jì)算計(jì)算模型重,資源消耗高更合適報(bào)表和重量級(jí) Adhoc 查詢用戶在很多場(chǎng)合下仍需要高并發(fā)中小規(guī)模 AP 能力低消耗低延遲的復(fù)雜查詢能力TiDB 運(yùn)維遠(yuǎn)比 Spark 集群簡(jiǎn)單與此同時(shí).我們也在圍繞單機(jī) TiDB 進(jìn)行各種優(yōu)化在中小規(guī)模場(chǎng)景更聰明,更高效,更迅速優(yōu)化器你叫它

6、優(yōu)化器? RBO + CBO 優(yōu)化器 Cascades 優(yōu)化器(WIP)執(zhí)行器經(jīng)典火山模型 JIT Batch Execution Vectorized Execution(WIP)更好的并發(fā)與 Pipeline分區(qū)表,Index Merge 等等TiDB 1.0 vs 2.0(Lower is better)Everyone Happy Now?核心矛盾至此,我們?nèi)匀挥?2 個(gè)核心矛盾:行存對(duì)于分析場(chǎng)景不友好沒(méi)有列存,你們也敢說(shuō)自己是 HTAP?無(wú)法做到 Workload 隔離我跑跑查詢 CPU 就 1000% 辣!TiSpark 場(chǎng)景下會(huì)更糟糕行存 vs 列存idnameage0962Ja

7、ne307658John453589Jim205523Susan52行存id0962765835895523nameJaneJohnJimSusanage30452052列存SELECT avg(age) from emp;TP / AP 干擾無(wú)法兼顧?如果你媽和你老婆都掉進(jìn)河里,你要救哪個(gè)?為什么不能都救?TiFlash Extension - 2019年通過(guò) Raft Learner 獨(dú)立同步一套列存Raft Learner 提供極低消耗的副本同步Raft Learner 讀取協(xié)議配合 MVCC 提供強(qiáng)一致的讀取通過(guò) Label 進(jìn)行物理隔離AP / TP 作業(yè)互相無(wú)影響但在用戶希望的時(shí)候

8、,他們也能互相融合TiFlash 架構(gòu)TiDBTiDBTiKV Node 1Store 1Region 1Region 2Region 3Region 4TiKV Node 3Store 3Region 2Region 3Region 4Region 1TiKV Node 2Store 2Region 4Region 3Region 2Region 1TiFlash Node 1TiFlash Node 2TiFlash Extension ClusterTiKV ClusterTiSpark WorkerSpark ClusterTiSpark Worker3Raft LeaderRaft

9、LearnerRaft Learner - Read4當(dāng)讀取數(shù)據(jù)時(shí),TiFlash 發(fā)送 Raft 索引校對(duì)請(qǐng)求。44Raft LeaderRaft Learner當(dāng)數(shù)據(jù)同步到讀取請(qǐng)求發(fā)送時(shí)間點(diǎn) 的進(jìn)度時(shí),TiFlash 才提供讀取。Raft Learner - ReadTiFlash 項(xiàng)目狀態(tài)Ready for POC nowSpark 入口2019年內(nèi) GA包含 TiSpark 以及 TiDB 雙入口至此為止TiDB = X% TP + Y% AP = HTAPTiDB 并不需要你選擇 TP 還是 AP,它就是 HTAP一套平臺(tái),兼容行存列存無(wú)痛數(shù)據(jù)同步當(dāng)主 TiDB 集群承擔(dān) TP 服務(wù)

10、時(shí),方便地在列存上進(jìn)行分析或者,將列存當(dāng)做索引,和行存共同提供混合服務(wù)TiDBTiDBTiDBApplication viaMySQL ProtocolTiKVTiKVTiKVTiKVTiFlash.DistSQL APIKV API.WorkerWorkerWorkerSpark DriverSpark SQL.Spark ClusterDistSQL APIPDPDPDPD ClusterPumpDrainerPumpPump.TiDB BinlogDM WorkerDM WorkerData MigrationDM MasterUpstream DatabaseDownstream Da

11、tabaseLightningBackup & RecoveryKV ImporterKV DumperDiagnosis MonitoringTiDB VisionTiDB InsightTiDB OperatorTiDB AnsibleSchrodingerTiFlashTiDB TodayEveryone Happy Now?我們還缺什么TiSpark 作為唯一分布式計(jì)算引擎缺少中規(guī)??焖俨樵兊慕鉀Q方案略重的模型(MR 模型)- 仍需要 MPP 引擎寫入需要通過(guò) TiKV大批量寫入速度吞吐不夠副本必須先以行存方式寫入再同步為列存TiFlash Node 1MPP WorkerTiDB/ TiSparkTiFlash Node 2TiKV Node 1CoordinatorMPP WorkerMPP WorkerPlan Segment統(tǒng)一協(xié)處理器層,讓 TiKV 和 TiFlash 都能組成 MPP 集群。同一套代碼,同 一套引擎。MPP 引擎TiSpark 批量寫入直接寫入 TiKV(WIP,2019 五月內(nèi))TiSpark 終于不是只讀系統(tǒng)了直接寫入 TiFlashTiFlash 需要能承擔(dān) Raft Leader 角色TiFlas

溫馨提示

  • 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)論