数据采集:
- 日志采集
- 数据同步
一、数据同步
数据从业务系统同步进入数据仓库
1.源数据类型
- 关系数据库的结构化数据:mysql、oracle、db2、sql server等
- 非关系型数据库等非结构化数据:oceanBase、HBase、MongoDB等
- 文件系统的结构化数据或文件存储NAS:对象存储OSS、文件存储NAS
2.同步方式:
- 直连同步:odbc/jdbc等接口直接从业务库抽取数据。
- 数据文件同步:约定好文件编码、大小、格式等,直接从源系统生成数据等文本文件,由专门的文件服务器(如ftp)传输到目标系统后,加载到目标数据库系统。
- 数据库日志解析同步:解析日志文件获取发生变更的数据,满足增量数据同步的需求。
3.阿里数据同步方式
- 批量数据同步:DataX
- 实时数据同步:TimeTunnel(TT)
TT
TT是一种基于生产者、消费者和Topic消息标识的消息中间件,将消息数据持久化到HBase到高可用、分布式数据交互系统。
这不是kafka?
4.问题与解决方案
- 分库分表的处理:TDDL(Taobao Distributed Data Layer)
- 高效同步和批量同步
- 增量与全量同步的合并
- 同步性能的处理
- 数据漂移的处理:同一个业务日期数据中包含前一天或后一天凌晨附近的数据或者丢失当天的变更数据。处理方法:
- 多获取后一天的数据
- 通过多个时间戳字段限制时间来获取相对准确的数据