概述
如果我们在建设数仓过程中有实时计算或者监管或者封控等需求,就需要考虑实时数据同步、采集的方案了。实时数据采集将源端数据库中部分或全部表的数据变化实时同步至目标数据库中,实现目标库实时保持和源库的数据对应。
一般在实时同步之前会有补数据操作,所以实时数据同步一般只考虑增量数据,不过需要考虑需要单表同步还是整库同步。
技术要点
- 单表实时同步
- 整库实时同步
- 断点续传。
- 心跳检查。
- 异常告警:在数据同步发生异常时需要产生告警记录,通知对应的责任人及时排查问题,避免对业务产生较大影响。
消息队列
如果对方提供的数据源为kafka、rocketmq之类的消息队列,那可以使用订阅对方消息队列topic的方式对数据进行监听,实时获取数据变更记录,从而将有需要的数据进行落盘操作。
数据库日志解析
部分数据库可通过解析binlog的方式实时监控数据记录,如可使用Canal、Flink-CDC的方式订阅MySQL的binlog。从而完整的