【问题标题】:Does Debezium use Postgres primary key for partition key?Debezium 是否使用 Postgres 主键作为分区键?
【发布时间】:2021-03-04 00:44:44
【问题描述】:

我正在查看 Debezium 文档:https://debezium.io/documentation/reference/configuration/topic-routing.html

我只能看到如何指定自定义键,但我不明白它是否默认使用数据库主键作为路由键。

数据库主键甚至可以是三元组,例如 (column1, column2.column3)

【问题讨论】:

  • 来自您链接的文档:“Debezium 更改事件键使用构成表主键的表列。”
  • 这是否意味着它使用“主键列”来组成分区键?我没有发现明确的说法引起了关注
  • 不知道你说的partition键是什么意思。谷歌搜索"partition key" site:debezium.io 只产生对非 postgres 组件的引用。 change event 键将是表主键列的行值。
  • 对不起,我的意思是 kafka 分区键。我的目标是所有与特定主键(column1、column2.column3)相关的 Postgres 更改都将转到相同的 Kafka 分区键,以便它们可以由唯一的处理器处理。我会假设事件键和分区键是相同的(在 Debezium 术语和 Kafka 术语中)

标签: postgresql debezium


【解决方案1】:

是的,可以使用message.key.columns

示例:

{
  "name": "my-connector",
  "config": {
    "...": "...",
    "message.key.columns": "my_database.users:department_id"
  }
}

文档:https://debezium.io/documentation/reference/connectors/postgresql.html#postgresql-property-message-key-columns

【讨论】:

  • 为什么这个答案会被接受?没有信息表明此消息键用作分区键。我错过了什么吗?
  • 请阅读debezium文档:-p
猜你喜欢
  • 2022-01-22
  • 2021-11-03
  • 2018-12-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多