現在有沒有好的TiDB實踐案例?
TiDB最近聽說很多,但不知道誰在用,實踐過程中有沒有什麼坑和驚喜?
現在我們已知的生產環境的用戶已經超過100家。我說一下一些在線用戶的實踐及用法還有典型場景。
1) 替換 MySQL Sharding 作為主生產資料庫
這個場景其實是 TiDB 設計的初衷,在單機 MySQL 數據量太大後,過去能選的基本就是分庫分表,再分不開的話就只能 Sharding,但是分庫分表 Sharding 其實不管是維護成本和開發改造成本都很高,所以 TiDB 給這些用戶提供了一個可以彈性擴展的,用起來就像單機 MySQL 一樣的,支持事務和複雜查詢的分散式資料庫,同時還支持多副本自動的高可用,當然很爽。
這部分用戶一般一開始上線前都會用 TiDB 的 Syncer, 將 TiDB 集群作為線上 MySQL 的從庫,實時同步線上的 MySQL 主庫,觀察一段時間穩定性兼容性、進行壓力測試後,直接將線上庫指向 TiDB,不用修改一行代碼。
這類用戶比如:
- Mobike,目前 TiDB 在摩拜部署了數套集群,近百個節點,承載著數十 TB 的各類數據,其中包括核心 OLTP 生產庫。到現在已經穩定運行超過半年。TiDB 在摩拜單車在線數據業務的應用和實踐
- 今日頭條,目前 TiDB 在支撐今日頭條的最核心的對象存儲的元信息服務,寫入大約幾十萬的 TPS,具體的數字就不方便透露了。
- 鳳凰網,TiDB 在鳳凰網新聞內容業務的創新實踐
- 猿題庫,TiDB 在猿輔導數據快速增長及複雜查詢場景下的應用實踐
- 360,TiDB 在 360 金融貸款實時風控場景應用
- 萬達金融,TiDB 幫助萬達網路科技集團實現高性能高質量的實時風控平台
等等.
2) 替換 HBase/C*/ES 等 NoSQL 資料庫
這類用戶主要是過去用著 NoSQL,希望在擁有彈性伸縮能力,可以線性擴展的實時並發寫入能力,再能擁有更強大的查詢能力,比如二級索引點查,比如複雜的 Join 支持。典型的應用場景是客服查詢,User profile 系統等等。
通常這類用戶的數據量巨大,可能單庫都有上百 T,TiDB 能很好的滿足:
- 大海撈針式的精準查詢
- Ad-hoc 分析
這一切都是在不犧牲實時寫入能力的同時擁有的。
一些客戶案例:
- 去哪兒,去哪兒網機票團隊用 TiDB 替換 HBase,Qunar 高速發展下資料庫的創新與發展 - TiDB 篇
- 餓了么,餓了么內部已經部署了多套 TiDB 集群,甚至直接使用 TiKV 用來替換 C*, 案例的文章正在撰稿,近期會發布
3) 使用 TiDB 作為實時數據倉庫
這類用戶是我們在剛開始做 TiDB 的時候完全沒想到的,隨著 TiDB 的 SQL 能力越來越強,並且隨著 TiDB 的子項目 TiSpark 的發布,讓用戶在擁有關係資料庫的事務寫入能力同時可以在同一份數據上進行複雜的分析;這類用戶一般用 Syncer 將所有線上生產資料庫同步到一個大的 TiDB 集群上(Syncer 支持多源同步,合併分庫分表等功能),然後直接在這個 TiDB Cluster 上通過 TiDB 或者 TiSpark 進行分析。
一些典型的用戶案例:
- 易果生鮮,TiDB / TiSpark 在易果集團實時數倉中的創新實踐
- 蓋婭互娛,日均數據量千萬級,MySQL、TiDB 兩種存儲方案的落地對比
- 游族網路
坑已經基本踩得差不多了,驚喜倒是不少,每次用戶發現我們,基本都是驚喜。。。
一個多租戶系統使用TiDB有沒有可能非常合適?
推薦閱讀:
※Hbase1.1.2的HTablePool已經被棄用,用什麼來代替HTablePool呢?
※Kaggle的比赛和平时的数据分析有哪些区别?
※像kaggle、datacastle、天池等大數據競賽,一般涉及哪些專業呢?
※一道bat面試題:快速替換10億條標題中的5萬個敏感詞,有哪些解決思路?
※2013 年末,IBM 連續 6 個季度業績下降,是出了什麼問題?