在當前經濟環(huán)境下,企業(yè)級用戶更加重視數據庫架構的成本效益,趨向于將分散的數據實例遷移至統(tǒng)一的大型集群,以優(yōu)化運行和統(tǒng)一管理。這種轉變帶來了對數據庫性能、穩(wěn)定性和精細管理的更高要求,同時也突顯了解決大規(guī)模集群運維中的風險和問題的重要性。TiDB 8.1 LTS 針對大規(guī)模數據庫環(huán)境,顯著增強了整體的穩(wěn)定性和運維管理能力,同時在數據導入和運維安全性等方面為用戶提供了全面優(yōu)化的體驗。
性能與穩(wěn)定性:并行執(zhí)行框架與全局排序協(xié)同,提升大規(guī)模數據寫入的性能和穩(wěn)定性
擴大并發(fā)度是提高分布式系統(tǒng)性能的關鍵,對于處理大規(guī)模數據系統(tǒng)尤為關鍵。分布式執(zhí)行框架(Distributed eXecution Framework,簡稱 DXF)自 TiDB v7.2 引入,在 v8.1 正式 GA。分布式執(zhí)行框架可以將用戶提交的任務(目前支持數據導入和添加索引)分解為多個子任務,并在多個 TiDB 節(jié)點上進行調度和執(zhí)行,有效提高了任務的執(zhí)行效率。DXF 通過動態(tài)任務分配,實現(xiàn)任務的隔離執(zhí)行,提升了整個集群的穩(wěn)定性和可靠性。
全局排序(Global Sort)為多個 TiDB 節(jié)點維護了一塊共同的排序空間,通過一體化排序整理,使得每個 TiDB 節(jié)點所導入的數據不會有重疊,不會觸發(fā) TiKV 進行 compaction 操作,從而顯著提升并發(fā)數據導入的性能和穩(wěn)定性。
性能與穩(wěn)定性:快照備份的恢復速度提升 3 倍,守好集群可用性防線
數據備份作為數據安全的關鍵防線,在大型數據庫系統(tǒng)中尤為重要。面對潛在的數據丟失或損壞,快速的數據恢復能力對于業(yè)務連續(xù)性至關重要。TiDB 研發(fā)團隊通過采用粗粒度打散 Region 算法、批量創(chuàng)建庫表、降低 SST 文件下載和 Ingest 操作之間的相互影響、加速表統(tǒng)計信息恢復等措施,顯著提升了快照的恢復速度。v 8.1 版本實現(xiàn)了數據傳輸速度的近 10 倍提升,以及 1.5-3 倍的恢復速度提升,能夠在 1 小時內完成對 100 TB 數據的恢復。這一進步在極端情況下大幅減少了業(yè)務中斷的風險,對大型數據庫系統(tǒng)的穩(wěn)定運行具有重大意義。
穩(wěn)定性:TiProxy 支持自有部署,實現(xiàn)“無感“數據庫運維
隨著更多數據庫實例合并至 TiDB 集群,業(yè)務系統(tǒng)的種類和數量也相應增加,對可用性的要求也隨之提高。TiProxy 因此誕生,并在 8.1 LTS 版本中正式 GA。TiProxy 作為數據庫端的連接服務,根據 TiDB 實例的負載和狀態(tài)智能轉發(fā)客戶端操作,保證了即使在 TiDB 實例宕機的情況下,客戶端連接也不受影響。在 TiDB 集群執(zhí)行滾動重啟、升級、縮容等維護操作時,TiProxy 能夠平滑遷移連接,提供負載均衡,實現(xiàn)客戶端的”無感”數據庫運維。
易用性:跨數據庫執(zhí)行計劃綁定,簡化合并數據庫的 SQL 調優(yōu)工作
將應用系統(tǒng)中的租戶存儲在不同數據庫(Schema)中是 SaaS 或 PaaS 業(yè)務系統(tǒng)的常見建模方式,也適用于原有分庫合并后的系統(tǒng)。這種方式是在每個 Schema 中創(chuàng)建完全一致的對象,執(zhí)行相似的業(yè)務 SQL,帶來了數據隔離的好處。然而,這也增加了 SQL 種類,為 SQL 調優(yōu)帶來挑戰(zhàn)。TiDB 在 v8.1 中支持創(chuàng)建跨數據庫執(zhí)行計劃綁定(cross-db binding),一個執(zhí)行計劃綁定能夠匹配到只有 Schema 不同的多個 SQL 語句,大幅簡化了在這類建模下的 SQL 調優(yōu)工作。
可觀測性:觀測并識別無用或低效的索引,治愈系統(tǒng)調優(yōu)的“后遺癥“
索引設計對數據庫性能調優(yōu)至關重要。長時間調優(yōu)后,系統(tǒng)可能積累大量索引,消耗存儲空間,占用運行資源,降低了 DML 操作速度。在大規(guī)模集群中,刪除索引是一項對性能風險極高的操作。TiDB 8.1 LTS 版本引入索引使用監(jiān)控功能,通過內存表 TIDB_INDEX_USAGE 記錄每個索引自實例啟動以來的運行情況,包括索引被選擇的次數、掃描行數以及每次掃描時的選擇率范圍等信息,從而幫助管理員識別出需要刪除的索引和有優(yōu)化空間的索引。
TiDB 將持續(xù)致力于解決大規(guī)模數據庫集群的穩(wěn)定性和易用性問題,不斷迭代演進,為關鍵業(yè)務提供可靠、高效的分布式數據庫解決方案,滿足用戶的創(chuàng)新發(fā)展和多樣化的數據服務需求。