TiDB

TiDB

TiDB 是 PingCAP 公司自主設計、研發的開源分散式關係型資料庫。

是一款同時支持線上事務處理與線上分析處理 (Hybrid Transactional and Analytical Processing, HTAP)的融合型分散式資料庫產品,具備水平擴容或者縮容、金融級高可用、實時 HTAP、雲原生的分散式資料庫、兼容 MySQL 5.7 協定和 MySQL 生態等重要特性。

基本介紹

  • 軟體名稱:TiDB
  • 開發商:PingCAP
  • 軟體套用:同時支持線上事務處理與線上分析處理
TiDB概況,TiDB的特性,TiDB的場景,

TiDB概況

目標是為用戶提供一站式 OLTP (Online Transactional Processing)、OLAP (Online Analytical Processing)、HTAP 解決方案。TiDB 適合高可用、強一致要求較高、數據規模較大等各種套用場景。
TiDB具體五大核心特性和四大核心場景。

TiDB的特性

1.一鍵水平擴容或者縮容
得益於 TiDB 存儲計算分離的架構的設計,可按需對計算、存儲分別進行線上擴容或者縮容,擴容或者縮容 過程中對套用運維人員透明。
2.金融級高可用
數據採用多副本存儲,數據副本通過 Multi-Raft 協定同步事務日誌,多數派寫入成功事務才能提交,確保數據強一致性且少數副本發生故障時不影響數據的可用性。可按需配置副本地理位置、副本數量等策略滿足不同容災級別的要求。
3.實時 HTAP
提供行存儲引擎 TiKV、列存儲引擎 TiFlash 兩款存儲引擎,TiFlash 通過 Multi-Raft Learner 協定實時從 TiKV 複製數據,確保行存儲引擎 TiKV 和列存儲引擎 TiFlash 之間的數據強一致。TiKV、TiFlash 可按需部署 在不同的機器,解決 HTAP 資源隔離的問題。
4.雲原生的分散式資料庫
專為雲而設計的分散式資料庫,通過 TiDB Operator 可在公有雲、私有雲、混合雲中實現部署工具化、自 動化。
5.兼容 MySQL 5.7 協定和 MySQL 生態
兼容 MySQL 5.7 協定、MySQL 常用的功能、MySQL 生態,套用無需或者修改少量代碼即可從 MySQL 遷移到 TiDB。提供豐富的數據遷移工具幫助套用便捷完成數據遷移。

TiDB的場景

1.對數據一致性及高可靠、系統高可用、可擴展性、容災要求較高的金融行業屬性的場景
眾所周知,金融行業對數據一致性及高可靠、系統高可用、可擴展性、容災要求較高。傳統的解決方案是同城兩個機房提供服務、異地一個機房提供數據容災能力但不提供服務,此解決方案存在以下缺點:資源利用率低、維護成本高、RTO (Recovery Time Objective) 及 RPO (Recovery Point Objective) 無法真實達到企業所期望的值。TiDB 採用多副本 + Multi-Raft 協定的方式將數據調度到不同的機房、機架、機器,當部分機器出現故障時系統可自動進行切換,確保系統的 RTO 不大於 30s 及 RPO = 0。
2.對存儲容量、可擴展性、並發要求較高的大量數據及高並發的OLTP場景
隨著業務的高速發展,數據呈現爆炸性的增長,傳統的單機資料庫無法滿足因數據爆炸性的增長對資料庫的容量要求,可行方案是採用分庫分表的中間件產品或者 NewSQL 資料庫替代、採用高端的存儲設備等,其中性價比最大的是 NewSQL 資料庫,例如:TiDB。TiDB 採用計算、存儲分離的架構,可對計算、存儲分別進行擴容和縮容,計算最大支持 512 節點,每個節點最大支持 1000 並發,集群容量最大支持 PB 級別。
3.Real-time HTAP場景
隨著 5G、物聯網、人工智慧的高速發展,企業所生產的數據會越來越多,其規模可能達到數百 TB 甚至 PB 級別,傳統的解決方案是通過 OLTP 型資料庫處理線上在線上交易業務,通過 ETL 工具將數據同步到 OLAP 型資料庫進行數據分析,這種處理方案存在存儲成本高、實時性差等多方面的問題。TiDB 在 4.0 版本中引入列存儲引擎 TiFlash 結合行存儲引擎 TiKV 構建真正的 HTAP 資料庫,在增加少量存儲成本的情況下,可以同一個系統中做在線上交易處理、實時數據分析,極大地節省企業的成本。
4.數據匯聚、二次加工處理的場景
當前絕大部分企業的業務數據都分散在不同的系統中,沒有一個統一的匯總,隨著業務的發展,企業的決策層需要了解整個公司的業務狀況以便及時作出決策,故需要將分散在各個系統的數據匯聚在同一個系統並進行二次加工處理生成 T+0 或 T+1 的報表。傳統常見的解決方案是採用 ETL + Hadoop 來完成,但 Hadoop 體系太複雜,運維、存儲成本太高無法滿足用戶的需求。與 Hadoop 相比,TiDB 就簡單得多,業務通過 ETL 工具或者 TiDB 的同步工具將數據同步到 TiDB,在 TiDB 中可通過 SQL 直接生成報表。

相關詞條

熱門詞條

聯絡我們