数据中台全景架构及模块解析!一文入门中台架构师!

本文涉及的产品
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
阿里云百炼推荐规格 ADB PostgreSQL,4核16GB 100GB 1个月
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
简介: 数据中台全景架构及模块解析!包括数据采集、数据存储、数据开发处理、数据资产管理、数据质量和安全、数据服务。一文入门中台架构师!

回顾一下,第一篇文章大白话 六问数据中台!你想知道的都在这了!。把数据中台是什么?为什么?有什么价值?说的明明白白。数据中台是企业级能力复用平台,目标是让数据持续用起来,通过数据中台提供的工具、方法和运行机制,把数据变为一种服务能力,让数据更方便地被业务所使用

今天就来点实际干货,把企业真实数据平台架构分享给您!相信看完这篇文章,你会真正对数据中台有一个全景的认识与理解,从抽象过度到具体。无图无真相,我赶紧po一张数据中台总体架构图:

image.png

数据中台是在底层存储计算平台与上层的数据应用之间的一整套体系,屏蔽掉底层存储平台的计算技术复杂性,降低对技术人才的需求,可以让数据的使用成本更低。如果用三句话来概括数据中台的组成架构,那么一定是:

  • 通过数据中台的数据汇聚、数据开发模块建立企业数据资产
  • 通过资产管理与治理、数据服务把数据资产变为数据服务能力,服务于企业业务
  • 数据安全体系、数据运营体系保障数据中台可以长期健康、持续运转

现在您已经知道了,数据中台离不开这几个模块:数据汇聚、数据开发、资产管理、数据安全、数据服务。那么赶紧跟上我的脚步潜入内部去一探究竟吧。

数据汇聚

数据汇聚,首先必然要有数据来源,有了数据来源之后,需要确定采集工具,有了采集工具之后你还要确定存储位置。

数据来源

数据是数据中台的核心,所以数据汇聚无疑是数据中台的入口。企业中的数据来源极其多,但大都都离不开这几个方面:数据库,日志,前端埋点,爬虫系统等。

  • 数据库我们不用多说,例如通常用mysql作为业务库,存储业务一些关键指标,比如用户信息、订单信息。也会用到一些Nosql数据库,一般用于存储一些不那么重要的数据。
  • 日志也是重要数据来源,因为日志记录了程序各种执行情况,其中也包括用户的业务处理轨迹,根据日志我们可以分析出程序的异常情况,也可以统计关键业务指标比如PV,UV。
  • 前端埋点同样是非常重要的来源,用户很多前端请求并不会产生后端请求,比如点击,但这些对分析用户行为具有重要的价值,例如分析用户流失率,是在哪个界面,哪个环节用户流失了,这都要靠埋点数据。
  • 爬虫系统大家应该也不陌生了,虽然现在很多企业都声明禁止爬虫,但往往禁止爬取的数据才是有价值的数据,有些管理和决策就是需要竞争对手的数据作为对比,而这些数据就可以通过爬虫获取。

这些数据分散在不同的网络环境和存储平台中,另外不同的项目组可能还要重复去收集同样的数据,因此数据难以利用,难以复用、难以产生价值。数据汇聚就是使得各种异构网络、异构数据源的数据,方便统一采集到数据中台进行集中存储,为后续的加工建模做准备。

数据汇聚可以是实时接入,比如实时消费mysql的binlog进行数据同步,也可以是离线同步,比如使用sqoop离线同步mysql数据到hive。

技术选型

数据汇聚一般用到的技术包括:

  • Flume
  • Sqoop
  • Datax
  • Canal

数据落地

采集之后必然需要将数据落地,即存储层,常见的有:

  • MYSQL、Oracle、Tidb
  • Hive、Hdfs、HBase
  • Redis
  • ElasticSearch

由于篇幅问题,本文不详细说明。关于采集工具以及存储层的选择和使用、后续会有专门的文章介绍。请关注公众号【胖滚猪学编程】,一个集颜值与才华为一身的女程序媛,坚持原创,用漫画形式让编程so easy

数据开发

数据开发可以理解为数据汇聚和数据资产的一个桥梁。何为数据资产?数据资产是有价值的数据。而数据汇聚是原始数据,业务人员一般是难以使用的。原始数据-->有价值的数据,是需要一个过程的。那么就是让数据开发模块来完成这个过程。

image.png

数据开发是一整套数据加工及管控的工具,包括离线开发,智能调度,实时开发,人工智能等。

举个例子,某公司想知道广告投放的效益,而原始数据包括埋点数据,用户注册数据,用户消费数据等,是不是需要整理一个sql,跑一个广告效益报表呢?毫无疑问需要。那么我们就可以通过智能调度平台,定时跑出业务需要的数据;也可以通过实时流计算,实时展示业务需要的数据。这都是属于数据开发模块的功能。

  • 离线计算:计算推荐使用SparkHive。调度平台可以使用Azkaban、Oozie、EasySchedule。
  • 实时计算:推荐使用Flink、SparkStructStreaming、SparkStreaming、Storm
  • 人工智能:推荐使用TensorFlow、Spark ML

