成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

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

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

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

1.1 物理復(fù)制

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

1.2 邏輯訂閱

  • 邏輯訂閱可以做到表級(jí)別復(fù)制。
  • 邏輯訂閱支持讀寫(xiě)。
  • 邏輯訂閱需要等待事務(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ì)主庫(kù)的性能影響較大。
  • 邏輯定于模式不存在SQL沖突。

    解決方案:

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

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

PostgreSQL 物理流復(fù)制

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



PostgreSQL 邏輯復(fù)制

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

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

  • 適合發(fā)布端和訂閱端都有讀寫(xiě)的情況;
  • 不同庫(kù)名之間的表同步;
  • PostgreSQL 跨版本數(shù)據(jù)同步;
  • 將多個(gè)數(shù)據(jù)庫(kù)實(shí)例的數(shù)據(jù)匯聚到同一個(gè)目標(biāo)庫(kù)或?qū)⒁粋€(gè)庫(kù)的數(shù)據(jù)分發(fā)到多個(gè)不同的庫(kù);
  • 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操作無(wú)法被復(fù)制;
  • 序列不被復(fù)制;
  • 大對(duì)象不被復(fù)制;
  • 新增加的表,不會(huì)自動(dòng)加入訂閱,需要在訂閱端進(jìn)行刷新;
  • 分區(qū)表邏輯復(fù)制,只能基于子表(V13版本已經(jīng)實(shí)現(xiàn))。

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

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

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

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

相關(guān)文章

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

    摘要:作者譚峰張文升出版日期年月頁(yè)數(shù)頁(yè)定價(jià)元本書(shū)特色中國(guó)開(kāi)源軟件推進(jìn)聯(lián)盟分會(huì)特聘專家撰寫(xiě),國(guó)內(nèi)多位開(kāi)源數(shù)據(jù)庫(kù)專家鼎力推薦。張文升中國(guó)開(kāi)源軟件推進(jìn)聯(lián)盟分會(huì)核心成員之一。 很高興《PostgreSQL實(shí)戰(zhàn)》一書(shū)終于出版,本書(shū)大體上系統(tǒng)總結(jié)了筆者 PostgreSQL DBA 職業(yè)生涯的經(jīng)驗(yàn)總結(jié),本書(shū)的另一位作者張文升擁有豐富的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ù)問(wèn)題的分布式可伸縮的框架。介紹計(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)原主庫(kù),上操作數(shù)據(jù)驗(yàn)證上操作備注成功,原主庫(kù)現(xiàn)在是以備庫(kù)角色啟動(dòng),而且數(shù)據(jù)表也同步過(guò)來(lái)了。三原理四參考的主備切換使用搭建流復(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ì)比較困難,之前博客介紹過(guò)主備切換,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元查看
<