Tidb體驗記錄

2021-09-02 19:28:10 字數 1040 閱讀 3281

一直在尋找分布式資料庫解決方案,有看過mycat,mycat是乙個資料庫中間層產品,通過資料庫分割槽技術能提供乙個理論上無限擴充套件的大資料庫,背後核心還是mysql,我感覺不是終極解決方案,但可以算作是過度方案。

tidb進入我的視野,覺得思路比較有趣,對外以mysql 協議提供關聯式資料庫儲存服務,而核心是nosql技術實現分布式儲存和分布式計算。先不看其核心部分,單從對外提供相容 mysql服務這個角度看,這是很聰明的選擇,可以吸引龐大的mysql使用者群來嘗試使用。

我們已經基於mysql開發了很多專案,目前面臨的乙個瓶頸是隨著資料量越來越大,儲存空間擴充套件方面和查詢效能方面都面臨比較大的問題。一台伺服器的儲存容量總歸是有限的,如何能有效利用其他伺服器的儲存資源?還有計算資源等。

一般場景下mysql是搭建了主從環境,這意味著寫資料時必須要寫到主伺服器上,其他從伺服器可以同步到最新的資料。這樣就可以通過查詢從伺服器實現讀寫分離,大大減輕主伺服器的壓力。

但隨著資料量不斷增長,主伺服器和從伺服器的儲存都會出現難以滿足的情況,這時可能會考慮資料分割槽的方案把資料庫分拆成多個,分別儲存到不同伺服器上,但這需要遷移大量資料,可能在考慮不周的情況下會多次遷移資料,這在資料量到一定規模時遷移資料耗時會很長。而且應用程式往往也要適應這種資料庫分拆做改動,成本可能很高。

有沒有一種解決方案能彈性擴張資料庫的儲存資源和計算資源,也不需要複雜的資料分割槽以及改動相關應用程式?

這就是tidb 的解決方案,底層的資料儲存和計算資源可以動態擴充套件,前端的資料訪問服務是以相容mysql的協議開放出來,堪稱完美。

據tidb官方介紹,他們在相容mysql方面花了相當的精力,據說是直接用mysql的單元測試**來測試他們的**,保證完美相容。

我試著搭了乙個有3個節點的tidb環境,把我們乙個系統的介面呼叫日誌資料轉移過去,並且進行實時寫入。同時也開發了統計分析方面的查詢,測試跟mysql的相容性和效能,總體評估感覺是挺理想的,後面還需要持續測試一段時間觀察一下。

根據tidb官方**上講的,是希望滿足100% oltp資料庫以及80%的olap資料庫應用場景,這個目標是很有野心的,期待他們能達成,這樣我們就可以有乙個相當完美的資料庫解決方案了。

tidb和mysql導資料 TIDB資料遷移

使用 mydumper loader 全量匯出匯入資料 將 mysql 的資料遷移到 tidb,tidb完全相容 mysql 協議和生態,遷移便捷 使用官方提供的遷移工具 wget wget 檢查檔案完整性,返回 ok 則正確 sha256sum c tidb enterprise tools la...

IOS ARC體驗感受記錄

1 不需要寫retainreleaseautorelease 2 某物件只要被strong指標指向則不會被銷毀,直到所有指向它的strong指標都指向別的地方 3 預設情況下,所有例項變數和區域性變數都是strong型別的 4 weak型別的指標不持有物件,當所指物件失去所有指向它的strong指標...

工作記錄 HighChart初體驗

在外邊工作的時候接觸到很多js的前台框架,我們開發的系統整體邏輯很簡單,但是前台奇葩的功能還是比較多的,今天就聊一聊曲線這方面的例子。這裡的需求是 查出每個屋子的溫濕度,然後顯示曲線 前台 id container style min width 400px width 1100px height ...