第一章 数据中台架构总体设计

1、架构设计 & 业务关系

  • 业务关注点:在于DA层
  • 技术难点:在于PaaS层

第一章 数据中台架构总体设计_第1张图片

1.1、PaaS层 :基础设施层
  • 数据采集:flume、sqoop、datax、flinkcdc、canel
  • 数据计算:MR、Spark、flink
  • 数据存储:HDFS、Hbase、TIDB、Mysql…
1.2、DaaS层:数仓层

​ 主要包括DW、DM层

1.3、DA层:BI可视化 & 数据应用

​ 主要是BI可视化、AI应用、用户画像、推荐系统方面的应用

2、架构演进

  • 架构演进主要分为三阶段:根据上述业务关注点、技术难易程度,以及以下的适用场景决定架构选型

第一章 数据中台架构总体设计_第2张图片

2.1、第一阶段
  • 适用场景:公司从0-1,数据量GB级
  • 技术架构选型:shell主导一切
    • PaaS层:shell主导一切
    • DaaS层:无,即没有数据仓库、数据集市
    • DA层:无可视化,邮件发送报表
2.2、第二阶段
  • 适用场景:公司从1-10,数据量TB级别
  • 技术架构选型:共建Hadoop生态分层
    • PaaS层:共用集团PaaS层或者云平台
    • DaaS层:自建数据仓库、数据集市
    • DA层:BI可视化 - 仅限于PC端
2.3、第三阶段
  • 适用场景:公司从10-100,数据量PB级别
  • 技术架构选型:自建Hadoop生态分层
    • PaaS层:各个BU自建自己的Hadoop生态分层
    • DaaS层:自建全域数据仓库、通用数据集市
    • DA层:共建BI可视化 - 包括PC端、APP端…
2.4、第二阶段 VS 第三阶段

①PaaS层 - 共建 VS 自建

  • 共建:部门使用集团的集群:所有的都是集团,包括机器、网络、机房等;
  • 自建:部门使用自己的集群:机器是自己的,网络 & 机房还是共建的;

②DaaS层 - 自建 VS 自建全域

  • 自建:业务不可在其之上定制私有业务集市。
  • 自建全域:公司通用数据放在数据仓库,数据集市,业务同学可以再其之上建设自己的私有业务数据集市。

③DA层:可视化BI平台 VS 多端可视化业务共建BI平台

  • 可视化BI:即简单的PC端
  • 多端可视化共建:多端指PC端、APP端等,业务共建指业务可以通过拖拉拽方式建设自己想要的报表。

3、中台分层架构设计

  • 设计哲学:耦合系统=业务领域(DA层)垂直拆分 + 请求生命周期(DaaS)水平拆分

第一章 数据中台架构总体设计_第3张图片

  • 核心逻辑:
    • ①业务数据化:数据来源于业务,用来建设数据仓库
    • ②数据服务化:如Hive Service将hive表作为一个服务的数据支撑
    • ③服务业务化:如Hive Service将hive表作为一个服务的数据支撑,之后可支撑多个业务系统
3.1、PaaS层 (Platform-as-a-service)
  • 数据采集层:Flume、Sqoop、DataX、Kafka
  • 数据存储层:HDFS、Hive、Hbase、Mysql、TiDB、Redis
  • 数据计算层:MapReduce、Spark、Storm、Flink、Kylin、Druid
3.2、(2)DaaS层(Data-as-a-Service)
  • 源数据层:前段埋点、后端日志、业务数据库、爬虫数据
  • 数据仓库层:用户宽表、商品宽表、交易宽表、收入宽表、行为宽表
  • 数据集市层:留存模型主题表、事件模型主题表、生命周期管理、实时自主框架
3.3、SaaS层(Software-as-a-Service)
  • 数据访问:Hive Service 、Hbase Service等服务
3.4、DA层(数据应用层)
  • BI报表:渠道分析、商品分析、交易分析、用户分析、行为分析
  • 数据产品:只能挖掘、自助报表、事件漏斗、数据地图
  • 应用治理:指标字典、血缘关系、
  • 业务系统:搜索推荐、运营系统、财务系统

4、数据处理流程设计

第一章 数据中台架构总体设计_第4张图片

(1)数据抽取:日志文件采集和传输、数据导入

  • 日志文件采集:flume
  • 业务数据采集:Sqoop、DataX

(2)数据存储:文件存储、KeyValue型数据存储、基于行的存储、基于列的存储

  • 文件存储:HDFS

  • KV存储:Redis

  • 行的存储:Hive

  • 列的存储:Hbase

(3)数据处理:对原始数据进行清洗、转换,并存为结构化数据

(4)数据仓库构建:分层构建,分为DS/DW/DM/DA层

(5)数据分析挖掘:统计分析,数据挖掘

(6)数据可视化:报表可视化

5、任务开发流程设计

第一章 数据中台架构总体设计_第5张图片

(1)实时流

  • 数据存储:Hbase、Clickhouse
  • 数据计算:Fink、SparkStream

(2)离线流

  • 数据存储:Hive
  • 数据计算:MR/Spark SQL

6、同步架构 VS 异步架构

  • 问题:从架构模式来分析,中台分层架构是同步架构 还是异步架构?为什么?什么样的场景需要同步架构?什么场景需要异步架构?
6.1、同步架构
  • 同步架构:是指从请求的发起一直到最终的处理完成期间,请求的调用方一直在同步阻塞等待调用的处理完成

同步 - 单线程:任务挨个执行。每个任务需要等待前一个任务执行完毕。

preview

同步 - 多线程: 每个任务在不同线程中执行,但需要等待前置任务的完成

preview

6.2、异步架构
  • 异步架构:是指在请求发起的处理过程中,客户端的代码已经返回了,它可以继续进行自己的后续操作,而不需要等待调用处理完成,这就叫做异步调用。

异步 - 单线程:任务执行不需要等待其他任务的完成。但在一个时间点只能有一个任务执行。

preview

异步 - 多线程:任务执行不需要等待其他任务的完成。但在同一个时间点可以有多个任务执行。

preview

你可能感兴趣的:(大数据架构师专题,架构,big,data,数据仓库)