What’s New in TiDB 3.0.0-rc.1

qianby發表於2021-09-09

作者:段兵

2019 年 5 月 10 日,TiDB 3.0.0-rc.1 版本正式推出,該版本對系統穩定性,效能,安全性,易用性等做了較多的改進,接下來逐一介紹。

提升系統穩定性

眾所周知,資料庫的查詢計劃的穩定性至關重要,此版本採用多種最佳化手段促進查詢計劃的穩定性得到進一步提升,如下:

  1. 新增 Fast Analyze 功能,使 TiDB 收集統計資訊的速度有了數量級的提升,對叢集資源的消耗和生產業務的影響比普通 Analyze 方式更小。

  2. 新增 Incremental Analyze 功能,對於值單調增的索引能夠更加方便和快速地更新其統計資訊。

  3. 在 CM-Sketch 中新增 TopN 的統計資訊,緩解因為 CM-Sketch 雜湊衝突導致估算偏大的問題,使代價估算更加準確。

  4. 最佳化 Cost Model,利用和 RowID 列之間的相關性更加精準的估算謂詞的選擇率,使得索引選擇更加穩定和準確。

提升系統效能

  1. TableScan,IndexScan,Limit 運算元,進一步提升 SQL 執行效能。

  2. TiKV 採用Iterator Key Bound Option儲存結構減少記憶體分配及複製,RocksDB 的 Column Families 共享 block cache 提升 cache命中率等手段大幅提升效能。

  3. TiDB Lightning encode SQL 效能提升 50%,將資料來源內容解析成 TiDB 的 types.Datum,減少 encode 過程中多餘的解析工作,使得效能得到較大的提升。

增強系統安全性

RBAC(Role-Based Access Control)基於角色的許可權訪問控制是商業系統中最常見的許可權管理技術之一,透過 RBAC 思想可以構建最簡單”使用者-角色-許可權“的訪問許可權控制模型。RBAC 中使用者與角色關聯,許可權與角色關聯,角色與許可權之間一般是多對多的關係統,使用者透過成為什麼樣的角色獲取該角色所擁有的許可權,達到簡化許可權管理的目的,透過此版本的迭代 RBAC 功能開發完成,歡迎試用。

提升產品易用性

  1. 新增 SQL 方式查詢慢查詢,豐富 TiDB 慢查詢日誌內容,如:Coprocessor 任務數,平均/最長/90% 執行/等待時間,執行/等待時間最長的 TiKV 地址,簡化慢查詢定位工作,提升產品易用性。

  2. 新增系統配置項合法性檢查,最佳化系統監控項等,提升產品易用性。

  3. 支援對 TableReaderIndexReaderIndexLookupReader 運算元進行記憶體追蹤控制,對 Query 記憶體使用統計更加精確,可以更好地檢測、處理對記憶體消耗較大的語句。

社群貢獻

V3.0.0-rc.1 版本的開發過程中,開源社群貢獻者給予了我們極大的支援,例如美團的同學負責開發的 特性對於提升產品的易用性有很大的幫助,一點資訊的陳付同學與其他同學一起對 TiKV 執行緒池進行了重構,提高了效能並降低了延遲,掌門科技的聶殿輝
同學實現 TiKV 大量 UDF 函式幫忙 TiKV 完善 Coprocessor 功能,就不再一一列舉。在此對各位貢獻者表示由衷的感謝。接下來我們會開展更多的專項開發活動以及一系列面向社群的培訓課程,希望能對大家瞭解如何做分散式資料庫有幫助。

TiDB 3.0.0-rc.1 Release Notes

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/3549/viewspace-2822874/,如需轉載,請註明出處,否則將追究法律責任。

相關文章