8. 數據庫架構設計思想--主從和分庫分表

數據庫性能測試目的和範圍

  • 目的
  1. 發現數據庫性能瓶頸.
  • 範圍.
  1. sql查詢(慢查詢)
  2. 資源使用率
  3. 數據庫架構合理性
  4. 性能指標,比如:事務(Transactions Per Second,每秒傳輸的事物處理個數,即服務器每秒處理的事務數)

數據庫常用架構

一主多從

![在這裏插入圖片描述](https://img-blog.csdnimg.cn/20200519080033673.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_a HR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80MjE4Mzg1NA==,size_16,color_FFFFFF,t_70)

  • 優點
  1. 讀寫分離
  2. 分擔了單臺數據庫壓力
  • 缺點
  1. 存在主從數據延遲

雙機熱備

https://baijiahao.baidu.com/s?id=1640091002910074654&wfr=spider&for=pc

基於keepAlived實現.

  • 優點
  1. 沒有主從延時
  2. 一臺掛掉後,虛擬ip會跑到另一臺
  • 缺點
  1. 負荷沒有分散.
  2. 需要硬件提升性能

數據庫主從同步工作原理

  1. master將改變記錄下來
  2. 將改變傳輸到slave
  3. slave將根據日誌,將數據反映到自己數據庫

數據庫分庫分表設計方法

拆分原因

  1. 單表或者庫數據量太大
  2. 硬件不能升級

升級硬件是萬能提升性能方法.

方案

1. 業務拆分

用戶表,商品表,訂單表等等

2. 垂直拆分

舉例: 將商品表拆分爲牀上用品,母嬰用品,電子商品等等

3. 水平拆分

又稱爲一致性哈希算法

例如: 分局商品id, 將id%3 = 1的放到一個表, id%3 = 2的放到一個表, id%3 = 3的放到一個表.

postgres的分區表等等.

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