1、数据技术篇
1.1 日志采集
1.2 数据同步
-
数据同步技术是指不同系统间的数据流转,有多种应用场景:
-
同类型不同集群数据库之间的数据同步
- 主数据库与备份数据库之间的数据备份;
- 主系统与子系统之间的数据更新;
-
不同地域、不同数据库类型之间的数据传输交换
- 分布式业务系统与数据仓库系统之间的数据同步;
-
-
直连同步
- 通过定义好的规范接口API和基于动态链接库的方式直接连接业务库;
- 能让不同的数据库支持完全相同的函数调用和SQL实现;
- 配置简单,实现容易,适合操作型业务系统的数据同步;
- 若业务库采取主备策略,则可以从备库中抽取数据,避免对业务系统产生性能影响(但当数据量较大时,该方法性能较差);
- 不适合业务系统到数据仓库系统的同步
-
数据文件同步
- 通过约定好的文件编码、大小、格式等,直接从源系统生成数据的文本文件,由FTP之类的文件服务器传输到目标系统后,加载到目标数据库系统中;
- 适合包含多个异构数据库的数据源以及互联网的日志类数据(通常以文本形式保存);
- 为了确保数据文件同步的完整性,除了数据文件本身,还会附加上传一个校验文件;
- 在源系统生产数据文件的过程中,可以增加压缩和加密功能来提高文件的传输效率和安全性;
-
数据库日志解析同步
-
可以通过源系统的进程,解析日志文件获取发生变更的数据,从而满足增量数据同步的需求;
-
读取日志的过程不会通过数据库,是在操作系统层面完成任务,因此不会给源系统带来性能影响;
-
由于数据库日志抽取一般是获取所有的数据记录的变更(增、删、改),落实到目标表时,需要根据主键去重再按照日志时间倒排序获取最后状态的变化情况。
-
删除数据的处理方法P32;
- 一般情况下,可以采用不过滤的方式来处理,下游再通过是否删除记录的标识来判断记录是否有效
-
缺点
- 数据延迟
- 投入较大
- 数据漂移和遗漏(数据漂移一般是对增量表而言,通常是指该表的同一个业务日期数据中包含前一天或后一天凌晨附近的数据或者丢失当天的变更数据)
-