1. 程式人生 > >TiDB入門(四):從入門到“跑路”

TiDB入門(四):從入門到“跑路”

大小 -a 公司 硬件要求 clas 簡單測試 理由 解決問題 end

前言

前面三章基本把 TiDB 的環境弄好了,也做了一下簡單測試,有興趣的同學可以看一下:
TiDB 入門(一):TiDB 簡介
TiDB 入門(二):虛擬機搭建 TiDB-Ansible 部署方案
TiDB 入門(三):簡單測試
本來還有一些用 jmeter 壓力測試的,後來測試的結果非常不好,就不想寫出來了,因為自己畢竟是用虛擬機模擬的和 TiDB 官網推薦的配置差很多,如果自己寫出來是有失偏頗的。

為何“跑路”

我們可以看到,TiDB 對性能要求特別高,簡單看一下配置。參考:軟硬件要求

開發測試環境:

組件 CPU 內存 本地存儲 網絡 實例數量(最低要求)
TiDB 8 核 16 GB+ 無特殊要求 千兆網卡 1(可與 PD 同機器
PD 4 核+ 8 GB+ SAS, 200 GB+ 千兆網卡 1(可與 TiDB 同機器
TiKV 8 核 32 GB+ SSD, 200 GB+ 千兆網卡 3

生產環境:

組件 CPU 內存 硬盤類型 網絡 實例數量(最低要求)
TiDB 16 核+ 32 GB+ SAS 萬兆網卡(2 塊最佳) 2
PD 4 核+ 8 GB+ SSD 萬兆網卡(2 塊最佳) 3
TiKV 16 核+ 32 GB+ SSD 萬兆網卡(2 塊最佳) 3
監控 8 核+ 16 GB+ SAS 千兆網卡 1

開發環境大概就需要兩臺 DELL 服務器才能滿足 CPU 和內存的要求。

並且最貴的應該是 SSD,因為是需要服務器級別的 SSD 所以會非常貴。如果要高可用 raid 5 磁盤序列需要再乘以 3 倍。
而生產環境感覺需要六臺 DELL 服務器才能滿足,大概是開發環境的 3 倍要求。

用不到

我們之前也簡單測試過,以我那臺虛擬機搭建的 TiDB 只有在數據量千萬級別才會和 MySQL 的性能相當,
我好好回顧了一下自己公司用的表大小,過百萬的都非常少,其實 MySQL 完全夠用, 現在完全沒有足夠的理由去說服公司去使用 TiDB。

再次翻開TiDB 正確使用姿勢, 結尾的一句話好好記住:
如果整篇文章你只想記住一句話,那就是數據條數少於 5000w 的場景下通常用不到 TiDB,TiDB 是為大規模的數據場景設計的。

如果還想記住一句話,那就是單機 MySQL 能滿足的場景也用不到 TiDB。

結尾

當然這次“跑路”並不是永遠放棄 TiDB,等單表業務需求到了 5000w 以上的時候,我們不能用 MySQL 解決問題的時候,我相信 TiDB 仍然是值得用的,因為 MySQL 做擴展的能力沒有 TiDB 好,用現在一句流行的話來說,能用錢搞定的就不是問題,性能達到瓶頸,我用機器性能去堆就可以了。

當然以後還是會持續學習 TiDB 的,希望有一天能夠用上。

TiDB入門(四):從入門到“跑路”