数据采集、汇聚的方法和工具
(1)线上行为采集
埋点:服务端和客户端埋点
(2)线下行为采集
通过硬件来采集:Wi-Fi探针、摄像头、传感器
(3)互联网数据采集
网络爬虫
(4)内部数据采集
- 结构化数据采集;
- 半结构化数据采集:JSON、XML;
- 非结构化数据采集:公文、图片、图像、音视频;
(5)离线:全量、增量采集
(6)实时:通过增量日志和消息
ETL和ELT
在数据建设过程中有ETL(抽取-转换-加载)的操作,既在数据抽取过程中进行数据的加工转换,然后加载到存储中。
但是在大规模的数据场景中不建议采用ETL而是ELT,既将数据采集后直接加载到存储中,再通过大数据和人工智能相关技术对数据进行清洗和处理。
汇聚工具
(1)canal:模拟Mysql Slave交互
(2)sqoop:在结构化数据和HDFS之间进行数据迁移的工具。整体架构以Hadoop为核心,底层使用MapReduce程序实现。
(3)DataX:阿里巴巴开源的插件式离线数据交换工具。不支持非结构化数据交换。
数据交换产品
(1)数据源管理
主要事数据存储:
关系型(MySQL、Oracle、Greenplum等);
非关系型(HBase、Redis、ES、Cassandra、Mongodb、Neo4J);
MQ(Kafka);
文件存储(HDFS、FTP、OSS、CSV、TXT、Excel);
大数据相关(Hive、Impala、Kudu、MaxCompute、ADB、LibrA、ELK)
(2)数据交换-离线
涉及到数据转换、跨集群数据同步、全量同步、增量数据
(2)数据交换-实时
实时同步的两个核心服务:数据订阅(client server)和数据消费(consumer server)
数据存储
在线存储:磁盘、磁盘阵列、云存储
离线存储:硬盘、关盘
OLTP VS OLAP
- OLTP联机事务处理:可更新、读写数十条记录
高并发、短事务
- OLAP联机分析处理:不可更新,但是周期性刷新,读取上百万条数据;通过多维的方式进行数据分析并生成报表。
采用MPP(大规模并行处理)架构的数据库集群,重点面向行业大数据,如Greenplum、ClickHouse等,也有采用从Hadoop技术生态圈的相关的大数据技术,如HBase等。
存储方式:
(1)分布式系统:包括分布式文件系统和分布式键值系统
(2)NoSQL数据库:可以支持超大规模数据存储、具有超强的横向扩展能力
(3)云数据库:数据安全有保障。
总结
数据汇聚是数据中台建设的第一个环节,其主要的目的是打破企业数据的物理孤岛,形成统一的数据中心,为后续的数据资产的价值挖掘提供原始材料。