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

本文涉及的产品
阿里云百炼推荐规格 ADB PostgreSQL,4核16GB 100GB 1个月
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
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推出全新企业智能数据平台,用以帮助用户一站式的管理企业数据服务资产,包括创建, 管理,探索, 监控等; 助力企业在现有平台之上快速构建起数据服务资产体系
相关文章
|
16天前
|
IDE Android开发 iOS开发
深入解析Android与iOS的系统架构及开发环境差异
本文旨在探讨Android和iOS两大主流移动操作系统在系统架构、开发环境和用户体验方面的显著差异。通过对比分析,我们将揭示这两种系统在设计理念、技术实现以及市场策略上的不同路径,帮助开发者更好地理解其特点,从而做出更合适的开发决策。
59 2
|
16天前
|
Java 对象存储 开发者
解析Spring Cloud与Netflix OSS:微服务架构中的左右手如何协同作战
Spring Cloud与Netflix OSS不仅是现代微服务架构中不可或缺的一部分,它们还通过不断的技术创新和社区贡献推动了整个行业的发展。无论是对于初创企业还是大型组织来说,掌握并合理运用这两套工具,都能极大地提升软件系统的灵活性、可扩展性以及整体性能。随着云计算和容器化技术的进一步普及,Spring Cloud与Netflix OSS将继续引领微服务技术的发展潮流。
31 0
|
3天前
|
安全 Android开发 iOS开发
深入解析:安卓与iOS的系统架构及其对应用开发的影响
本文旨在探讨安卓与iOS两大主流操作系统的架构差异,并分析这些差异如何影响应用开发的策略和实践。通过对比两者的设计哲学、安全机制、开发环境及性能优化等方面,本文揭示了各自的特点和优势,为开发者在选择平台和制定开发计划时提供参考依据。
|
5天前
|
测试技术 数据库 Android开发
深入解析Android架构组件——Jetpack的使用与实践
本文旨在探讨谷歌推出的Android架构组件——Jetpack,在现代Android开发中的应用。Jetpack作为一系列库和工具的集合,旨在帮助开发者更轻松地编写出健壮、可维护且性能优异的应用。通过详细解析各个组件如Lifecycle、ViewModel、LiveData等,我们将了解其原理和使用场景,并结合实例展示如何在实际项目中应用这些组件,提升开发效率和应用质量。
|
2天前
|
前端开发 Python
解析数据的Beautiful Soup 模块(二)
解析数据的Beautiful Soup 模块(二)
10 1
|
12天前
|
物联网 5G SDN
5G 网络架构全解析:RAN、核心网和接入网
5G 网络架构全解析:RAN、核心网和接入网
49 8
|
18天前
|
编解码 开发工具 UED
QT Widgets模块源码解析与实践
【9月更文挑战第20天】Qt Widgets 模块是 Qt 开发中至关重要的部分,提供了丰富的 GUI 组件,如按钮、文本框等,并支持布局管理、事件处理和窗口管理。这些组件基于信号与槽机制,实现灵活交互。通过对源码的解析及实践应用,可深入了解其类结构、布局管理和事件处理机制,掌握创建复杂 UI 界面的方法,提升开发效率和用户体验。
90 12
|
2天前
|
运维 负载均衡 安全
深度解析:Python Web前后端分离架构中WebSocket的选型与实现策略
深度解析:Python Web前后端分离架构中WebSocket的选型与实现策略
8 0
|
2天前
|
JSON API 开发者
深入解析Python网络编程与Web开发:urllib、requests和http模块的功能、用法及在构建现代网络应用中的关键作用
深入解析Python网络编程与Web开发:urllib、requests和http模块的功能、用法及在构建现代网络应用中的关键作用
6 0
|
2天前
|
XML 数据格式 开发者
解析数据的Beautiful Soup 模块(一)
解析数据的Beautiful Soup 模块(一)
16 0

热门文章

最新文章

推荐镜像

更多