由于篇幅问题,本文不详细说明。后续文章有详细说明离线计算、实时计算的选型、应用场景和落地方案。请关注公众号【胖滚猪学编程】,一个集颜值与才华为一身的女程序媛,坚持原创,用漫画形式让编程so easy

数据开发模块适合对象是数据开发、算法建模人员,提供离线、实时、算法开发工具以及任务的管理、代码发布、运维、监控、告警等一些列集成工具,方便使用,提升效率。他们可以依赖于数据开发模块提供的基础功能,快速把数据加工成对业务有价值的形式,提供给业务使用。

数据资产管理

有了数据汇聚、数据开发模块,中台已经具备传统数仓平台的基本能力,可以做数据的汇聚以及各种数据开发,就可以建立企业的数据资产体系。

这里我有必要再次强调一遍:数据资产指的是有价值的数据。这个也正是资产管理模块需要去做的事情。如何让数据变的有价值?第一体现在数据本身上,比如需要保证数据的质量。第二体现在业务上,偏技术的数据体系业务人员是比较难理解的,因此资产管理需要用企业全员更好理解的方式,把企业的数据资产展现给企业全员(当然要考虑权限和安全管控)。

数据资产管理包括数据地图、元数据管理、数据质量、数据血缘、数据生命周期等进行管理和展示,以一种更直观的方式展现企业的数据资产,提升企业的数据意识。

现在你会有很多疑问,数据地图是什么?元数据管理是什么?数据血缘又是什么?这些都是非常核心的地方,别急,后续文章我会以公司真实落地方案和应用场景对每一个模块进行说明,先发几张图让你对它们有一个初步的概念。

数据地图

数据血缘

数据质量和安全

数据质量和安全在很多架构图中归属于资产管理模块,但是笔者认为数据质量和安全应该是贯穿整个数据中台的。数据汇聚和数据开发的时候显然也应该考虑质量和安全问题,所以笔者倾向于将数据质量单独拿出来作为一个模块。

数据质量

我们会遇到无处不在的数据质量问题,包括业务系统脏数据、数据不一致不准确等。影响数据使用和上层决策。

为什么会出现数据质量问题呢?大部分是如下几个原因

  • 开发代码的BUG
  • 数据源变更:比如由于MYSQL表结构变更,导致HIVE同步MYSQL任务失败。
  • 基础设施和服务不稳定或资源不足:比如流量猛增的情况导致OOM

由于这些原因,会导致数据不符合以下"四性",因此存在数据质量问题:

  • 完整性:指的是数据信息是否存在缺失的状况,可能是整个数据记录缺失,也可能是数据中某个字段信息的记录缺失。
  • 一致性:是指数据是否遵守了统一的规范,数据集合是否保持了统一的格式。比如商品购买率=商品购买用户数 / 商品访问量,如果在不同的模型中,商品购买用户数是1W、商品访问量10W,商品购买率20%,那这三个指标就存在不一致。
  • 准确性:是指数据记录的信息是否存在异常或错误。比如数据格式是否为正确的ip。
  • 及时性:是指数据从产生到可以查询的时间间隔,也叫数据的延时时长。

而数据质量无疑是非常重要的一部分,就算你数据再多再快,不准也无用。因此数据质量管理平台尤为重要。数据质量管理是支持多种异构数据源的质量校验、通知、管理服务的一站式平台。包括数据探查、对比、质量监控、SQL扫描和智能报警等功能。数据质量监控可以全程监控数据加工流水线,根据质量规则及时发现问题,并通过报警通知负责人及时处理。

在实际生产中,可从以下几个方面做好数据质量工作:

  • 离线数据:数据是否完整、一致和准确,比如HIVE离线同步业务库MYSQL数据,同步完需要对比数据条数。
  • 实时数据:除了数据是否完整、一致和准确,还需要检测数据是否断流、数据是否延迟。
  • 报警监控:支持短信、微信告警到对应负责人。

数据安全

数据安全的重要性不用多说,如果你把用户信息泄露了,严重会导致整个公司都倒闭。因此对于全链路的数据,都应该做好数据安全工作。比如应该把业务库/日志的敏感数据进行脱敏,为身份证、银行卡等常用的数据类型提供掩盖脱敏策略。以及日志审计等。

数据生命周期安全可以分为以下几个部分:

  • 数据采集安全:包括数据源鉴别以及记录等
  • 数据传输安全:包括数据传输加密等
  • 数据存储安全:包括存储介质安全、数据备份恢复等
  • 数据处理安全:包括数据脱敏等
  • 数据交换安全:包括数据共享安全、导入导出安全等
  • 数据销毁安全:包括数据销毁和介质销毁等

数据服务体系

前面利用数据汇聚、数据开发建设企业数据资产,利用数据管理展现企业的数据资产,但是并没有发挥数据的价值。数据的价值体现一定是在业务层面、即数据服务体系。就是把数据变为一种服务能力,通过数据服务让数据参与到业务,激活整个数据中台,数据服务体系是数据中台存在的价值所在

