国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

PostgreSQL流復制、邏輯復制

IT那活兒 / 3045人閱讀
PostgreSQL流復制、邏輯復制
點擊上方“IT那活兒”公眾號,關注后了解更多內容,不管IT什么活兒,干就完了!??!

物理流復制 VS 邏輯訂閱

1.1 物理復制

  • 物理復制目前只能做到整個集群的復制。
  • 物理流復制是基于REDO的塊級別復制,復制出來的數據與主庫數據庫一模一樣,每個塊都是一樣,好似從主庫克隆出來一樣。
  • 物理流復制的備庫為只讀,不能寫入。
  • 物理流復制不需要等待事務提交,即可將REDO日志發往備庫,備庫可以直接應用;
  • 物理流復制需要復制所有的REDO日志。
  • 物理流復制不需要記錄REDO信息(主鍵或者整行)。
  • 物理流復制備庫上的查詢語句可能會與清理REDO沖突,查詢需要的讀取的數據版本,主庫可能已經清理,同步到備庫時,和正在查詢的SQL沖突。

1.2 邏輯訂閱

  • 邏輯訂閱可以做到表級別復制。
  • 邏輯訂閱支持讀寫。
  • 邏輯訂閱需要等待事務提交后,發布端才會使用wal_sender進程將解碼后的數據發送給訂閱端,訂閱端接收應用。【因此邏輯訂閱的延遲筆物理流復制要高】
  • 邏輯訂閱不需要復制所有的REDO日志,僅復制“訂閱表產生的REDO解碼后的數據”。
  • 邏輯訂閱需要產生額外的REDO信息(主鍵或者整行);訂閱對主庫的性能影響較大。
  • 邏輯定于模式不存在SQL沖突。

    解決方案:

    a. 主庫延遲清理(導致主庫膨脹)

    b. 備庫延遲應用REDO

PostgreSQL 物理流復制

當用戶執行DML、DDL操作后,產生的WAL日志,會實時有wal sender進程發送到備庫,備庫wal receiver進程。
接收后寫入本地wal日志,有startup進程讀取wal日志,進行應用。備庫進程體現是一個恢復進程。
PostgreSQL9.0之前提供的方法是主庫寫完一個WAL日志文件后,才把WAL日志文件傳送到備庫,這樣的方式導致主備延遲特別大
PostgreSQL在9.0之后引入了主備流復制機制,通過流復制,備庫不斷的從主庫同步相應的數據,并在備庫apply每個WAL record,每次傳輸單位是WAL日志的record。
PostgreSql 支持同步復制以及基于優先級的同步復制。
2.1 synchronous_commit 同步復制選項
  • 設置為off,表示提交事務部等待本地WAL BUFFER寫入WAL日志后才向客戶端返回成功。設置為OFF不會對數據庫帶來風險,當數據庫宕機時最新提交的事務可能丟失,數據庫重啟后會 認為這些事務異常終止,設置為OFF能夠提高數據性能。
  • 設置為local,代表事務日志寫入到主庫磁盤中,主庫即可返回成功。
注意:// 在同步復制中不能設置為off和local。
  • 設置為on,代表需要等待備庫應用完事務日志并且數據刷到磁盤中,主庫才可以返回成功。
  • 設置為remote_apply ,代表需要等待備庫應用完事務日志,主庫即可返回成功。
  • 設置為remote_write,代表需要等待備庫將事務日志寫入到磁盤中,主庫即可返回成功。
synchronous_standby_names 如果使用同步復制,這里需要設置standby的名字 FISRT 2 (s1,s2,s3),ANY 2(s1,s2,s3),*
primary_conninfo ‘application_name=standby1 host=primary-host port=5432 dbname=postgres user=repl password=repl’
2.2 物理復制-使用場景
  • 適合用于單向復制;
  • 適合任意事務,任意密度寫的同步;
  • 適合HA、容災、讀寫分離;
  • 適合備庫只讀的場景。



