从数据库导出数据CDC的几种方式
💡
原文中文,约800字,阅读约需2分钟。
📝
内容提要
变更数据捕获是从数据库获取数据的过程,用于复制操作数据库的操作,实现零停机源数据库复制和迁移。有两种模式:ETL和ELT。CDC的主要方式有轮询CDC客户端和推送CDC触发器。轮询CDC客户端需要扩充源表、不是实时CDC、源数据库承受高负载、复制删除事件困难。推送CDC触发器造成最高的数据库负载开销,但是实时CDC。基于日志的CDC使用事务日志记录数据库事件,事务挖掘器将选定的事件推送到下游系统。设置复杂,但数据库负载最小,实时CDC。
🎯
关键要点
- 变更数据捕获是从数据库获取数据的过程,用于复制操作数据库的操作。
- CDC可实现零停机源数据库复制和迁移,适用于关键应用程序。
- 数据移动有两种模式:ETL和ELT。
- ETL模式下,CDC提取的数据可即时转换并推送到数据湖或数据仓库。
- ELT模式下,数据按原样复制到数据湖或数据仓库,后续在系统内部进行转换。
- CDC的主要方式包括轮询CDC客户端和推送CDC触发器。
- 轮询CDC客户端的缺点包括需要扩充源表、通常不是实时CDC、高负载和复制删除事件困难。
- 推送CDC触发器的优点是实时CDC,但会造成最高的数据库负载开销。
- 基于日志的CDC使用事务日志记录数据库事件,设置复杂但数据库负载最小且实时CDC。
- 流行的基于日志的CDC实现方式是Debezium。
➡️