数据采集,在数仓开发过程中至关重要,它要求数据类型全、数据量完整、尽可能覆盖数据流转的各个环节,它是数仓建设的核心底座,毕竟巧妇难为无米之炊嘛。
1、数据的来源
- 数据库:数据库不用过多介绍,业务系统例如CRM、ERP、财务系统等等,每天都会生成大量的业务数据,存储在mysql、SqlServer、Oracle等关系型数据库中
- 日志:日志也是采集数据的重要来源,因为日志记录了程序执行的情况,例如用户登录数据、用户操作数据等,使用这些数据可以统计PV、UV等指标
- 前端埋点:用户很多前端请求不会产生后端请求,例如点击,但是这些数据对分析用户行为有很大的价值
- 爬虫:使用爬虫程序,爬取互联网上的竞品数据等
2、采集方式
- JDBC 的方式:这种方式的优点是简单,但是缺点是可能会对数据库带来负载和压力,影响业务系统的操作效率
- 抽取数据库日志的方式:这种方式抽取速度快,而且不会对数据库造成压力,Oracle 采用的是 OGG 方式,而 MySQL、SQL Server 等使用 CDC 方式。
3、采集机制
- 全量抽取:数据初始化装载