全文比对的过程是先从源和目标中将数据按照排序字段先进行排序然后抽取出来,经过比对组件计算得到变化的状态(insert、update和delete),最后根据得到的变化状态将数据同步到目标表 。如果在这一过程中发生异常,那么这次同步的数据就没有进入目标表,在下一次计划触发执行时由于上一次所执行的作业没有进入目标表,在这次执行作业时又会重新进行比对得到断点位置又会再次进行数据同步 。
CDC数据同步的执行过程是根据日志记录的偏移来从日志中找出需要同步的增量数据,然后到目标表根据操作标识进行数据同步完成后修改日志记录的偏移,那么作业在执行过程中出现异常时,这个日志的偏移量没有改变 。在进行性下一次数据交换时还会从这个偏移量的位置进行,从而实现断点续传 。
非结构化数据交换
以前的非结构化的数据交换,常常使用网盘或者FTP传输文件时,尤其是大文件,容易出现中断,严重影响工作效率和业务 。
文章插图
数据交换平台中采用了数字签名、时间戳、报文加密的方式对传输的消息进行完整性验证,防止消息在传输过程中被篡改 。通过数据交换平台可以验证消息确实来自于其真正的发送者而非假冒;确保消息的内容没有被修改;防止以插入、删除、调换或修改等方式篡改消息 。
交换平台中的文件传输具有以下特点:
- 数据包裹传输方式 防止数据被篡改
- 加密传输和存储 保障数据安全性
- 支持断点续传错误重传 确保数据高效流转
下面列举了平台中文件传输中所使用到的技术:
- 文件校验
- 断点续传:
- 压缩传输:
- 文件切片:
4.3.2 实时数据交换
打破信息壁垒和信息孤岛,实现统一高效、互联互通、安全可靠的数据资源体系,实时数据交换是推动信息跨部门跨层级共享共用数据中心的重要环节 。实时数据交换适用于对于数据时效要求快速、高频度、少量数据传输的场景 。实时数据交换通过将数据中心库中的数据快速的发布出来提供给外部系统共享调用,同时能够监控外部调用数据的情况提升数据的价值 。
文章插图
在新的Web服务共享下数据交换平能够自助的、一键式将数据中心库(包括常见的关系型数据库MySQL、oracle、sqlserver等,或Hbase、Hive、MongoDB)中的数据通过标准的Web服务发布出来 。用户只需要配置发布数据中表和表之间的关系以及发布的字段就能够实现单表、多表或数据实体的发布 。发布出的服务带有对输入输出以及调用url的详细描述信息,消费方能够很方便的对这些信息进行查看和订阅 。
服务方能够对订阅的信息进行审批,审批通过后消费方才能根据审批信息,配置服务调用参数调用服务 。服务方通过对订阅信息的管理和监控能更好的掌握和发掘数据的价值 。
4.3.3 数据驱动的交换
变化数据捕获简称CDC,这种方式主要应用于增量数据同步并且实时性要求较高的场景 。这种架构下数据写入主存储后会由主存储再向辅存储进行同步,对应用层是最友好的,只需要与主存储打交道 。主存储到辅存储的数据同步,则可以再利用异步队列复制技术来做 。不过这种方案对主存储的能力有很高的要求,必须要求主存储能支持CDC技术 。而目前每种数据库实现CDC的方式和方法各不相同,于是就需要根据数据库类型定制化的进行CDC的开发 。
推荐阅读
- MySQL数据库运维的基本命令
- AI 人工智能,数据科学和数据分析
- 用数据说话,2021悬疑剧全面复盘
- 大数据助力精准帮扶,无锡物价局开展茶叶成本收益数据核对调查工作
- 怎样选择数据库?一文看懂数据库分类
- MySQL数据库表结构快速导出成MarkDown文档
- 80后架构师教你学ApacheBeam,一个开源统一分布式数据处理编程库
- 浅谈数据库分布式架构设计
- 茶叶杀青的目地,冰岛普洱茶的杀青过程
- 创造新白茶的整个过程,新白茶的特点