隨著 2021 年春天的來臨和 PingCAP 年滿 6 周歲紀(jì)念日的到來,TiDB 5.0 迎來正式 GA。經(jīng)過近一年緊鑼密鼓的開發(fā)和打磨,TiDB 5.0 成為邁向企業(yè)級核心場景的里程碑版本:TiDB 5.0 的性能和穩(wěn)定性得到顯著提升,從而具備更強(qiáng)大的 OLTP 金融級核心場景的服務(wù)能力;在原有 HTAP 引擎 TiFlash 的基礎(chǔ)上引入 MPP 架構(gòu),TiDB 使得眾多企業(yè)的實(shí)時(shí)/交互式 BI 成為現(xiàn)實(shí),為高成長企業(yè)和數(shù)字化創(chuàng)新場景提供了一棧式的數(shù)據(jù)服務(wù)底座,加速帶動 HTAP 進(jìn)入更多大型企業(yè)的數(shù)字化場景。
此外,TiDB 5.0 新增多項(xiàng)企業(yè)級特性,集成更豐富的大數(shù)據(jù)生態(tài),提供更加簡易的運(yùn)維體驗(yàn),幫助企業(yè)更高效地基于 TiDB 構(gòu)建和擴(kuò)展應(yīng)用。秉持開源、開放、創(chuàng)新的發(fā)展路徑,TiDB 將持續(xù)為企業(yè)構(gòu)建“融合,簡化,可靠”的分布式數(shù)據(jù)庫平臺。
高性能:多項(xiàng)性能指標(biāo)實(shí)現(xiàn)突破
相比于 TiDB 4.0,TiDB 5.0 在性能方面取得了巨大的進(jìn)步,通過提供聚簇索引、異步提交事務(wù)、TiFlash MPP 等功能, 在 Sysbench 和 TPC-C 等 OLTP 的基準(zhǔn)測試中,獲得 20% ~ 80% 的性能提升?;?100 GB 數(shù)據(jù)量 TPC-H 查詢的結(jié)果顯示:TiDB 5.0 在同等資源下,MPP 引擎的總體性能是 Greenplum 6.15.0 與 Apache Spark 3.1.1 兩到三倍之間,部分查詢可達(dá) 8 倍性能差異。如下是在一些通用性能測試場景下面的數(shù)據(jù):
配置信息
TPC-H 100 下的 TiDB MPP 測試的硬件規(guī)格和測試詳情請點(diǎn)擊這里查閱
負(fù)載信息
16 張表,每張表有 1000 萬行數(shù)據(jù)。
性能數(shù)據(jù)
穩(wěn)定性:衡量 TPC-C tpm-C 抖動的標(biāo)準(zhǔn)差值小于等于 2%
相比于 TiDB 4.0,TiDB 5.0 在穩(wěn)定性上面取得了巨大的進(jìn)步。通過優(yōu)化 TiDB 調(diào)度過程中對 I/O、網(wǎng)絡(luò)、CPU、內(nèi)存等資源的占用,大幅減少 QPS 和延時(shí)因?yàn)橘Y源被搶占而出現(xiàn)的性能抖動問題,在 TPC-C OLTP 的基準(zhǔn)測試中,衡量 TPC-C tpmC 抖動標(biāo)準(zhǔn)差的值小于等于 2%。
配置信息
Intel(R) Xeon(R) CPU E5-2630 v4 @ 2.20GHz 40Core 189GB Memory 3TB SSD
易用性:更精準(zhǔn),更高效,更全面
更精準(zhǔn)的性能排查
用戶在排查 SQL 語句性能問題時(shí),需要詳細(xì)的信息來判斷原因。TiDB 5.0 通過 EXPLAIN 可查看日志、監(jiān)控等詳細(xì)信息,幫助用戶提升排查問題的效率。
更高效的集群運(yùn)維
在 TiDB 5.0 中,TiUP 支持一鍵式環(huán)境檢查并給出修復(fù)建議,自動修復(fù)檢查過程中發(fā)現(xiàn)的環(huán)境問題,優(yōu)化了多項(xiàng)集群部署的操作邏輯,便于 DBA 更快地部署標(biāo)準(zhǔn)的 TiDB 生產(chǎn)集群。新版本的 TiUP 提供業(yè)務(wù)無感知的升級體驗(yàn),升級過程中的性能抖動控制在 10~30 秒。
在升級 TiDB 時(shí),新增自動捕獲并綁定查詢計(jì)劃的功能,由系統(tǒng)自動捕獲并綁定最近一次查詢計(jì)劃然后存儲在系統(tǒng)表中,確保升級過程中的 SQL 仍然走綁定的執(zhí)行計(jì)劃,確保穩(wěn)定性。升級完成后,DBA 可以導(dǎo)出綁定的查詢計(jì)劃,分析并決策是否要?jiǎng)h除綁定。
更全面的 SQL 調(diào)優(yōu)
TiDB 5.0 支持不可見索引 (Invisible Indexes),DBA 在調(diào)試和選擇相對最優(yōu)的索引時(shí),可以通過 SQL 語句將某個(gè)索引設(shè)置成 Visible 或者 Invisible,避免執(zhí)行消耗資源較多的操作,例如:DROP INDEX 或 ADD INDEX。
在 TiDB 5.0 性能調(diào)優(yōu)或者運(yùn)維過程中,用戶可以根據(jù)實(shí)際需要或者基于 EXPLAIN ANALYZE 測試選擇優(yōu)化過的 SQL 語句,通過 SQL BINDING 將優(yōu)化過的 SQL 語句與業(yè)務(wù)代碼執(zhí)行的 SQL 語句綁定,確保穩(wěn)定性。
數(shù)據(jù)生態(tài):增加多個(gè)數(shù)據(jù)遷移、數(shù)據(jù)導(dǎo)入、數(shù)據(jù)共享組件,方便用戶在異構(gòu)環(huán)境使用 TiDB
數(shù)據(jù)遷移方面
數(shù)據(jù)遷移類工具支持 AWS S3(也包含支持 S3 協(xié)議的其他存儲服務(wù))作為數(shù)據(jù)遷移的中間轉(zhuǎn)存介質(zhì),同時(shí)支持將 Aurora 快照數(shù)據(jù)直接初始化到 TiDB 中,豐富了數(shù)據(jù)從 AWS S3/Aurora 遷移到 TiDB 的選擇。
數(shù)據(jù)導(dǎo)入工具 TiDB Lightning 針對 DBaaS AWS T1.standard 配置(及其等同配置)的 TiDB 集群進(jìn)行了數(shù)據(jù)導(dǎo)入性能優(yōu)化,測試結(jié)果顯示使用 TiDB Lightning 導(dǎo)入 1TB TPCC 數(shù)據(jù)到 TiDB,性能提升了 40%,由 254 GiB/h 提升到了 366 GiB/h。
數(shù)據(jù)共享方面
TiCDC 集成 Kafka Connect (Confluent Platform),通過 Kafka Connectors 協(xié)議,支持將 TiDB 的數(shù)據(jù)變更同步到不同的關(guān)系型或非關(guān)系型數(shù)據(jù)庫,例如:Kafka、Hadoop、Oracle 等,幫助企業(yè)將業(yè)務(wù)數(shù)據(jù)流轉(zhuǎn)到異構(gòu)數(shù)據(jù)庫,形成數(shù)據(jù)閉環(huán)。
TiCDC 支持在多套 TiDB 集群之間相互復(fù)制數(shù)據(jù),可用于多個(gè) TiDB 集群之間數(shù)據(jù)的備份、容災(zāi)與數(shù)據(jù)匯聚等場景。
企業(yè)級特性:企業(yè)級特性獲得整體增強(qiáng)
事務(wù)方面
悲觀事務(wù)模式下,如果事務(wù)所涉及到的表存在并發(fā)的 DDL 操作或者 SCHEMA VERSION 變更,系統(tǒng)自動將該事務(wù)的 SCHEMA VERSION 更新到最新版本,以此確保事務(wù)的成功提交。
高可用與容災(zāi)
TiDB 5.0 引入 Raft Joint Consensus 算法將 Region 成員變更操作中的“添加”和“刪除”合并為一個(gè)操作,并發(fā)送給所有成員,提升 Region 成員變更時(shí)的可用性。在變更過程中,Region 處于中間的狀態(tài),如果任何被修改的成員失敗,系統(tǒng)仍然具備高可用能力。
安全合規(guī)
為滿足企業(yè)安全合規(guī)例如《通用數(shù)據(jù)保護(hù)條例》(GDPR) 的要求,TiDB 在輸出錯(cuò)誤信息和日志信息時(shí),支持對敏感信息(例如身份證信息、信用卡號等)進(jìn)行脫敏處理,避免敏感信息泄露。
此外,新版本進(jìn)一步優(yōu)化了內(nèi)存管理模塊,跟蹤統(tǒng)計(jì)聚合函數(shù)的內(nèi)存使用情況,從而降低系統(tǒng) OOM 的風(fēng)險(xiǎn)。在 SQL 功能方面,TiDB 5.0 支持 INTERSECT 和 EXCEPT 操作符、支持 List 和 List Column 分區(qū)表,在字符集和排序規(guī)則方面支持 utf8mb4_unicode_ci和 utf8_unicode_ci 排序規(guī)則。
總結(jié)
作為企業(yè)級開源分布式數(shù)據(jù)庫,TiDB 5.0 在性能、穩(wěn)定性、易用性、高可用與安全合規(guī)等方面都取得了巨大的進(jìn)步,并增加了多個(gè)企業(yè)級特性,在 OLTP Scale 的基礎(chǔ)之上實(shí)現(xiàn)了一棧式數(shù)據(jù)實(shí)時(shí)分析的需求,將帶動企業(yè)用戶借助增強(qiáng)性 HTAP 的能力,加速推進(jìn)數(shù)字化轉(zhuǎn)型與升級。
特別感謝,TiDB 的開發(fā)者社區(qū)和用戶社區(qū)的所有小伙伴為 TiDB 發(fā)展所作出的貢獻(xiàn)。從 TiDB 4.0 發(fā)布以來總計(jì)有 538 位 Contributor 提交了 12513 個(gè) PR 幫助我們一起完成企業(yè)級核心場景的里程碑版本的開發(fā)。如何讓 TiDB 在這個(gè)時(shí)代最優(yōu)秀的場景中打磨從而不停地迭代和進(jìn)化?我們相信唯有極致的開放才能讓這一切變?yōu)榭赡埽洪_放的源代碼,開放的社區(qū),開放的生態(tài)和開放的心態(tài)!
(免責(zé)聲明:本網(wǎng)站內(nèi)容主要來自原創(chuàng)、合作伙伴供稿和第三方自媒體作者投稿,凡在本網(wǎng)站出現(xiàn)的信息,均僅供參考。本網(wǎng)站將盡力確保所提供信息的準(zhǔn)確性及可靠性,但不保證有關(guān)資料的準(zhǔn)確性及可靠性,讀者在使用前請進(jìn)一步核實(shí),并對任何自主決定的行為負(fù)責(zé)。本網(wǎng)站對有關(guān)資料所引致的錯(cuò)誤、不確或遺漏,概不負(fù)任何法律責(zé)任。
任何單位或個(gè)人認(rèn)為本網(wǎng)站中的網(wǎng)頁或鏈接內(nèi)容可能涉嫌侵犯其知識產(chǎn)權(quán)或存在不實(shí)內(nèi)容時(shí),應(yīng)及時(shí)向本網(wǎng)站提出書面權(quán)利通知或不實(shí)情況說明,并提供身份證明、權(quán)屬證明及詳細(xì)侵權(quán)或不實(shí)情況證明。本網(wǎng)站在收到上述法律文件后,將會依法盡快聯(lián)系相關(guān)文章源頭核實(shí),溝通刪除相關(guān)內(nèi)容或斷開相關(guān)鏈接。 )