摘要:年月日,發(fā)布版。版本組件提供了針對上的數(shù)據(jù)使用進(jìn)行分布式計算的能力。于年月在創(chuàng)建,同年月發(fā)布版本,而后于年月發(fā)布版,月發(fā)布版,年月發(fā)布版,月發(fā)布版,月發(fā)布版,月發(fā)版,并在年月發(fā)版。
2018 年 4 月 27 日,TiDB 發(fā)布 2.0 GA 版。相比 1.0 版本,對 MySQL 兼容性、系統(tǒng)穩(wěn)定性、優(yōu)化器和執(zhí)行器做了很多改進(jìn)。
TiDB
SQL 優(yōu)化器
精簡統(tǒng)計信息數(shù)據(jù)結(jié)構(gòu),減小內(nèi)存占用
加快進(jìn)程啟動時加載統(tǒng)計信息速度
支持統(tǒng)計信息動態(tài)更新 [experimental]
優(yōu)化代價模型,對代價估算更精準(zhǔn)
使用 Count-Min Sketch 更精確地估算點查的代價
支持分析更復(fù)雜的條件,盡可能充分的使用索引
支持通過 STRAIGHT_JOIN 語法手動指定 Join 順序
GROUP BY子句為空時使用 Stream Aggregation 算子,提升性能
支持使用索引計算 Max/Min 函數(shù)
優(yōu)化關(guān)聯(lián)子查詢處理算法,支持將更多類型的關(guān)聯(lián)子查詢解關(guān)聯(lián)并轉(zhuǎn)化成 Left Outer Join
擴(kuò)大 IndexLookupJoin 的使用范圍,索引前綴匹配的場景也可以使用該算法
SQL 執(zhí)行引擎
使用 Chunk 結(jié)構(gòu)重構(gòu)所有執(zhí)行器算子,提升分析型語句執(zhí)行性能,減少內(nèi)存占用,顯著提升 TPC-H 結(jié)果
支持 Streaming Aggregation 算子下推
優(yōu)化 Insert Into Ignore 語句性能,提升 10 倍以上
優(yōu)化 Insert On Duplicate Key Update 語句性能,提升 10 倍以上
下推更多的數(shù)據(jù)類型和函數(shù)到 TiKV 計算
優(yōu)化 Load Data 性能,提升 10 倍以上
支持對物理算子內(nèi)存使用進(jìn)行統(tǒng)計,通過配置文件以及系統(tǒng)變量指定超過閾值后的處理行為
支持限制單條 SQL 語句使用內(nèi)存的大小,減少程序 OOM 風(fēng)險
支持在 CRUD 操作中使用隱式的行 ID
提升點查性能
Server
支持 Proxy Protocol
添加大量監(jiān)控項, 優(yōu)化日志
支持配置文件的合法性檢測
支持 HTTP API 獲取 TiDB 參數(shù)信息
使用 Batch 方式 Resolve Lock,提升垃圾回收速度
支持多線程垃圾回收
支持 TLS
兼容性
支持更多 MySQL 語法
支持配置文件修改 lower_case_table_names 系統(tǒng)變量,用于支持 OGG 數(shù)據(jù)同步工具
提升對 Navicat 的兼容性
在 Information_Schema 中支持顯示建表時間
修復(fù)部分函數(shù)/表達(dá)式返回類型和 MySQL 不同的問題
提升對 JDBC 兼容性
支持更多的 SQL_MODE
DDL
優(yōu)化 Add Index 的執(zhí)行速度,部分場景下速度大幅度提升
Add Index 操作變更為低優(yōu)先級,降低對線上業(yè)務(wù)影響
Admin Show DDL Jobs 輸出更詳細(xì)的 DDL 任務(wù)狀態(tài)信息
支持 Admin Show DDL Job Queries JobID 查詢當(dāng)前正在運行的 DDL 任務(wù)的原始語句
支持 Admin Recover Index 命令,用于災(zāi)難恢復(fù)情況下修復(fù)索引數(shù)據(jù)
支持通過 Alter 語句修改 Table Options
PD增加 Region Merge 支持,合并數(shù)據(jù)刪除后產(chǎn)生的空 Region [experimental]
增加 Raft Learner 支持 [experimental]
調(diào)度器優(yōu)化
調(diào)度器適應(yīng)不同的 Region size
提升 TiKV 宕機(jī)時數(shù)據(jù)恢復(fù)的優(yōu)先級和恢復(fù)速度
提升下線 TiKV 節(jié)點搬遷數(shù)據(jù)的速度
優(yōu)化 TiKV 節(jié)點空間不足時的調(diào)度策略,盡可能防止空間不足時磁盤被寫滿
提升 balance-leader scheduler 的調(diào)度效率
減少 balance-region scheduler 調(diào)度開銷
優(yōu)化 hot-region scheduler 的執(zhí)行效率
運維接口及配置
增加 TLS 支持
支持設(shè)置 PD leader 優(yōu)先級
支持基于 label 配置屬性
支持配置特定 label 的節(jié)點不調(diào)度 Region leader
支持手動 Split Region,可用于處理單 Region 熱點的問題
支持打散指定 Region,用于某些情況下手動調(diào)整熱點 Region 分布
增加配置參數(shù)檢查規(guī)則,完善配置項的合法性較驗
調(diào)試接口
增加 Drop Region 調(diào)試接口
增加枚舉各個 PD health 狀態(tài)的接口
統(tǒng)計相關(guān)
添加異常 Region 的統(tǒng)計
添加 Region 隔離級別的統(tǒng)計
添加調(diào)度相關(guān) metrics
性能優(yōu)化
PD leader 盡量與 etcd leader 保持同步,提升寫入性能
優(yōu)化 Region heartbeat 性能,現(xiàn)可支持超過 100 萬 Region
TiKV
功能
保護(hù)關(guān)鍵配置,防止錯誤修改
支持 Region Merge [experimental]
添加 Raw DeleteRange API
添加 GetMetric API
添加 Raw Batch Put,Raw Batch Get,Raw Batch Delete 和 Raw Batch Scan
給 Raw KV API 增加 Column Family 參數(shù),能對特定 Column Family 進(jìn)行操作
Coprocessor 支持 streaming 模式,支持 streaming 聚合
支持配置 Coprocessor 請求的超時時間
心跳包攜帶時間戳
支持在線修改 RocksDB 的一些參數(shù),包括 block-cache-size 大小等
支持配置 Coprocessor 遇到某些錯誤時的行為
支持以導(dǎo)數(shù)據(jù)模式啟動,減少導(dǎo)數(shù)據(jù)過程中的寫放大
支持手動對 region 進(jìn)行對半 split
完善數(shù)據(jù)修復(fù)工具 tikv-ctl
Coprocessor 返回更多的統(tǒng)計信息,以便指導(dǎo) TiDB 的行為
支持 ImportSST API,可以用于 SST 文件導(dǎo)入 [experimental]
新增 TiKV Importer 二進(jìn)制,與 TiDB Lightning 集成用于快速導(dǎo)入數(shù)據(jù) [experimental]
性能
使用 ReadPool 優(yōu)化讀性能,raw_get/get/batch_get 提升 30%
提升 metrics 的性能
Raft snapshot 處理完之后立即通知 PD,加快調(diào)度速度
解決 RocksDB 刷盤導(dǎo)致性能抖動問題
提升在數(shù)據(jù)刪除之后的空間回收
加速啟動過程中的垃圾清理過程
使用 DeleteFilesInRanges 減少副本遷移時 I/O 開銷
穩(wěn)定性
解決在 PD leader 發(fā)送切換的情況下 gRPC call 不返回問題
解決由于 snapshot 導(dǎo)致下線節(jié)點慢的問題
限制搬移副本臨時占用的空間大小
如果有 Region 長時間沒有 Leader,進(jìn)行上報
根據(jù) compaction 事件及時更新統(tǒng)計的 Region size
限制單次 scan lock 請求的掃描的數(shù)據(jù)量,防止超時
限制接收 snapshot 過程中的內(nèi)存占用,防止 OOM
提升 CI test 的速度
解決由于 snapshot 太多導(dǎo)致的 OOM 問題
配置 gRPC 的 keepalive 參數(shù)
修復(fù) Region 增多容易 OOM 的問題
TiSparkTiSpark 使用獨立的版本號,現(xiàn)為 1.0 GA。TiSpark 1.0 版本組件提供了針對 TiDB 上的數(shù)據(jù)使用 Apache Spark 進(jìn)行分布式計算的能力。
提供了針對 TiKV 讀取的 gRPC 通信框架
提供了對 TiKV 組件數(shù)據(jù)的和通信協(xié)議部分的編碼解碼
提供了計算下推功能,包含
聚合下推
謂詞下推
TopN 下推
Limit 下推
提供了索引相關(guān)支持
謂詞轉(zhuǎn)化聚簇索引范圍
謂詞轉(zhuǎn)化次級索引
Index Only 查詢優(yōu)化
運行時索引退化掃表優(yōu)化
提供了基于代價優(yōu)化
統(tǒng)計信息支持
索引選擇
廣播表代價估算
多種 Spark Interface 的支持
Spark Shell 支持
ThriftServer/JDBC 支持
Spark-SQL 交互支持
PySpark Shell 支持
SparkR 支持
如今,在社區(qū)和 PingCAP 技術(shù)團(tuán)隊的共同努力下,TiDB 2.0 GA 版已發(fā)布,在此感謝社區(qū)小伙伴們長久以來的參與和貢獻(xiàn)。
作為世界級開源的分布式關(guān)系型數(shù)據(jù)庫,TiDB 靈感來自于 Google Spanner/F1,具備『分布式強(qiáng)一致性事務(wù)、在線彈性水平擴(kuò)展、故障自恢復(fù)的高可用、跨數(shù)據(jù)中心多活』等核心特性。TiDB 于 2015 年 5 月在 GitHub 創(chuàng)建,同年 12 月發(fā)布 Alpha 版本,而后于 2016 年 6 月發(fā)布 Beta 版,12 月發(fā)布 RC1 版, 2017 年 3 月發(fā)布 RC2 版,6 月發(fā)布 RC3 版,8 月發(fā)布 RC4 版,10 月發(fā)版 TiDB 1.0,并在 2018 年 3 月發(fā)版 2.0 RC1。
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/17736.html
摘要:年月日,發(fā)布版。相比版本,該版本對系統(tǒng)穩(wěn)定性性能兼容性易用性做了大量改進(jìn)。 2018 年 11 月 30 日,TiDB 發(fā)布 2.1 GA 版。相比 2.0 版本,該版本對系統(tǒng)穩(wěn)定性、性能、兼容性、易用性做了大量改進(jìn)。 TiDB SQL 優(yōu)化器 優(yōu)化 Index Join 選擇范圍,提升執(zhí)行性能 優(yōu)化 Index Join 外表選擇,使用估算的行數(shù)較少的表作為外表 擴(kuò)大 Join H...
閱讀 3247·2021-11-25 09:43
閱讀 3237·2021-11-23 09:51
閱讀 3543·2019-08-30 13:08
閱讀 1601·2019-08-29 12:48
閱讀 3619·2019-08-29 12:26
閱讀 427·2019-08-28 18:16
閱讀 2594·2019-08-26 13:45
閱讀 2462·2019-08-26 12:15