像梦一样奔驰|读《数据中台-让数据用起来》笔记整理( 四 )


以上区别参考:
为何重新提到Hadoop , 可以看到在构建整个数据中台的时候 , 我们会用到数据采集框架 , 数据存储框架(文件存储 , 结构化数据库 , 非结构化数据库 , 内存数据库) , 数据计算框架(批计算 , 流计算 , 实时即席查询计算) , 数据分析框架这四大类的内容 。
而实际上上面这四块的内容在Hadoop完整框架体系里面都包括 , 在搭建完整的大数据平台后 , 你可以基于实际的业务场景需求来选择使用不同的技术工具和组件来解决问题 。
因此如果单纯从技术层面来看 , 你会发现在构建数据中台的时候确实是需要一个技术平台 , 能够实现数据从采集集成 , 到存储 , 到加工处理 , 到能力开放的全生命周期管理能力 。
基于以上的思考 , 我们看到实际的构想完全可以是基于Hadoop的底层大数据框架 , 来构建一个覆盖数据全生命周期管控加治理的平台 。 这个平台除了Hadoop外还需要做一些外围其它开源工具的集成 , 基于数据使用场景和需求的定制开放 , 实现数据能力开放和数据运营 。
即底层技术平台下沉 , 在上层构建一个面向数据全生命周期的管控治理平台 。
数据汇聚和存储
首先谈下数据汇聚和集成 , 实际上包括了多方面的内容 , 具体为传统的结构化数据库间的数据集成和交换 , 这个类似传统的ETL工具 , 但是在大数据场景下增加了结构化和非结构化数据之间的集成和对接 。 比如结构化数据之间汇聚到HDFS分布式存储等这种场景 。 当然在这个过程中结构化数据库间的传统ETL集成仍然存在 , 这个类似DataX这种工具是完全包含的 。
在这个过程中我们看到有要给分支 , 就是数据库数据的实时采集和处理 , 类似数据库同步复制技术 , 在Mysql里面有类似BinLog日志的同步复制 , 对于Oracle等结构化数据库也有类似商用产品来完成 。
除了这个外比较常见的就是日志的采集和处理 , 类似Flume工具来完成日志的采集和处理 。 对于基于日志的分析查询系统 , 当前主流又有ELK的开源整合解决方案 。 对于Elasticsearch除了本身强调的全文检索和查询能力外 , 本身也提供了对日志的分布式存储能力 , 对应的还有类似Solr的解决方案等 。
还有一个重要的分支就是互联网数据采集和网页爬虫 , 比如常说的Nutch , 现在各种开源的网页爬虫软件和工具集很多 , 特别是基于Python的网页爬虫更是发展相当迅速 。
离线数据交换和实时数据交换
离线数据交换是针对数据时效要求低 , 吞吐量大的场景 , 解决大规模数据的批量迁移问题 。 而对于这种数据集成实际上我们看当前的各种开源实现 , 主流的可扩展思路都是构建三类灵活配置的插件 , 即数据读取插件 , 数据写入插件 , 数据交换核心模块 。
对于实时数据交换主要是负责把数据库 , 日志 , 爬虫等数据实时接入到Kafka,Hive,Oracle等存储中 , 便于后续实时计算或提供给业务查询分析使用 。 实时同步两个核心业务 , 数据订阅服务 , 数据消费服务 。
数据汇聚是数据中台建设的第一个环节 , 其主要目的是打破企业数据的物理孤岛 , 形成一个统一的数据中心 , 为后续数据资产的价值挖掘提供原始材料 。 即数据汇聚目标就是建立一个大的数据共享中心 , 同时为了方便后续弹性扩展 , 这个数据中心应该是一个分布式的ODS数据共享中心 。 数据集成和汇聚是后续数据开发 , 数据分析的前提 。 通过前面内容我们也可以看到数据集成需要考虑的两个关键内容 , 一个是数据本身的类型 , 一个是数据集成的实时还是非实时要求 。
数据开发
数据开发涉及到的产品能力主要包括三个方面的内容 , 分别是离线开发 , 实时开发和算法开发 。
离线开发:离线数据加工发布和运维 , 数据分析 , 在线查询 , 即席查询实时开发:数据的实时接入和实时处理 , 简化数据流处理的加工过程算法开发:类似回归 , 聚类 , 人工智能 , 机器学习等算法的开发和应用 , 挖掘数据价值数据计算的四种类型