日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

逻辑复制mysql_物理复制 vs 逻辑复制,该如何选择?

發布時間:2024/1/1 数据库 44 豆豆
生活随笔 收集整理的這篇文章主要介紹了 逻辑复制mysql_物理复制 vs 逻辑复制,该如何选择? 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

原標題:物理復制 vs 邏輯復制,該如何選擇?

近些年受到國內外許多因素的影響,越來越多的業務開始使用PostgreSQL數據庫。復制是保證數據安全的一種常用手段,給正在使用的數據提供了一個熱備的副本,當一個副本宕機或丟失,能快速使用另一個進行運作,對業務影響較小。PostgreSQL數據庫提供了兩種復制方式:物理復制和邏輯復制。很多剛接觸數據庫的小伙伴,不知道該如何選擇。本文將對兩種復制方式進行一些介紹。

汪彥舒 | 文

? 中興數據智能(ZTE-DI)出品

物理復制

物理復制是指將主庫WAL日志的日志頁直接發到備機,備機完全應用的一種復制方式。

物理復制有非常多的好處:

物理層面完全一致,這是許多商業數據庫的慣用手段。例如Oracle的DG。

延遲低,事務執行過程中產生REDO record,實時的在備庫apply,事務結束時,備庫立馬能見到數據。不論事務多大,都一樣。

物理復制的一致性、可靠性達到了金融級的需求,不必擔心數據邏輯層面不一致。

物理復制邏輯流程如下圖所示:

但是物理復制要求主備塊級完全一致,所以有一些無法覆蓋的應用場景,例如備庫不僅要只讀,還要可寫。又比如備庫不需要完全和主庫一致,只需要復制部分數據,或者備庫要從多個數據源復制數據等。無法包含的場景有如下幾點:

數據庫實例的部分,例如單個數據庫或者某些表的復制需求。

數據到達subcriber后,針對不同數據,設置觸發器。

將多個數據庫實例的數據,同步到一個目標數據庫。例如多個數據庫同步到一個大的數據倉庫。

在不同的數據庫版本之間,復制數據。

將一個數據庫實例的不同數據,復制到不同的目標庫。

在多個數據庫實例之間,共享部分數據。

邏輯復制

PostgreSQL邏輯復制是事務級別的復制,使用發布者/訂閱者模型,使用訂閱復制槽技術,可并行的傳輸WAL日志,通過在訂閱端回放WAL日志中的邏輯條目,保持復制表的數據同步,注意這里不是“SQL”復制,而是復制SQL操作的結果。

邏輯復制流程如下圖所示:

邏輯復制應用場景和優點,與物理復制相互補。主要是可基于表級別復制,是一種粒度可細的復制,主要用在以下場景:

滿足業務上需求,實現某些指定表數據同步。

不同版本的PostgreSQL之間數據同步。

PostgreSQL大版本升級,數據直接同步備份到高版本。

復制providor可以有多個,復制到subcriber之后做數據的聚集和合并等操作。

可在如下場景中使用:

但是,邏輯復制的限制也是比較多的:

(1) 版本限制:lpglogical是邏輯復制的技術組件,功能使用存在數據庫版本限制:數據源發布和訂閱節點需要運行 PostgreSQL 9.4 +,復制源過濾和沖突檢測需要 PostgreSQL 9.5 +,pglogical 支持跨 PostgreSQL 主要版本之間的復制但在訂閱服務器上不同版本之間進行復制時,可能會出現問題。支持從舊版本復制到新版本因為 PostgreSQL 的向后兼容性保證的,但只有有限的向前兼容性比較安全。

(2) 其它限制:不支持DDL復制(ALTER TABLE/CREATE TABLE);不支持TEMPRORARY表和UNLOGGED表復制;不支持Sequences復制( serial/bigserial/identity);不支持TRUNCATE操作復制;不支持大對象復制(Bytea);不支持視圖、物化視圖、外部表復制;被復制的表上最好有主鍵約束;如果沒有,必須執行:ALTER TABLE reptest REPLICA IDENTITY FULL;(備注)訂閱端的復制表是可修改的,復制表一旦修改,發布者和訂閱者會數據不一致,進而打破復制等。

總結

物理復制和邏輯復制各有優缺點,在使用的時候需要貼合業務場景,不可一概而論。

在金融領域,所有數據都是很重要的,且對一致性要求非常高的場景,建議使用物理復制,低延時、低損耗,貼合業務需求。

在運營商計費業務中,業務數據也是具有上述特征的,建議同上。

在需要使用讀寫分離的業務場景(讀很多、寫較少)中,要求主備節點數據差距小,避免發生各節點讀不一致的現象,則建議使用物理復制。

在電信網管領域,只有部分數據重要程度較高,需要備份部分數據,那么,建議使用邏輯復制,節省帶寬以及subcriber節點的存儲。

PostgreSQL大版本升級等復制兩側數據庫版本不一致的場景,則只能選擇邏輯復制。

參考資料:

http://mysql.taobao.org/monthly/2016/08/02/

https://blog.csdn.net/weixin_39540651/article/details/106122610

https://blog.csdn.net/pg_hgdb/article/details/83650209 返回搜狐,查看更多

責任編輯:

總結

以上是生活随笔為你收集整理的逻辑复制mysql_物理复制 vs 逻辑复制,该如何选择?的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。