TiDB的HTAP架構演進之路_第1頁
TiDB的HTAP架構演進之路_第2頁
TiDB的HTAP架構演進之路_第3頁
TiDB的HTAP架構演進之路_第4頁
TiDB的HTAP架構演進之路_第5頁
已閱讀5頁,還剩37頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

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

2、由擴容(算力,存儲)的數據庫兼容支持 MySQL 語法和協議透明的數據分片策略 - Range 分片強一致,無視分片的分布式事務支持TiDB 架構 - 原始TiDBTiDBMetadataTiKVTiKVTiKVMySQLClientsSyncerTiKVTiDBTSO/Data locationTiDB.TiDB Cluster.TiKV Cluster (Storage)DistSQL APIPDPDPD ClusterTiKVTiKVTiDBPD簡單說:同款不同尺寸SXXXXXXXXXXXLTP 處女秀我們:TiDB 很好用的啦,可以替換分庫分表 MySQL 做 TP 業務。客戶:我咋知

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

4、計算(TiDB)只能通過 TiDB 服務器 Scale-Up 改善Coprocessor 無法處理需要數據交換的算子Join,Full Aggregation,Distinct借助外力 - TiSparkSpark DriverSpark ExecTiKVTiKVTiKVTiKVTiSparkSpark ExecTiSparkSpark ExecTiSparkTiSparkTiKVPlacement Driver (PD)gRPCDistributed Storage LayergRPCretrieve data locationretrieve data from TiKVTiSparkSp

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

6、優化器? RBO + CBO 優化器 Cascades 優化器(WIP)執行器經典火山模型 JIT Batch Execution Vectorized Execution(WIP)更好的并發與 Pipeline分區表,Index Merge 等等TiDB 1.0 vs 2.0(Lower is better)Everyone Happy Now?核心矛盾至此,我們仍然有 2 個核心矛盾:行存對于分析場景不友好沒有列存,你們也敢說自己是 HTAP?無法做到 Workload 隔離我跑跑查詢 CPU 就 1000% 辣!TiSpark 場景下會更糟糕行存 vs 列存idnameage0962Ja

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

8、,他們也能互相融合TiFlash 架構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當讀取數據時,TiFlash 發送 Raft 索引校對請求。44Raft LeaderRaft Learner當數據同步到讀取請求發送時間點 的進度時,TiFlash 才提供讀取。Raft Learner - ReadTiFlash 項目狀態Ready for POC nowSpark 入口2019年內 GA包含 TiSpark 以及 TiDB 雙入口至此為止TiDB = X% TP + Y% AP = HTAPTiDB 并不需要你選擇 TP 還是 AP,它就是 HTAP一套平臺,兼容行存列存無痛數據同步當主 TiDB 集群承擔 TP 服務

10、時,方便地在列存上進行分析或者,將列存當做索引,和行存共同提供混合服務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 作為唯一分布式計算引擎缺少中規模快速查詢的解決方案略重的模型(MR 模型)- 仍需要 MPP 引擎寫入需要通過 TiKV大批量寫入速度吞吐不夠副本必須先以行存方式寫入再同步為列存TiFlash Node 1MPP WorkerTiDB/ TiSparkTiFlash Node 2TiKV Node 1CoordinatorMPP WorkerMPP WorkerPlan Segment統一協處理器層,讓 TiKV 和 TiFlash 都能組成 MPP 集群。同一套代碼,同 一套引擎。MPP 引擎TiSpark 批量寫入直接寫入 TiKV(WIP,2019 五月內)TiSpark 終于不是只讀系統了直接寫入 TiFlashTiFlash 需要能承擔 Raft Leader 角色TiFlas

溫馨提示

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

評論

0/150

提交評論