垂直切分、水平切分redis
一、垂直分庫,解決庫中表太多的問題。數據庫
二、垂直分表,解決表中列太多的問題。例如 商品表 包含 產地、二維碼 、時間、價格、各個列。分爲不一樣的小表。緩存
水平切分, 大數據表拆分爲小表大數據
水平拆分後仍是要考慮小標太多 致使庫中表太多的問題,要綜合考慮是否須要垂直分庫。設計
拆分策略blog
垂直拆分(er分片) 相關聯的表放在一個庫排序
水平拆分 同步
範圍拆分 一直性hash 根據某一個屬性取模 例如 userIdhash
日期拆分ast
拆分後帶來的問題
1.垮庫join的問題
1.設計的時候 考慮應用層的JOIN的問題
2. 經過服務層去作調用
A服務 B 服務
先從A 查結果 而後RPC 傳給B 再作拼接
全局表
一、數據變動比較小的基於全局應用
作冗餘數據(空間換時間的方法)
垮分片數據排序分頁
1.應用層作分配
惟一主鍵問題
數據庫主從同步的原理
主從同步的 延時問題: 心跳檢測 檢查 同步時間差。 應用層使用redis 寫入master時 取的時候 先去redis取 緩存失效再去數據庫取 從而致使數據同步時間差。