在當(dāng)前經(jīng)濟(jì)環(huán)境下,企業(yè)級(jí)用戶更加重視數(shù)據(jù)庫(kù)架構(gòu)的成本效益,趨向于將分散的數(shù)據(jù)實(shí)例遷移至統(tǒng)一的大型集群,以優(yōu)化運(yùn)行和統(tǒng)一管理。這種轉(zhuǎn)變帶來(lái)了對(duì)數(shù)據(jù)庫(kù)性能、穩(wěn)定性和精細(xì)管理的更高要求,同時(shí)也突顯了解決大規(guī)模集群運(yùn)維中的風(fēng)險(xiǎn)和問(wèn)題的重要性。TiDB 8.1 LTS 針對(duì)大規(guī)模數(shù)據(jù)庫(kù)環(huán)境,顯著增強(qiáng)了整體的穩(wěn)定性和運(yùn)維管理能力,同時(shí)在數(shù)據(jù)導(dǎo)入和運(yùn)維安全性等方面為用戶提供了全面優(yōu)化的體驗(yàn)。

性能與穩(wěn)定性:并行執(zhí)行框架與全局排序協(xié)同,提升大規(guī)模數(shù)據(jù)寫(xiě)入的性能和穩(wěn)定性

擴(kuò)大并發(fā)度是提高分布式系統(tǒng)性能的關(guān)鍵,對(duì)于處理大規(guī)模數(shù)據(jù)系統(tǒng)尤為關(guān)鍵。分布式執(zhí)行框架(Distributed eXecution Framework,簡(jiǎn)稱 DXF)自 TiDB v7.2 引入,在 v8.1 正式 GA。分布式執(zhí)行框架可以將用戶提交的任務(wù)(目前支持?jǐn)?shù)據(jù)導(dǎo)入和添加索引)分解為多個(gè)子任務(wù),并在多個(gè) TiDB 節(jié)點(diǎn)上進(jìn)行調(diào)度和執(zhí)行,有效提高了任務(wù)的執(zhí)行效率。DXF 通過(guò)動(dòng)態(tài)任務(wù)分配,實(shí)現(xiàn)任務(wù)的隔離執(zhí)行,提升了整個(gè)集群的穩(wěn)定性和可靠性。

全局排序(Global Sort)為多個(gè) TiDB 節(jié)點(diǎn)維護(hù)了一塊共同的排序空間,通過(guò)一體化排序整理,使得每個(gè) TiDB 節(jié)點(diǎn)所導(dǎo)入的數(shù)據(jù)不會(huì)有重疊,不會(huì)觸發(fā) TiKV 進(jìn)行 compaction 操作,從而顯著提升并發(fā)數(shù)據(jù)導(dǎo)入的性能和穩(wěn)定性。

性能與穩(wěn)定性:快照備份的恢復(fù)速度提升 倍,守好集群可用性防線

數(shù)據(jù)備份作為數(shù)據(jù)安全的關(guān)鍵防線,在大型數(shù)據(jù)庫(kù)系統(tǒng)中尤為重要。面對(duì)潛在的數(shù)據(jù)丟失或損壞,快速的數(shù)據(jù)恢復(fù)能力對(duì)于業(yè)務(wù)連續(xù)性至關(guān)重要。TiDB 研發(fā)團(tuán)隊(duì)通過(guò)采用粗粒度打散 Region 算法、批量創(chuàng)建庫(kù)表、降低 SST 文件下載和 Ingest 操作之間的相互影響、加速表統(tǒng)計(jì)信息恢復(fù)等措施,顯著提升了快照的恢復(fù)速度。v 8.1 版本實(shí)現(xiàn)了數(shù)據(jù)傳輸速度的近 10 倍提升,以及 1.5-3 倍的恢復(fù)速度提升,能夠在 1 小時(shí)內(nèi)完成對(duì) 100 TB 數(shù)據(jù)的恢復(fù)。這一進(jìn)步在極端情況下大幅減少了業(yè)務(wù)中斷的風(fēng)險(xiǎn),對(duì)大型數(shù)據(jù)庫(kù)系統(tǒng)的穩(wěn)定運(yùn)行具有重大意義。

