主要內容包括:
1.數據庫性能測試的目的及範圍 2.數據庫的常用架構
3.數據庫主從同步的工作原理 4.數據庫分庫分表的設計方法
數據庫性能測試的目的
發現數據庫相關的性能瓶頸
sql語句-慢查詢
資源使用率
數據庫架構的合理性
數據庫的性能指標
數據庫常用架構
一主多從
最長說的讀寫分離 master主要負責數據的寫入和更新和刪除(但是刪除很少,一般都有一個字段用於標記刪除),通過主從從複製,將數據同步到從庫上,從庫的任務就是讀。
優點:讀寫分離,分擔了單臺服務器的壓力情況,所有的讀操作都在不同的服務器上,主服務器承擔了數據寫入和更新操作。
缺點:主從延遲,當主服務器上寫入數據的時,如果發生網絡延遲10s,那麼這十秒在從庫上是沒有主庫上寫入數據的,此時發 生讀的時,就讀取不到數據。master掛了,就只能進行瀏覽不能插入,修改。
雙機熱備
VIP指的是虛擬Ip,跟之前的都在同一數據庫上,然後會把數據複製到slave上。
優點:彌補了延遲問題,master掛掉之後,VIP會立刻將從數據同步到主數據。並變成master,對前面無感覺。
缺點:1.靠硬件上抗,讀取慢 2.master掛掉又恢復之後,slave並不會將期間的數據自動同步到master上去。
主從同步原理
master將改變記錄到二進制日誌(binary log)中
slave將master的binary log events拷貝到它的中繼日誌relay log中
slave重做中繼日誌中農的時間,將改變反應它自己的數據。
數據庫的分庫分表設計方法
原因:1.單表或單庫數據量太大
2.硬件不能升級或無法升級
分庫分表方案:
1.業務拆分 用戶、訂單、商品放到不同的數據庫上
2.垂直拆分 商品表來說,可以按照商品按照商品類型進行拆分
3.水平拆分-一致性哈希算法(取模多少,主鍵自增的情況) 對三個表進行查分