数据服务体系是基于公司自身的产品和业务的,比如以电商公司为例,数据服务就包括了:精准营销、用户画像、经营分析、可视化大屏等。
image.png

总结

搭建企业级数据中台之前,务必把数据中台全景架构图设计好,对每一个模块的定位、功能、作用做到心中有数。
笔者收集到10张高清数据中台架构图,包括阿里数据中台全景图、电商数据中台全景图等,对你理解数据中台构建数据中台具有重大价值!文章不便于一次发10张图,请关注公众号【胖滚猪学编程】回复"数据中台" 获取
image.png

wchat1

相关实践学习
阿里云百炼xAnalyticDB PostgreSQL构建AIGC应用
通过该实验体验在阿里云百炼中构建企业专属知识库构建及应用全流程。同时体验使用ADB-PG向量检索引擎提供专属安全存储,保障企业数据隐私安全。
AnalyticDB PostgreSQL 企业智能数据中台:一站式管理数据服务资产
企业在数据仓库之上可构建丰富的数据服务用以支持数据应用及业务场景;ADB PG推出全新企业智能数据平台,用以帮助用户一站式的管理企业数据服务资产,包括创建, 管理,探索, 监控等; 助力企业在现有平台之上快速构建起数据服务资产体系
相关文章
|
18天前
|
运维 持续交付 云计算
深入解析云计算中的微服务架构:原理、优势与实践
深入解析云计算中的微服务架构:原理、优势与实践
51 1
|
11天前
|
运维 监控 持续交付
微服务架构解析:跨越传统架构的技术革命
微服务架构(Microservices Architecture)是一种软件架构风格,它将一个大型的单体应用拆分为多个小而独立的服务,每个服务都可以独立开发、部署和扩展。
110 36
微服务架构解析:跨越传统架构的技术革命
|
15天前
|
机器学习/深度学习 资源调度 算法
图卷积网络入门:数学基础与架构设计
本文系统地阐述了图卷积网络的架构原理。通过简化数学表述并聚焦于矩阵运算的核心概念,详细解析了GCN的工作机制。
41 3
图卷积网络入门:数学基础与架构设计
|
16天前
|
存储 Linux API
深入探索Android系统架构:从内核到应用层的全面解析
本文旨在为读者提供一份详尽的Android系统架构分析,从底层的Linux内核到顶层的应用程序框架。我们将探讨Android系统的模块化设计、各层之间的交互机制以及它们如何共同协作以支持丰富多样的应用生态。通过本篇文章,开发者和爱好者可以更深入理解Android平台的工作原理,从而优化开发流程和提升应用性能。
|
18天前
|
弹性计算 持续交付 API
构建高效后端服务:微服务架构的深度解析与实践
在当今快速发展的软件行业中,构建高效、可扩展且易于维护的后端服务是每个技术团队的追求。本文将深入探讨微服务架构的核心概念、设计原则及其在实际项目中的应用,通过具体案例分析,展示如何利用微服务架构解决传统单体应用面临的挑战,提升系统的灵活性和响应速度。我们将从微服务的拆分策略、通信机制、服务发现、配置管理、以及持续集成/持续部署(CI/CD)等方面进行全面剖析,旨在为读者提供一套实用的微服务实施指南。
|
18天前
|
SQL 数据可视化 数据库
多维度解析低代码:从技术架构到插件生态
本文深入解析低代码平台,涵盖技术架构、插件生态及应用价值。通过图形化界面和模块化设计,低代码平台降低开发门槛,提升效率,支持企业快速响应市场变化。重点分析开源低代码平台的优势,如透明架构、兼容性与扩展性、可定制化开发等,探讨其在数据处理、功能模块、插件生态等方面的技术特点,以及未来发展趋势。
|
17天前
|
SQL 数据可视化 数据库
多维度解析低代码:从技术架构到插件生态
本文深入解析低代码平台,从技术架构到插件生态,探讨其在企业数字化转型中的作用。低代码平台通过图形化界面和模块化设计降低开发门槛,加速应用开发与部署,提高市场响应速度。文章重点分析开源低代码平台的优势,如透明架构、兼容性与扩展性、可定制化开发等,并详细介绍了核心技术架构、数据处理与功能模块、插件生态及数据可视化等方面,展示了低代码平台如何支持企业在数字化转型中实现更高灵活性和创新。
39 1
|
21天前
|
缓存 监控 网络协议
深入解析微服务架构中的服务发现机制
深入解析微服务架构中的服务发现机制
25 1
|
18天前
|
存储 边缘计算 安全
深入解析边缘计算:架构、优势与挑战
深入解析边缘计算:架构、优势与挑战
36 0
|
19天前
|
负载均衡 Java 持续交付
深入解析微服务架构中的服务发现与负载均衡
深入解析微服务架构中的服务发现与负载均衡
46 0

推荐镜像

更多