MySQL讀書學習筆記(八) 複製

2021-08-15 17:07:59 字數 1759 閱讀 9603

mysql內建的複製功能是構建基於mysql的大規模、高效能應用的基礎,這類應用使用所謂的「水平擴充套件」的架構。我們可以通過為伺服器配置乙個或多個備庫的方式來進行資料同步。複製功能不僅有利於構建高效能的應用,同時也是搞可用性、高擴充套件性、災難恢復、備份以及資料倉儲等工作的的基礎。

8.1 概述

複製解決的基本問題是讓一台伺服器的資料與其他伺服器保持同步。一台主庫的資料可以同步到多台備庫上,備庫本身也可以被配置成另一台伺服器的主庫。主庫和備庫之間可以有多種不同的組合方式。

8.1.1 解決的問題

資料分布,負載均衡,備份,高可用性和故障切換,公升級測試

8.1.2 如何工作

8.2 配置複製

以下幾步:

1.為每台伺服器建立複製賬號。

2.配置主庫和備庫。

3.通知備庫連線到主庫並從主庫複製資料。

8.3 複製的原理

8.3.1 基於語句的複製

在早期的版本中只支援基於語句的複製(邏輯複製),這在資料庫領域是很少見的。此模式下,主庫會記錄那些造成資料更改的查詢,當備庫讀取並重放這些事件時,實際上只是把主庫執行的sql再執行一遍。

8.3.2 基於行的複製

後來的版本支援基於行的複製,這種方式會將實際資料記錄在二進位制中,跟其他資料庫的實現比較像。最大的好處是可以複製每一行。一些語句可以被更加有效地複製。

8.3.3 兩種比較

理論上基於行的複製整體更優,並在實際應用中也適合大部分場景。但這種方式太新以至於沒有將一些特殊的功能加入來滿足資料庫管理員的操作需求,因此現在還有一些人沒有開始使用。

8.4 複製拓撲

可以在任意主庫和備庫之間建立複製,只有乙個限制:每乙個備庫只能有乙個主庫。有很多複製的拓撲結構,但即使是最簡單的也可以非常靈活。一種拓撲可以有多種用途。

8.4.1 一主庫多備庫

除了兩台伺服器的主備結構外,這是最簡單的拓撲結構。事實上一主多備的結構和級別配置差不多簡單,因為備庫之間根本沒有互動,它們僅僅是連線到同乙個主庫上。

8.4.2 主動-主動模式下的主-主複製

主-主複製(雙主複製或雙向複製)包含兩台伺服器,每乙個都被配置成對方的主庫和備庫,換句話說,它們是一對主庫。

8.4.3 主動-被動模式下的主-主複製

這是主-主的變體。這也是構建容錯性和高可用性系統非常強大的方式,主要區別在於其中的一台伺服器是唯讀的被動伺服器。

8.4.4 擁有備庫的主-主結構

8.4.5 環形複製

雙主結構其實是環形結構的一種特例。環形結構可以有三個或更多的主庫。每個伺服器都是在它之前的伺服器的備庫,是它之後伺服器的主庫。

8.4.6 主庫、分發主庫以及備庫

如果需要多個備庫,可以從主庫移除負載並使用分發主庫。分發主庫事實上也是乙個備庫,它的唯一目的就是提取和提供主庫的二進位制日誌。多個備庫連線到分發主庫,使原來的主庫儲存了負擔。

8.4.7 樹或金字塔型

8.4.8 定製的複製

mysql的複製非常靈活,可以根據需要定製解決方案。典型的定製方案包括組合過濾、分發和向不同的儲存引擎複製。也可以使用黑客手段。可以根據需要任意設計。這其中最大的限制是合理地監控和管理,以及所擁有資源的約束。

HBASE原理與實踐 讀書學習

hbase principle and practice 書挺好。學習之。基礎,元件,核心原理,運維,高階話題。一 模型,結構,特性 二 跳躍表,lsm樹,布隆過濾器 三 zookeeper,hdfs 四 hbase客戶端 meta表,scan 五 regionserver 內部結構,hlog,me...

花書學習筆記 雜記

關於貝葉斯學派和頻率學派的問題 每次提到貝葉斯學派和頻率學派的不同之處時,人們都會使用這個例子 給定資料集xda ta x xd ata 如果我們想要確定某乙個引數 theta 頻率學派的做法是arg max mathop limits theta argmax 也就是說 認為 theta 是乙個確...

紫書學習筆記(1)

這幾天雜七雜八的事情太多,再加上進入了考試周,所以很難有時間安安靜靜的敲敲 看看書,寫寫部落格了。最近寫了一些oj的題目,但是寫到這個份上,發現有些做不動了。因為自己沒有很系統的看過一些演算法競賽書,所以很多時候時間複雜度和空間複雜度都控制不好,所以就想寫一寫前段時間買的劉汝佳的紫書,也就是 演算法...