What’s New in TiDB 3.0.0-rc.1
作者:段兵
2019 年 5 月 10 日,TiDB 3.0.0-rc.1 版本正式推出,該版本對系統穩定性,效能,安全性,易用性等做了較多的改進,接下來逐一介紹。
提升系統穩定性
眾所周知,資料庫的查詢計劃的穩定性至關重要,此版本採用多種最佳化手段促進查詢計劃的穩定性得到進一步提升,如下:
-
新增 Fast Analyze 功能,使 TiDB 收集統計資訊的速度有了數量級的提升,對叢集資源的消耗和生產業務的影響比普通 Analyze 方式更小。
-
新增 Incremental Analyze 功能,對於值單調增的索引能夠更加方便和快速地更新其統計資訊。
-
在 CM-Sketch 中新增 TopN 的統計資訊,緩解因為 CM-Sketch 雜湊衝突導致估算偏大的問題,使代價估算更加準確。
-
最佳化 Cost Model,利用和 RowID 列之間的相關性更加精準的估算謂詞的選擇率,使得索引選擇更加穩定和準確。
提升系統效能
-
TableScan,IndexScan,Limit
運算元,進一步提升 SQL 執行效能。 -
TiKV 採用
Iterator Key Bound Option
儲存結構減少記憶體分配及複製,RocksDB 的 Column Families 共享 block cache 提升 cache命中率等手段大幅提升效能。 -
TiDB Lightning encode SQL 效能提升 50%,將資料來源內容解析成 TiDB 的 types.Datum,減少 encode 過程中多餘的解析工作,使得效能得到較大的提升。
增強系統安全性
RBAC(Role-Based Access Control)基於角色的許可權訪問控制是商業系統中最常見的許可權管理技術之一,透過 RBAC 思想可以構建最簡單”使用者-角色-許可權“的訪問許可權控制模型。RBAC 中使用者與角色關聯,許可權與角色關聯,角色與許可權之間一般是多對多的關係統,使用者透過成為什麼樣的角色獲取該角色所擁有的許可權,達到簡化許可權管理的目的,透過此版本的迭代 RBAC 功能開發完成,歡迎試用。
提升產品易用性
-
新增 SQL 方式查詢慢查詢,豐富 TiDB 慢查詢日誌內容,如:Coprocessor 任務數,平均/最長/90% 執行/等待時間,執行/等待時間最長的 TiKV 地址,簡化慢查詢定位工作,提升產品易用性。
-
新增系統配置項合法性檢查,最佳化系統監控項等,提升產品易用性。
-
支援對
TableReader
、IndexReader
和IndexLookupReader
運算元進行記憶體追蹤控制,對 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/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- What's New in MariaDB 10.4
- What’s new in RxSwift 5Swift
- What's new of dubbogo v1.4Go
- What's new in dubbo-go-pixiu 0.4.0Go
- What's new in Dubbo-go v1.5.1Go
- What's new in Dubbo 3.1.4 and 3.2.0-beta.3
- What's new in Dubbo 3.1.5 and 3.2.0-beta.4
- What's new in dubbo-go v1.5.6Go
- VMware vSphere:What's New V5.1培訓
- WWDC18 What’s New in LLVM 個人筆記LVM筆記
- Win10 v2004的最新功能曝光:What’s New類似高階玩家官方指南Win10
- 2021 New Year‘s Resolution
- React Native填坑之旅 -- What's nextReact Native
- What’s your own way of spending two-day weekend?
- What's the maximum typical speed possible with a USB2.0 drive?
- String s = “hello“和String s = new String(“hello“)的區別
- 「萌新指南」SOA vs. 微服務:What’s the Difference?微服務
- 真正“搞”懂HTTP協議05之What's HTTP?HTTP協議
- [Original] What's HEAD, FETCH_HEAD and ORIG_HEAD in GitGit
- String s = new String(" a ") 到底產生幾個物件?物件
- What is Babel?Babel
- what is life?
- What is WebpackWeb
- What is wrong?
- What is maven?Maven
- SAP S/4HANA New Simplified Data Model (NSDM) 模型介紹模型
- What is an SQL relation?SQL
- What is rate limiting?MIT
- What is a service mesh?
- WHAT IS PPM Encoder ?
- JAVA面試題 String s = new String("xyz");產生了幾個物件?Java面試題物件
- new self()與new static()
- What does -> do in clojure?
- CISO之What & How
- What are the benefits of using an proxy?
- [Information Security] What is WEPORM
- What is dbo in SQL Server?SQLServer
- What is the "WF - Contention'' Enqueue ?ENQ