邁向企業級核心場景的 TiDB 5.0

隨着 2021 年春天的來臨和 PingCAP 年滿 6 週歲紀念日的到來,TiDB 5.0 迎來正式 GA。經過近一年緊鑼密鼓的開發和打磨,TiDB 5.0 成爲邁向企業級核心場景的里程碑版本:TiDB 5.0 的性能和穩定性得到顯著提升,從而具備更強大的 OLTP 金融級核心場景的服務能力;在原有 HTAP 引擎 TiFlash 的基礎上引入 MPP 架構,TiDB 使得衆多企業的實時/交互式 BI 成爲現實,爲高成長企業和數字化創新場景提供了一棧式的數據服務底座,加速帶動 HTAP 進入更多大型企業的數字化場景。

此外,TiDB 5.0 新增多項企業級特性,集成更豐富的大數據生態,提供更加簡易的運維體驗,幫助企業更高效地基於 TiDB 構建和擴展應用。秉持開源、開放、創新的發展路徑,TiDB 將持續爲企業構建“融合,簡化,可靠”的分佈式數據庫平臺。

高性能:多項性能指標實現突破

相比於 TiDB 4.0,TiDB 5.0 在性能方面取得了巨大的進步,通過提供聚簇索引異步提交事務TiFlash MPP 等功能, 在 Sysbench 和 TPC-C 等 OLTP 的基準測試中,獲得 20% ~ 80% 的性能提升。基於 100 GB 數據量 TPC-H 查詢的結果顯示:TiDB 5.0 在同等資源下,MPP 引擎的總體性能是 Greenplum 6.15.0 與 Apache Spark 3.1.1 兩到三倍之間,部分查詢可達 8 倍性能差異。如下是在一些通用性能測試場景下面的數據:

配置信息

組件名稱 配置信息 數量
PD m5.xlarge (AWS) 3
TiDB c5.4xlarge (AWS) 3
TiKV i3.4xlarge (AWS) 3
TiFlash (TPC-H) 40C 189G NVMe SSD 3T * 2 3

負載信息

16 張表,每張表有 1000 萬行數據

性能數據

穩定性:衡量 TPC-C tpm-C 抖動的標準差值小於等於 2%

相比於 TiDB 4.0,TiDB 5.0 在穩定性上面取得了巨大的進步。通過優化 TiDB 調度過程中對 I/O、網絡、CPU、內存等資源的佔用,大幅減少 QPS 和延時因爲資源被搶佔而出現的性能抖動問題,在 TPC-C OLTP 的基準測試中,衡量 TPC-C tpmC 抖動標準差的值小於等於 2%。

配置信息

Intel(R) Xeon(R) CPU E5-2630 v4 @ 2.20GHz 40Core 189GB Memory 3TB SSD

易用性:更精準,更高效,更全面

更精準的性能排查

用戶在排查 SQL 語句性能問題時,需要詳細的信息來判斷原因。TiDB 5.0 通過 EXPLAIN 可查看日誌、監控等詳細信息,幫助用戶提升排查問題的效率。

更高效的集羣運維

在 TiDB 5.0 中,TiUP 支持一鍵式環境檢查並給出修復建議,自動修復檢查過程中發現的環境問題,優化了多項集羣部署的操作邏輯,便於 DBA 更快地部署標準的 TiDB 生產集羣。新版本的 TiUP 提供業務無感知的升級體驗,升級過程中的性能抖動控制在 10~30 秒。

在升級 TiDB 時,新增自動捕獲並綁定查詢計劃的功能,由系統自動捕獲並綁定最近一次查詢計劃然後存儲在系統表中,確保升級過程中的 SQL 仍然走綁定的執行計劃,

確保穩定性。升級完成後,DBA 可以導出綁定的查詢計劃,分析並決策是否要刪除綁定。

更全面的 SQL 調優

TiDB 5.0 支持不可見索引 (Invisible Indexes),DBA 在調試和選擇相對最優的索引時,可以通過 SQL 語句將某個索引設置成 Visible 或者 Invisible,避免執行消耗資源較多的操作,例如:DROP INDEXADD INDEX

