TiDB 適用場景

2021-10-25 01:57:45 字數 2319 閱讀 3461

tidb 適用場景:

1.強一致性分布式事務:

可以把 tidb 想象成乙個單機的 rdbms,acid 事務可以在多節點間進行,無需擔心一致性問題。 tidb 對業務

沒有任何侵入性,是傳統的資料庫中介軟體、資料庫分庫分表等優雅的替換方案。

重點解決 mysql 的單機效能和容量無法線性和靈活擴充套件的問題.

2.資料歸檔庫:

若儲存不足的時候可以水平擴充套件機器,tidb的儲存量大,歸檔的時候可以無需考慮磁碟空間。

配合tidb的工具(syncer\mydumper\loader 和tidb dm)可實現自動歸檔,當然也無需要考慮源庫的操作。

順序寫入的場景:日誌寫入、資料審計、財務流水

3.mysql單庫超過億行級別的表較多,否則量級達不到效能不如mysql。至少是5000萬行級別以上的。

4.業務爆發式增長,有高併發,業務量增長較快。

5.olap:

tidb 本身的sql對olap支援有限制,需要結合tispark.在tidb3.

0之前不支援view,不支援windows functions,

cte也不支援,tidb自身對olap查詢有限。由於tidb優先oltp,借鑑google的 spanner,

對批量insert、update、delete操作單次限制在30萬行,需要手動修改引數支援dml大批量操作。

6.mysql+mycat 這種分庫分表的資料合併:

mysql+mycat的可支撐單錶10億級別的業務,但是需要配置mycat等資料庫中介軟體,比較繁瑣。

由於tidb自身就支援自動分片的功能,可以替換mysql+mycat這種方案。

7.異地多中心、auto-failover保證資料庫高可用:

tidb 使用多副本進行資料儲存,並依賴業界最先進的 raft 多數派選舉演算法確保資料 100

% 強一致性和高可用。 副本

可跨地域部署在的不同的資料中心,主副本故障時自動切換,無需人工介入,自動保障業務的連續性,實現真正意義上

的異地多活。不過在實際部署異地多活的時候還是需要考慮網路傳輸等因素.

8.資料量大時,水平彈性擴充套件:

分布式的 tidb 可隨著你的資料增長而無縫地水平擴充套件,只需要通過增加更多的機器來滿足業務增長需要,應用層可以

不用關心儲存的容量和吞吐。 tidb 根據儲存、網路、距離等因素,動態進行負載均衡調整,以保證更優的讀寫效能。

tidb 不適用場景:

1.mysql單錶儲存資料在億級別以下的時候,mysql+mycat方案效能要比tidb高。

2.資金預算緊張的情況下,執行乙個tidb集群至少需要6台高配ssd硬碟的主機(建議支援nvme協議)

隨著時間的推移和硬體的發展,硬體成本會降低。

3.tidb on cloud

雖然有tidb operator 專案,但是截至2023年3月還不穩定和效能不足,不推薦執行在生產的kubernetes集群。

尚在poc階段。但是cloud db 是大勢所趨。

4.要求100

%不修改源**遷移應用從mysql遷移到tidb。

這個主要是tidb目前對mysql的函式和功能的相容性不足導致的。預期tidb 3.0會相容mysql8.

0版本大部分功能。

tidb 不足的地方:

1.宣稱htap,對於olap支援還需要大力發展 ,一般olap是列存計算上有比較大的優勢,如何在乙個資料庫裡做到行存和列存共存是需要解決的。

2.採用rocksdb 作為儲存引擎,其自身存在寫放大缺陷(write amplification )

3.由於是相容mysql的語法,而不是標準sql,對一些高頻sql語句(merge、full join等)支援不足

4.tidb作為olap應用的時候,若oltp和olap放置到一起對業務影響還是會較大的,需要做資源限制。尚需tidb的

開發人員努力優化的,作為宣稱的htap效能有待商榷和驗證。

業界採用的方案:

bat三家有自己開發的對應的雲資料庫,國內的***

(toutiao、meituan\xiaomi、didi)等網際網路企業均有使用.

被替換的產品:

1.tidb替換掉mysql+mycat

2.tidb替換掉hbase

3.tidb替換掉

4.替換掉oltp和olap是兩套儲存和計算的方案

tidb 暢想:

1.如何提公升olap的效能?支援列存資料庫

2.對於新興的硬體的支援如gpu加速、fpga.

3.生產級的tidb on kubernetes

4.sql標準的支援而非mysql的sql 方言

TiDB適用場景和不適用場景

一 tidb簡介 tidb 是 pingcap 公司受 google spanner f1 啟發而設計的開源分布式 htap hybrid transactional and analytical processing 資料庫,結合了傳統的 rdbms 和nosql 的最佳特性。tidb 相容 my...

TiDB 的適用場景和不適用場景

典型的oltp場景 當您需要對海量資料 數十億行 進行隨機 實時讀 寫訪問時 實時 htap 場景 實時htap 混合事務 分析處理 要是有乙個使用tidb的類似oltp的場景,並且希望在tiflash的幫助下原地進行 olap分析時,新鮮的資料,對oltp效能無干擾 資料整合 有多個資料來源時,可...

TiDB適用和不適用場景

tidb 的典型的應用場景是 1 原業務的 mysql 的業務遇到單機容量或者效能瓶頸時,可以考慮使用 tidb 無 縫替換 mysql。tidb 可以提供如下特性 2 大資料量下,mysql 複雜查詢很慢。3 大資料量下,資料增長很快,接近單機處理的極限,不想分庫分表或者使用資料庫中介軟體等對業務...