MyCat學習 ------分庫分表 隨筆

垂直切分、水平切分

1、垂直分庫,解決庫中表太多的問題。

2、垂直分表,解決表中列太多的問題。例如 商品表 包含 產地、二維碼 、時間、價格、各個列。分爲不同的小表。

水平切分, 大數據表拆分爲小表

水平拆分後還是要考慮小標太多 導致庫中表太多的問題,要綜合考慮是否需要垂直分庫。

 

拆分策略

垂直拆分(er分片) 相關聯的表放在一個庫

 

水平拆分  

範圍拆分      一直性hash  根據某一個屬性取模  例如 userId

 日期拆分

 

拆分後帶來的問題

1.垮庫join的問題 

    1.設計的時候 考慮應用層的JOIN的問題

    2. 通過服務層去做調用

   A服務   B 服務 

先從A 查結果  然後RPC 傳給B  再做拼接

 

全局表

 1、數據變更比較小的基於全局應用

做冗餘數據(空間換時間的方法)

 

垮分片數據排序分頁

1.應用層做分配

 

唯一主鍵問題

 

數據庫主從同步的原理

 

 

 主從同步的 延時問題: 心跳檢測 檢查 同步時間差。 應用層使用redis 寫入master時  取的時候 先去redis取 緩存失效再去數據庫取  從而導致數據同步時間差。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章