穩(wěn)定性:TiProxy 支持自有部署,實(shí)現(xiàn)無(wú)感數(shù)據(jù)庫(kù)運(yùn)維

隨著更多數(shù)據(jù)庫(kù)實(shí)例合并至 TiDB 集群,業(yè)務(wù)系統(tǒng)的種類和數(shù)量也相應(yīng)增加,對(duì)可用性的要求也隨之提高。TiProxy 因此誕生,并在 8.1 LTS 版本中正式 GA。TiProxy 作為數(shù)據(jù)庫(kù)端的連接服務(wù),根據(jù) TiDB 實(shí)例的負(fù)載和狀態(tài)智能轉(zhuǎn)發(fā)客戶端操作,保證了即使在 TiDB 實(shí)例宕機(jī)的情況下,客戶端連接也不受影響。在 TiDB 集群執(zhí)行滾動(dòng)重啟、升級(jí)、縮容等維護(hù)操作時(shí),TiProxy 能夠平滑遷移連接,提供負(fù)載均衡,實(shí)現(xiàn)客戶端的”無(wú)感”數(shù)據(jù)庫(kù)運(yùn)維。

易用性:跨數(shù)據(jù)庫(kù)執(zhí)行計(jì)劃綁定,簡(jiǎn)化合并數(shù)據(jù)庫(kù)的 SQL 調(diào)優(yōu)工作

將應(yīng)用系統(tǒng)中的租戶存儲(chǔ)在不同數(shù)據(jù)庫(kù)(Schema)中是 SaaS 或 PaaS 業(yè)務(wù)系統(tǒng)的常見(jiàn)建模方式,也適用于原有分庫(kù)合并后的系統(tǒng)。這種方式是在每個(gè) Schema 中創(chuàng)建完全一致的對(duì)象,執(zhí)行相似的業(yè)務(wù) SQL,帶來(lái)了數(shù)據(jù)隔離的好處。然而,這也增加了 SQL 種類,為 SQL 調(diào)優(yōu)帶來(lái)挑戰(zhàn)。TiDB 在 v8.1 中支持創(chuàng)建跨數(shù)據(jù)庫(kù)執(zhí)行計(jì)劃綁定(cross-db binding),一個(gè)執(zhí)行計(jì)劃綁定能夠匹配到只有 Schema 不同的多個(gè) SQL 語(yǔ)句,大幅簡(jiǎn)化了在這類建模下的 SQL 調(diào)優(yōu)工作。

可觀測(cè)性:觀測(cè)并識(shí)別無(wú)用或低效的索引,治愈系統(tǒng)調(diào)優(yōu)的后遺癥

索引設(shè)計(jì)對(duì)數(shù)據(jù)庫(kù)性能調(diào)優(yōu)至關(guān)重要。長(zhǎng)時(shí)間調(diào)優(yōu)后,系統(tǒng)可能積累大量索引,消耗存儲(chǔ)空間,占用運(yùn)行資源,降低了 DML 操作速度。在大規(guī)模集群中,刪除索引是一項(xiàng)對(duì)性能風(fēng)險(xiǎn)極高的操作。TiDB 8.1 LTS 版本引入索引使用監(jiān)控功能,通過(guò)內(nèi)存表 TIDB_INDEX_USAGE 記錄每個(gè)索引自實(shí)例啟動(dòng)以來(lái)的運(yùn)行情況,包括索引被選擇的次數(shù)、掃描行數(shù)以及每次掃描時(shí)的選擇率范圍等信息,從而幫助管理員識(shí)別出需要?jiǎng)h除的索引和有優(yōu)化空間的索引。

TiDB 將持續(xù)致力于解決大規(guī)模數(shù)據(jù)庫(kù)集群的穩(wěn)定性和易用性問(wèn)題,不斷迭代演進(jìn),為關(guān)鍵業(yè)務(wù)提供可靠、高效的分布式數(shù)據(jù)庫(kù)解決方案,滿足用戶的創(chuàng)新發(fā)展和多樣化的數(shù)據(jù)服務(wù)需求。

分享到

songjy

相關(guān)推薦