- 1、本文档共28页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
PostgreSQL 10.0 逻辑复制原理与最佳实践
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
您可能关注的文档
- 2017年3月 清洁电力研究月报.pdf
- SAS Certification Practice Exam: Advanced Programming for SAS 9.pdf(SAS认证模拟考试先进的SAS 9. pdf编程).pdf
- 2018届高考物理一轮复习计划.doc
- 2018年考研MPAcc联考之逻辑必备考点解析.doc
- 2018一轮精耕细作农业形成生产模式的.ppt
- 2018年考研管理类联考之逻辑部分模拟练习及答案汇总.doc
- 20伤亡事故报告和调查处理管理办法-终.docx
- 220kV变电站母线绝缘子不落地更换技术研究.pdf
- 2223-63012-配网接地故障概率计算模型的建立及应用-林常真,商云龙,陈宁.pdf
- 3.1.2(模板)公司安全生产费用使用台账.doc
- 2024高考物理一轮复习规范演练7共点力的平衡含解析新人教版.doc
- 高中语文第5课苏轼词两首学案3新人教版必修4.doc
- 2024_2025学年高中英语课时分层作业9Unit3LifeinthefutureSectionⅢⅣ含解析新人教版必修5.doc
- 2024_2025学年新教材高中英语模块素养检测含解析译林版必修第一册.doc
- 2024_2025学年新教材高中英语单元综合检测5含解析外研版选择性必修第一册.doc
- 2024高考政治一轮复习第1单元生活与消费第三课多彩的消费练习含解析新人教版必修1.doc
- 2024_2025学年新教材高中英语WELCOMEUNITSectionⅡReadingandThi.doc
- 2024_2025学年高中历史专题九当今世界政治格局的多极化趋势测评含解析人民版必修1.docx
- 2024高考生物一轮复习第9单元生物与环境第29讲生态系统的结构和功能教案.docx
- 2024_2025学年新教材高中英语UNIT5LANGUAGESAROUNDTHEWORLDSect.doc
文档评论(0)