SQL Server/MySQL數據庫讀寫分離最全詳解(看這篇就夠了)
當前位置:點晴教程→知識管理交流
→『 技術文檔交流 』
什么是讀寫分離讀寫分離就是將數據庫分為主從庫,一個主庫(Master)用于寫數據,多個從庫(Slaver)進行輪詢讀取數據的過程。 主從庫之間通過某種通訊機制進行數據的同步,是一種常見的數據庫架構。
為什么要讀寫分離呢?因為數據庫的“寫”,比如:10000條數據到oracle可能要3分鐘,操作是比較耗時的。 但是數據庫的“讀”,比如:從oracle讀10000條數據可能只要5秒鐘,相對應寫就沒有這么耗時。 所以讀寫分離解決的是:把數據庫的寫入與查詢,在服務器上分開來,從而可以極大的提升查詢效率。
什么時候要讀寫分離?數據庫不一定要讀寫分離,但是如果程序使用數據庫較多時,而更新少,查詢多的情況下就可以考慮使用。 這樣可以減少數據庫壓力,提高性能,當然數據庫也有其它優化方案,比如:分庫分表,或是搜索引擎等都是解決方法。
讀寫分離的原理讀寫分離基本的原理是讓主數據庫處理事務性增、改、刪操作(INSERT、UPDATE、DELETE),而從數據庫處理SELECT查詢操作。 讀寫分離是為了將請求流量分散到不同的數據庫節點上,將寫入數據的請求分發到主數據庫,讀取數據的請求分發到從數據庫,從數據可以有多臺,即一主多從。 整體架構如下圖: 從上圖可看出,有個關鍵技術就是主從復制,每次寫入數據的時候,需要將主服務器數據復制到從服務器中,用來確保數據一致性。 下面我以MySQL的主從復制為例,如下圖所示: 主從復制
讀寫分離總結在實際的生產環境中,對數據庫的讀和寫都在同一個數據庫服務器中,是不能滿足實際需求的,無論是在安全性、高可用性還是高并發等各個方面都是完全不能滿足實際需求的。 因此,通過主從復制的方式來同步數據,再通過讀寫分離來提升數據庫的并發負載能力,即可以解決可用性的問題,又解決了數據庫性能問題。 -end- 該文章在 2024/1/23 12:20:44 編輯過 |
關鍵字查詢
相關文章
正在查詢... |