首页 > 解决方案 > 使用 Index Seek 选项在 Debezium 中执行数据库快照

问题描述

我正在使用 Debezium Server 将数据从 MySql 流式传输到 Kinesis。每个表有大约 150 万条记录。

因此,快照需要花费大量时间(我在 5-8 分钟内获得 10k 条记录)这太慢了,有时,Debezium 停止,当我们重新启动实例时,它再次拍摄快照(我是使用 when_needed 选项)。

我知道 Debezium 只是在桌子上进行扫描,这实际上需要花费大量时间。

我编写了一个使用 max(Id) 的 python 脚本,然后我正在执行批量查询,这有效地使用了表上的索引,并且我能够在过去的 10 分钟内对所有表进行快照(将其写入 Kinesis) 9 小时前。

所以现在,我正在使用我的 Python 脚本手动拍摄快照,然后使用选项启动 debezium

debezium.source.snapshot.mode=schema_only

那么在没有脚本的情况下提高快照速度的最佳方法是什么,因为我需要在 debezium 停止时手动执行它?顺便说一句,My Kinesis 由 4 个碎片组成。

标签: amazon-kinesisdebezium

解决方案


推荐阅读