TiDB入門(四):從入門到“跑路”
前面三章基本把 TiDB 的環境弄好了,也做了一下簡單測試,有興趣的同學可以看一下:
TiDB 入門(二):虛擬機器搭建 TiDB-Ansible 部署方案
本來還有一些用 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 的,希望有一天能夠用上。