亚洲中字慕日产2020,大陆极品少妇内射AAAAAA,无码av大香线蕉伊人久久,久久精品国产亚洲av麻豆网站

資訊專欄INFORMATION COLUMN

PostgreSQL流復(fù)制、邏輯復(fù)制

IT那活兒 / 3150人閱讀
PostgreSQL流復(fù)制、邏輯復(fù)制
點(diǎn)擊上方“IT那活兒”公眾號(hào),關(guān)注后了解更多內(nèi)容,不管IT什么活兒,干就完了?。?!

物理流復(fù)制 VS 邏輯訂閱

1.1 物理復(fù)制

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

1.2 邏輯訂閱

  • 邏輯訂閱可以做到表級(jí)別復(fù)制。
  • 邏輯訂閱支持讀寫。
  • 邏輯訂閱需要等待事務(wù)提交后,發(fā)布端才會(huì)使用wal_sender進(jìn)程將解碼后的數(shù)據(jù)發(fā)送給訂閱端,訂閱端接收應(yīng)用?!疽虼诉壿嬘嗛喌难舆t筆物理流復(fù)制要高】
  • 邏輯訂閱不需要復(fù)制所有的REDO日志,僅復(fù)制“訂閱表產(chǎn)生的REDO解碼后的數(shù)據(jù)”。
  • 邏輯訂閱需要產(chǎn)生額外的REDO信息(主鍵或者整行);訂閱對(duì)主庫的性能影響較大。
  • 邏輯定于模式不存在SQL沖突。

    解決方案:

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

    b. 備庫延遲應(yīng)用REDO

PostgreSQL 物理流復(fù)制

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



PostgreSQL 邏輯復(fù)制

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

3.1 邏輯復(fù)制-使用場(chǎng)景

  • 適合發(fā)布端和訂閱端都有讀寫的情況;
  • 不同庫名之間的表同步;
  • PostgreSQL 跨版本數(shù)據(jù)同步;
  • 將多個(gè)數(shù)據(jù)庫實(shí)例的數(shù)據(jù)匯聚到同一個(gè)目標(biāo)庫或?qū)⒁粋€(gè)庫的數(shù)據(jù)分發(fā)到多個(gè)不同的庫;
  • PostgreSQL大版本升級(jí);
  • 滿足業(yè)務(wù)上需求,實(shí)現(xiàn)某些指定表數(shù)據(jù)同步;
  • 多個(gè)業(yè)務(wù)之間少量數(shù)據(jù)同步;
  • 數(shù)據(jù)匯總;
  • 數(shù)據(jù)拆分。

3.2 邏輯復(fù)制限制

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

本文作者:陳輝耀(上海新炬王翦團(tuán)隊(duì))

本文來源:“IT那活兒”公眾號(hào)

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://www.ezyhdfw.cn/yun/129398.html

相關(guān)文章

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

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

    Martin91 評(píng)論0 收藏0
  • PySpark SQL 相關(guān)知識(shí)介紹

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

    CoderStudy 評(píng)論0 收藏0
  • postgresql 10主備復(fù)制測(cè)試

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

    IT那活兒 評(píng)論0 收藏2959
  • PostgreSQL9.5:pg_rewind 快速恢復(fù)備節(jié)點(diǎn)

    摘要:上操作備注執(zhí)行拋出以上錯(cuò)誤,錯(cuò)誤內(nèi)容很明顯。再次上操作備注成功。啟動(dòng)原主庫,上操作數(shù)據(jù)驗(yàn)證上操作備注成功,原主庫現(xiàn)在是以備庫角色啟動(dòng),而且數(shù)據(jù)表也同步過來了。三原理四參考的主備切換使用搭建流復(fù)制環(huán)境 了解 PG 的朋友應(yīng)該知道 PG 的主備切換并不容易,步驟較嚴(yán)謹(jǐn),在激活備節(jié)點(diǎn)前需主動(dòng)關(guān)閉主節(jié)點(diǎn),否則再想以備節(jié)點(diǎn)角色拉起主節(jié)點(diǎn)會(huì)比較困難,之前博客介紹過主備切換,PostgreSQL H...

    hersion 評(píng)論0 收藏0
  • postgresql10主備復(fù)制測(cè)試

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

    IT那活兒 評(píng)論0 收藏240

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<