mysql - 為什麼資料庫讀寫分離能提高資料庫的效能?
PHPz
PHPz 2017-05-24 11:34:46
0
2
1275

為什麼讀寫分離可以提高資料庫的效能
請看上面的部落格。根據資料庫常識,讀寫分離確實可以提高資料庫的效能,但各位對它的底層原理不知道是否理解。例如,一台讀,一台寫,但資料還是需要同步的,不然這個系統就沒了意義,那好了,同步的時候就不是一個寫操作嗎?那麼實質上不是一樣?

PHPz
PHPz

学习是最好的投资!

全部回覆(2)
Ty80

但是讀的時候不需要同步啊,一台讀的性能高,一台寫的性能高。 讀寫分離適用與讀遠大於寫的場景

MySQL 使用了很多的資料庫儲存引擎,每個引擎有優點也有缺點。有些不支援事物,但是效能和速度很高;有些讀取很快,但是寫入很慢,而有些則正好相反;… 進行主從讀寫分離可以充分發揮每個資料庫引擎的優點。

你的疑問:但資料還是需要同步的。其實這也不算是同步,因為所有的資料都是單項的。應用層的資料是直接寫入主庫,但是從庫的資料則是從 binlog 恢復的,而且,最重要區別在於主庫向從庫發送 binlog 是異步的,從庫恢復資料也是異步的。

就算是沒有從庫,那麼主庫也需要把 binlog 資料寫入到硬碟或其它的電腦,以防止資料庫故障。當資料庫出現問題後,DBA 也只能從 binlog 復原先前的資料。

在你的描述中:「一台讀,一台寫」。我才你可能是個初學者吧,或是沒有參與過真實的專案。真正線上的項目都是 N 台讀寫,M 台備份。做讀寫分離後就是 N 台讀,N 台寫,M 台備份;或 1 台讀,1 台寫,M 台備份。

phpcn_u1582

讀寫分離的主要目的是分擔伺服器壓力,適用於資料即時性要求不那麼嚴格的業務,可以根據需要分別配置不同的系統參數來應對不同的讀寫需求,進而提高整個業務系統的整體效能!

熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!