数据平台的4个阶段:从数据库到数仓再到中台,超详细的架构全解( 三 )


二、数据仓库、数据平台和数据中台的架构

数据平台的4个阶段:从数据库到数仓再到中台,超详细的架构全解

文章插图
 
数据仓库架构图
1、采集层
从各种数据源中采集数据和存储到数据到存储在基于Hadoop分布式文件系统HDFS上 , 期间做ETL操作 。其中数据采集一般采用Flume收集日志 , 采用Sqoop将RDBMS以及NoSQL中的数据同步到HDFS上
数据源主要有:日志数据(服务器日志 + 系统日志等)+ 业务数据库(Mysql、Oracle等)+ 埋点数据(服务端埋点 + 移动端埋点数据等)+ 其他数据(Excel手工录入的数据、合作伙伴提供的接口数据、第三方爬虫数据、合法购买的第三方数据等)
2、存储与分析层
主要有离线计算 + 实时计算
  • 存储系统:基于Hadoop分布式文件系统对采集层的数据进行存储
  • 消息系统:加入Kafka防止数据丢失
  • 离线计算:是对实时性要求不高的部分 , 通常将计算结果保存在Hive中
  • 实时计算:使用Spark Streaming、Storm消费Kafka中收集的日志数据 , 然后通过实时计算 , 将结果保存在redis中
  • 机器学习:用Spark MLlib提供的机器学习算法
3、共享层
通过离线和实时计算的数据分析与计算后的结果存储在数据共享层 , 做数据共享层 , 主要做数据分发和调度中心 。因为通过Hive、MR、Spark、SparkSQL分析和计算的结果 , 是存储在HDFS上 , 业务和应用不可能直接从HDFS上获取数据 。其中使用Kylin作为OLAP引擎做多维度分析
4、数据应用
报表展示 + 数据分析 + 即席查询 + 数据挖掘
5、任务调度与监控
数据平台的4个阶段:从数据库到数仓再到中台,超详细的架构全解

文章插图
 
数据平台架构图
1、采集层
基于Hadoop分布式文件系统对采集层的数据进行存储 。
  • 结构化数据:通过两种途径抽取并存放到HDFS分布式文件系统中 , 能够序列化的数据 , 直接存放到HDFS中;不能够序列化的数据,通过数据整理后统一存放在分布式数据库环境中, 再经过序列化后和整理后还不能序列化的数据一样直接存放到HDFS中;
  • 半结构化和非结构化数据:各种日志数据(通常序列化半结构化数据)直接存放到HDFS中;点击流和数据接口中的数据(通常序列化半结构化数据)直接存放到HDFS中;非结构化的数据直接存放到HDFS中
2、数据层
一方面 , 把相关业务结构化数据和有一定格式关系的半结构化的数据存放在Hadoop Hive数据仓库中 , 基于业务需求 , 按照特定的业务主题域进行数据集市的构建;另一方面把相关业务中半结构化的数据直接存放在HDFS分布
3、计算层
离线计算 + 实时计算
4、应用层
可视化数据分析报表 + 搜索/推荐/广告具体的场景应用
5、任务调度与监控
数据平台的4个阶段:从数据库到数仓再到中台,超详细的架构全解

文章插图
 
阿里数据中台架构图
  1. 为了保证快速、高效、高质量数据接入 , 建立统一数据质量管理平台 + 数据能力中心
  2. 通过数据采集和接入为切入角度 , 按照业态接入内部数据(比如淘宝、天猫、盒马等)+ 外部数据(爬虫数据、第三方合作数据、埋点数据等)
  3. 把数据抽取到计算平台 , 通过以“业务板块 + 业务过程 + 分析维度”为架构去构建“数据共享中心” , 构建OneData体系
  4. 在数据共享中心的上层 , 以业务/自然对象 + 萃取标签“为架构构建“数据唯一中心” , 构建OneID体系 , 打通消费者数据体系、企业数据体系、内容数据体系等
  5. 经过深度加工后 , 得到干净、透明、智慧的数据赋能产品与业务线;通过统一的数据服务中间件“OneService”提供统一数据服务 , 让『一切业务数据化 , 一切数据业务化』
三、数据仓库、数据平台和数据中台的区别与联系
数据仓库、数据平台和数据中台的区别与联系:
1、在概念层面上
数据平台和数据中台的技术能力都是基于数据仓库发展而来的 , 在数据建设理论上一脉相承 , 他们处理的对象都是海量数据 , 服务目的、商业价值也同样类似 。其实中平台和中台 , 两者在能力上都有对外都提供Open API服务 。
一方面 , 中台是业务应用 , 不具体代表着某种技术 , 它不是最终用户能直接使用的 , 必须结合企业的各个数据业务场景;另一方面 , 平台是不带有业务特征性质的 , 主要汇集其他人的能力 , 整合成平台的能力 , 相对来说是静态的 , 而中台是动态变化的本身 , 需要通过数据驱动的方式来滋养业务 , 不断训练调整业务模型和业务算法提供的能力 , 提供给其他系统和平台集成的能力 。


推荐阅读