在 TiDB 5.0 性能調優或者運維過程中,用戶可以根據實際需要或者基於 EXPLAIN ANALYZE 測試選擇優化過的 SQL 語句,通過 SQL BINDING 將優化過的 SQL 語句與業務代碼執行的 SQL 語句綁定,確保穩定性。

數據生態:增加多個數據遷移、數據導入、數據共享組件,方便用戶在異構環境使用 TiDB

數據遷移方面

數據遷移類工具支持 AWS S3(也包含支持 S3 協議的其他存儲服務)作爲數據遷移的中間轉存介質,同時支持將 Aurora 快照數據直接初始化到 TiDB 中,豐富了數據從 AWS S3/Aurora 遷移到 TiDB 的選擇。

數據導入工具 TiDB Lightning 針對 DBaaS AWS T1.standard 配置(及其等同配置)的 TiDB 集羣進行了數據導入性能優化,測試結果顯示使用 TiDB Lightning 導入 1TB TPCC 數據到 TiDB,性能提升了 40%,由 254 GiB/h 提升到了 366 GiB/h。

數據共享方面

TiCDC 集成 Kafka Connect (Confluent Platform),通過 Kafka Connectors 協議,支持將 TiDB 的數據變更同步到不同關係型或非關係型數據庫,例如:Kafka, Hadoop, Oracle 等,幫助企業將業務數據流轉到異構數據庫,形成數據閉環。

TiCDC 支持在多套 TiDB 集羣之間相互複製數據,可用於多個 TiDB 集羣之間數據的備份、容災與數據匯聚等場景。

企業級特性:企業級特性獲得整體增強

事務方面

悲觀事務模式下,如果事務所涉及到的表存在併發的 DDL 操作或者 SCHEMA VERSION 變更,系統自動將該事務的 SCHEMA VERSION 更新到最新版本,以此確保事務的成功提交。

高可用與容災

TiDB 5.0 引入 Raft Joint Consensus 算法將 Region 成員變更操作中的“添加”和“刪除”合併爲一個操作,併發送給所有成員,提升 Region 成員變更時的可用性。在變更過程中,Region 處於中間的狀態,如果任何被修改的成員失敗,系統仍然具備高可用能力。

安全合規

爲滿足企業安全合規例如《通用數據保護條例》(GDPR) 的要求,TiDB 在輸出錯誤信息和日誌信息時,支持對敏感信息(例如身份證信息、信用卡號等)進行脫敏處理,避免敏感信息泄露。

此外,新版本進一步優化了內存管理模塊,跟蹤統計聚合函數的內存使用情況,從而降低系統 OOM 的風險。在 SQL 功能方面,TiDB 5.0 支持 INTERSECTEXCEPT 操作符、支持 List 和 List Column 分區表,在字符集和排序規則方面支持 utf8mb4_unicode_ciutf8_unicode_ci 排序規則。

總結

作爲企業級開源分佈式數據庫,TiDB 5.0 在性能、穩定性、易用性、高可用與安全合規等方面都取得了巨大的進步,並增加了多個企業級特性,在 OLTP Scale 的基礎之上實現了一棧式數據實時分析的需求,將帶動企業用戶藉助增強性 HTAP 的能力,加速推進數字化轉型與升級。

今天就去下載吧!

TiDB 5.0 Download

TiDB 5.0 GA Release Notes

特別感謝,TiDB 的開發者社區和用戶社區的所有小夥伴爲 TiDB 發展所作出的貢獻。從 TiDB 4.0 發佈以來總計有 538 位 Contributor 提交了 12513 個 PR 幫助我們一起完成企業級核心場景的里程碑版本的開發。如何讓 TiDB 在這個時代最優秀的場景中打磨從而不停的迭代和進化?我們相信唯有極致的開放才能讓這一切變爲可能:開放的源代碼,開放的社區,開放的生態和開放的心態!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章