- 1、本文档共28页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
PostgreSQL 10.0 逻辑复制原理与最佳实践本文章来自于阿里云云栖社区摘要:?标签PostgreSQL , logical replication , 逻辑复制 , 最佳实践背景PostgreSQL从2010年发布的9.0开始支持流式物理复制,备库可以作为只读库打开,提供给用户使用。标签PostgreSQL , logical replication , 逻辑复制 , 最佳实践背景PostgreSQL从2010年发布的9.0开始支持流式物理复制,备库可以作为只读库打开,提供给用户使用。物理复制的好处1. 物理层面完全一致,这是许多商业数据库的惯用手段。例如Oracle的DG。2. 延迟低,事务执行过程中产生REDO record,实时的在备库apply,事务结束时,备库立马能见到数据。不论事务多大,都一样。3. 物理复制的一致性、可靠性达到了金融级的需求,不必担心数据逻辑层面不一致。但是物理复制要求主备块级完全一致,所以有一些无法覆盖的应用场景,例如备库不仅要只读,还要可写。又比如备库不需要完全和主库一致,只需要复制部分数据,或者备库要从多个数据源复制数据,等等。物理复制无法覆盖的场景1. 数据库实例的部分,例如单个数据库或者某些表的复制需求。例如某个游戏业务,账号体系是一套数据库,如果全国各地有多个接入点,全部都连到中心数据库进行认证可能不太科学。那么就希望将登陆需要用到的一些数据表同步到多个数据中心,而不是整个数据库实例。2. 数据到达subcriber后,针对不同数据,设置触发器。3. 将多个数据库实例的数据,同步到一个目标数据库。例如多个数据库同步到一个大的数据仓库。4. 在不同的数据库版本之间,复制数据5. 将一个数据库实例的不同数据,复制到不同的目标库。例如省级数据库的数据,按地区划分,分别复制到不同的地区。6. 在多个数据库实例之间,共享部分数据。例如某个业务按用户ID哈希,拆分成了8个数据库,但是有些小的维度表,需要在多个数据库之间共享。以上场景是物理复制无法覆盖的。逻辑复制应运而生,实际上,从2014年发布的9.4版本开始,PostgreSQL就支持逻辑复制了,只是一直没有将其引入内核。2017年即将发布的10.0,将会在内核层面支持基于REDO流的逻辑复制。另一个好消息是,你可以针对同一个数据库实例,同时使用逻辑复制和物理复制,因为他们都是基于REDO的。下面我们来看一下逻辑复制的概念、架构、监控、安全、最佳实践。逻辑复制概念PostgreSQL逻辑复制是事务级别的复制,引入了几个概念publication - 发布者发布者指数据上游节点,你需要将哪些表发布出去?上游节点需要配置这些东西1. 需要将数据库的REDO的wal_level配置为logical。2. 需要发布逻辑复制的表,必须配置表的REPLICA IDENTITY,即如何标示老的记录。被复制的表,建议有PK约束。alter table table_name REPLICA IDENTITY { DEFAULT | USING INDEX index_name | FULL | NOTHING } 解释REPLICA IDENTITY This form changes the information which is written to the write-ahead log to identify rows which are updated or deleted. This option has no effect except when logical replication is in use. 记录PK列的1. DEFAULT (the default for non-system tables) records the old values of the columns of the primary key, if any. 记录指定索引列(索引的所有列须是not null列,其实和PK一样,但是某些情况下,你可以选一个比PK更小的UK)2. USING INDEX records the old values of the columns covered by the named index, which must be unique, not partial, not deferrable, and include only columns marked NOT NULL. 记录完整记录3. FULL records the old values of all columns in the row. 啥也不记录,这样做是否不支持update, delete? user_catalog
您可能关注的文档
- Matlab语言和其在有限元编程中的应用.pdf
- Matlab语言和其在有限元编程中的应用_宋建辉.pdf
- matlab中的数据导入与导出.doc
- Matlab中基于C语言的S函数的编写及应用.pdf
- MATLAB中图象工具箱和图象.pdf
- MDebug 调试器脚本及命令行说明.pdf
- Microsoft Visual Studio 2010一些技巧.doc
- MIS_01 管理信息系统的定义与概念.ppt
- mis-1-信息系统基本概念.ppt
- MIS与GIS的区别与联系.doc
- 2023年陕西省商洛市柞水县两河乡招聘社区工作者真题参考答案详解.docx
- 2023年陕西省延安市宝塔区青化砭镇招聘社区工作者真题参考答案详解.docx
- 2023年陕西省汉中市西乡县罗镇乡招聘社区工作者真题及参考答案详解.docx
- 2023年陕西省延安市洛川县永乡招聘社区工作者真题及答案详解1套.docx
- 2023年陕西省商洛市商州区三岔河乡招聘社区工作者真题及参考答案详解一套.docx
- 2023年陕西省宝鸡市陇县八渡镇招聘社区工作者真题及参考答案详解一套.docx
- 2023年陕西省延安市洛川县石泉乡招聘社区工作者真题及参考答案详解一套.docx
- 2023年陕西省商洛市商州区沙河子镇招聘社区工作者真题附答案详解.docx
- 2023年陕西省咸阳市礼泉县赵镇招聘社区工作者真题及参考答案详解1套.docx
- 2023年陕西省商洛市丹凤县留仙坪乡招聘社区工作者真题及参考答案详解一套.docx
文档评论(0)