讀寫分離 MySQL

2021-08-21 06:24:00 字數 1071 閱讀 5595

1、what 讀寫分離

讀寫分離,基本的原理是讓主資料庫處理事務性增、改、刪操作(insert、update、delete),而從資料庫處理select查詢操作。資料庫複製被用來把事務性操作導致的變更同步到集群中的從資料庫。

2、why 那麼為什麼要讀寫分離呢?

因為資料庫的「寫」(寫10000條資料到oracle可能要3分鐘)操作是比較耗時的。 

但是資料庫的「讀」(從oracle讀10000條資料可能只要5秒鐘)。 

所以讀寫分離,解決的是,資料庫的寫入,影響了查詢的效率。

3、when 什麼時候要讀寫分離?

資料庫不一定要讀寫分離,如果程式使用資料庫較多時,而更新少,查詢多的情況下會考慮使用,利用資料庫 主從同步 。可以減少資料庫壓力,提高效能。當然,資料庫也有其它優化方案。memcache 或是 表折分,或是搜尋引擎。都是解決方法。

4、主從複製與讀寫分離

在實際的生產環境中,對資料庫的讀和寫都在同乙個資料庫伺服器中,是不能滿足實際需求的。

無論是在安全性、高可用性還是高併發等各個方面都是完全不能滿足實際需求的。

因此,通過主從複製的方式來同步資料,再通過讀寫分離來提公升資料庫的併發負載能力。

有點類似於前面我們學習過的rsync,

但是不同的是rsync是對磁碟檔案做備份,而mysql主從複製是對資料庫中的資料、語句做備份。

5、前較為常見的mysql讀寫分離分為以下兩種:

1)基於程式**內部實現

在**中根據select 、insert進行路由分類,這類方法也是目前生產環境下應用最廣泛的。

優點是效能較好,因為程式在**中實現,不需要增加額外的硬體開支,缺點是需要開發人員來實現,

運維人員無從下手。

2) 基於中間**層實現

**一般介於應用伺服器和資料庫伺服器之間,**資料庫伺服器接收到應用伺服器的請求後根據判斷後**到,

後端資料庫,有以下代表性的程式。

mysql讀寫分離

5.讀寫分離適用與讀遠大於寫的場景,如果只有一台伺服器,當select很多時,update和delete會被這些select訪問中的資料堵塞,等待select結束,併發效能不高。對於寫和讀比例相近的應用,應該部署雙主相互複製。6.可以在從庫啟動是增加一些引數來提高其讀的效能,例如 skip inno...

mysql讀寫分離

在資料庫集群架構中,讓主庫負責處理事務性查詢,而從庫只負責處理select查詢,讓兩者分工明確達到提高資料庫整體讀寫效能。當然,主資料庫另外乙個功能就是負責將事務性查詢導致的資料變更同步到從庫中,也就是寫操作。即主從複製和讀寫分離是離不開的 1 分攤伺服器壓力,提高機器的系統處理效率 讀寫分離適用於...

mysql 讀寫分離

mysql proxy 簡稱mysql讀寫分離 主要目的是為了提高web站點的訪問速度。首先搭建mysql主從,參考 cd usr local src wget tar zxvf mysql proxy 0.8.5 linux glibc2.3 x86 64bit.tar.gz cp r mysql...