PostgreSQL 邏輯復制

邏輯復制是基于邏輯解析,其核心原理是邏輯主庫將Publication中表的WAL日志解析成一定格式并發送給邏輯備庫,邏輯備庫Subscription接收到解析后的WAL日志后進行重做,從而實現表數據同步,WAL_LEVEL=LOGICAL。

3.1 邏輯復制-使用場景

  • 適合發布端和訂閱端都有讀寫的情況;
  • 不同庫名之間的表同步;
  • PostgreSQL 跨版本數據同步;
  • 將多個數據庫實例的數據匯聚到同一個目標庫或將一個庫的數據分發到多個不同的庫;
  • PostgreSQL大版本升級;
  • 滿足業務上需求,實現某些指定表數據同步;
  • 多個業務之間少量數據同步;
  • 數據匯總;
  • 數據拆分。

3.2 邏輯復制限制

  • 目前不支持DDL解析,只能解析DML(INSERT、UPDATE、DELETE,TRUNCATE);
  • TEMPORARY表和UNLOGGED表不會被復制;
  • 表必須有主鍵或唯一約束,否則像update或delete操作無法被復制;
  • 序列不被復制;
  • 大對象不被復制;
  • 新增加的表,不會自動加入訂閱,需要在訂閱端進行刷新;
  • 分區表邏輯復制,只能基于子表(V13版本已經實現)。

本文作者:陳輝耀(上海新炬王翦團隊)

本文來源:“IT那活兒”公眾號

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/129398.html

相關文章

  • 新書推薦 |《PostgreSQL實戰》出版(提供樣章下載)

    摘要:作者譚峰張文升出版日期年月頁數頁定價元本書特色中國開源軟件推進聯盟分會特聘專家撰寫,國內多位開源數據庫專家鼎力推薦。張文升中國開源軟件推進聯盟分會核心成員之一。 很高興《PostgreSQL實戰》一書終于出版,本書大體上系統總結了筆者 PostgreSQL DBA 職業生涯的經驗總結,本書的另一位作者張文升擁有豐富的PostgreSQL運維經驗,目前就職于探探科技任首席PostgreS...

    Martin91 評論0 收藏0
  • PySpark SQL 相關知識介紹

    摘要:大數據除了體積和速度外,數據的多樣性和準確性也是大數據的一大特點。這些也被稱為大數據的特征。介紹是一個解決大數據問題的分布式可伸縮的框架。介紹計算的模型最早出現在谷歌的一篇研究論文中。相關鏈接介紹是一個通用的分布式編程框架。 本文作者:foochane?本文鏈接:https://foochane.cn/article/2019060601.html 1 大數據簡介 大數據是這個時代最...

    CoderStudy 評論0 收藏0
  • postgresql 10主備復制測試

    postgresql 10主備流復制測試 img{ display:block; margin:0 auto !important; width:100%; } body{ width:75%; ...

    IT那活兒 評論0 收藏2959
  • PostgreSQL9.5:pg_rewind 快速恢復備節點

    摘要:上操作備注執行拋出以上錯誤,錯誤內容很明顯。再次上操作備注成功。啟動原主庫,上操作數據驗證上操作備注成功,原主庫現在是以備庫角色啟動,而且數據表也同步過來了。三原理四參考的主備切換使用搭建流復制環境 了解 PG 的朋友應該知道 PG 的主備切換并不容易,步驟較嚴謹,在激活備節點前需主動關閉主節點,否則再想以備節點角色拉起主節點會比較困難,之前博客介紹過主備切換,PostgreSQL H...

    hersion 評論0 收藏0
  • postgresql10主備復制測試

    postgresql10主備流復制測試 img{ display:block; margin:0 auto !important; width:100%; } body{ width:75%; ...

    IT那活兒 評論0 收藏240

發表評論

0條評論

IT那活兒

|高級講師

TA的文章

閱讀更多
最新活動
閱讀需要支付1元查看
<