当前位置: 首页 > news >正文

Debezium日常分享系列之:Debezium2.7版本PostgreSQL数据库连接器

Debezium日常分享系列之:Debezium2.7版本PostgreSQL数据库连接器

  • 一、概述
  • 二、连接器的工作原理
    • 安全
    • 快照
      • 初始快照的默认工作流程行为
    • 临时快照
      • 触发临时增量快照
      • 触发临时阻塞快照
    • 增量快照
      • 增量快照流程
      • Debezium 如何解决具有相同主键的记录之间的冲突
      • 快照窗口
      • 触发增量快照
      • 具有附加条件的临时增量快照
      • 使用Kafka信令通道触发增量快照
      • 具有附加条件的临时增量快照
      • 停止增量快照
      • 使用Kafka信令通道停止增量快照
      • 只读增量快照
      • 即席只读增量快照
    • 阻塞快照进程
    • 可能重复
  • 三、Streaming changes
    • PostgreSQL 10+ 逻辑解码支持(pgoutput)
    • 主题名称
    • 事务元数据
    • 丰富变更数据事件
    • 数据变更事件
    • 更改事件键
    • 更改事件值
    • 复制身份
    • 创建事件
    • 更新事件
    • 主键更新
    • 删除事件
    • 墓碑事件
    • 截断事件
    • 消息事件
  • 四、数据类型映射
    • 基本类型
    • 时间类型
    • 时间戳类型
    • 小数类型
    • HSTORE类型
    • Domain类型
    • Network address类型
    • PostGIS类型
    • Toasted values
    • 默认值
  • 五、设置 Postgres
    • PostgreSQL on Amazon RDS
    • PostgreSQL on Azure
    • 安装逻辑解码输出插件
    • 插件差异
    • 配置 PostgreSQL 服务器
    • 设置权限
    • 设置权限以允许 Debezium 在使用 pgoutput 时创建 PostgreSQL 发布
    • 配置 PostgreSQL 以允许与 Debezium 连接器主机进行复制
    • 支持的 PostgreSQL 拓扑
    • WAL磁盘空间消耗
    • 为同一数据库服务器设置多个连接器
    • 升级PostgreSQL
  • 六、部署
    • Connector配置示例
    • 增加connector配置
  • 七、连接器属性
    • 必需的配置属性
    • 高级配置属性
    • Debezium 连接器 Kafka 信号配置属性
    • Debezium连接器设置Kafka消费者客户端配置属性

Debezium PostgreSQL 连接器捕获 PostgreSQL 数据库架构中的行级更改。

第一次连接到 PostgreSQL 服务器或集群时,连接器会拍摄所有架构的一致快照。该快照完成后,连接器会持续捕获插入、更新和删除数据库内容以及提交到 PostgreSQL 数据库的行级更改。连接器生成数据更改事件记录并将其流式传输到 Kafka 主题。对于每个表,默认行为是连接器将所有生成的事件流式传输到该表的单独 Kafka 主题。应用程序和服务使用该主题的数据更改事件记录。

一、概述

PostgreSQL 的逻辑解码功能是在 9.4 版本中引入的。它是一种机制,允许提取提交到事务日志的更改,并借助输出插件以用户友好的方式处理这些更改。输出插件使客户端能够使用更改。

PostgreSQL 连接器包含两个主要部分,它们协同工作来读取和处理数据库更改:

  • 逻辑解码输出插件。您可能需要安装您选择使用的输出插件。在运行 PostgreSQL 服务器之前,您必须配置使用所选输出插件的复制槽。该插件可以是以下之一:
    • Decoderbufs 基于 Protobuf,由 Debezium 社区维护。
    • pgoutput 是 PostgreSQL 10+ 中的标准逻辑解码输出插件。它由 PostgreSQL 社区维护,并由 PostgreSQL 本身用于逻辑复制。该插件始终存在,因此无需安装其他库。 Debezium 连接器将原始复制事件流直接解释为更改事件。
  • Java 代码(实际的 Kafka Connect 连接器)读取所选逻辑解码输出插件产生的更改。它通过 PostgreSQL JDBC 驱动程序使用 PostgreSQL 的流复制协议

连接器为捕获的每个行级插入、更新和删除操作生成一个更改事件,

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 艺术成分很高的完全自定义的UITabBar(很简单)
  • org.springframework.context.ApplicationContext发送消息
  • filebeat把日志文件上传到Es中配置(ES7版本)
  • 喜讯丨泰迪智能科技实力中标湖北民族大学数学与统计学院一流专业实验室建设项目
  • js | Core
  • 代码随想录学习 day54 图论 Bellman_ford 算法精讲
  • Oracle线上执行SQL特别慢的原因分析
  • Spring Boot(八十一):Sa-Token快速实现API接口签名安全校验
  • 《JavaSE》---21.<简单认识Java的集合框架包装类泛型>
  • matlab simulink气隙局部放电仿真技术研究
  • 靖江美食元宇宙
  • openlayers 3d 地图 非三维 立体地图 行政区划裁剪 地图背景
  • 基于jeecgboot-vue3的Flowable流程仿钉钉流程设计器-支持VForm3表单的选择与支持
  • 安装好anaconda,打开jupyter notebook,新建 报500错
  • 二叉树的构造问题 | LeetCode刷题笔记 | 每日练习 | 深度优先遍历| 广度优先遍历 | Java
  • 2019年如何成为全栈工程师?
  • es的写入过程
  • github指令
  • Median of Two Sorted Arrays
  • unity如何实现一个固定宽度的orthagraphic相机
  • vue-loader 源码解析系列之 selector
  • vue学习系列(二)vue-cli
  • 从setTimeout-setInterval看JS线程
  • 基于阿里云移动推送的移动应用推送模式最佳实践
  • 浅谈Kotlin实战篇之自定义View图片圆角简单应用(一)
  • 如何胜任知名企业的商业数据分析师?
  • 使用 5W1H 写出高可读的 Git Commit Message
  • 通过来模仿稀土掘金个人页面的布局来学习使用CoordinatorLayout
  • 我是如何设计 Upload 上传组件的
  • 小李飞刀:SQL题目刷起来!
  • kubernetes资源对象--ingress
  • python最赚钱的4个方向,你最心动的是哪个?
  • 数据库巡检项
  • ​比特币大跌的 2 个原因
  • # Maven错误Error executing Maven
  • (007)XHTML文档之标题——h1~h6
  • (2)关于RabbitMq 的 Topic Exchange 主题交换机
  • (6)添加vue-cookie
  • (SpringBoot)第二章:Spring创建和使用
  • (TipsTricks)用客户端模板精简JavaScript代码
  • (二十六)Java 数据结构
  • (附源码)ssm基于web技术的医务志愿者管理系统 毕业设计 100910
  • (附源码)ssm经济信息门户网站 毕业设计 141634
  • (已更新)关于Visual Studio 2019安装时VS installer无法下载文件,进度条为0,显示网络有问题的解决办法
  • (转) Android中ViewStub组件使用
  • (转)LINQ之路
  • (转)mysql使用Navicat 导出和导入数据库
  • (最新)华为 2024 届秋招-硬件技术工程师-单板硬件开发—机试题—(共12套)(每套四十题)
  • .net core webapi 大文件上传到wwwroot文件夹
  • .net core 调用c dll_用C++生成一个简单的DLL文件VS2008
  • .NET Core中的去虚
  • .NET delegate 委托 、 Event 事件
  • .net 流——流的类型体系简单介绍
  • .NET/C# 的字符串暂存池
  • /etc/fstab 只读无法修改的解决办法