第10、11章 大数据及大数据技术

第十章  大数据架构设计

1、数据应用的发展历程

答:

(1)企业部门信息化建设(独立系统,All-in-One架构)

         解决部门内的信息化问题,各部门间系统隔离、数据隔离,无法互联互通

(2)企业系统互联互通

         通过各种数据接口,实现系统间的互联互通,杂乱无章、维护困难

(3)面向服务架构(SOA:Service-Oriented Architecture)

         在各个子系统间建立企业级的服务总线(ESB:Enterprise Service Bus),通过ESB统一管理各子系统间的相关调用,实现数据共享、互联互通。

(4)分布式架构

         解决互联网应用的高并发、高吞吐量问题;数据库不再是单节点,而是通过横向、纵向的切分、读写分离,将数据分散存储到各个物理节点上,从而分散数据库压力,解决磁盘I/0瓶颈。

(5)数据中台

         统一平台,实现数据治理,规整数据,提高数据质量。

2、数据应用的成熟度

答:

         数据应用的成熟度分为四个不同的档次:查询统计、决策分析、数据驱动与运营优化

         (1)查询统计

                  查询统计是数据应用的最原始状态

         (2)决策分析

决策分析就是通过一些商业智能(BI:Business Intelligence)系统,把抽取出来的数据集中存储于数据仓库中,进而对数据进行各种维度的分析,为决策者提供决策支持。

1)将各个业务系统的数据集中存储在一个统一的数据仓库中

2)将数据放在一起交叉比对,首先要从技术的角度将这些数据存储在同一上系统的相同的数据架构中,然后进行质量管控,即着手ETL过程;对数据进行清洗、转换和集成。

清洗:就是将原始数据中缺失的数据进行补填,或者对错误的数据进行更正。

转换:就是统一来自于各个不同来源的数据格式,通过一些key值将各业务数据打通,实现交叉比对。

集成:就是将来源于不同数据源的相同或者相信的数据集成在同一表中,便于日后的分析统计。

 

                  3)数据仓库建设

从不同维度对海量、杂乱无章的数据进行分析统计;“空间换时间”,即通过多维建模,将海量数据按照不同的维度提前统计出来,存储在统计表中。按照多维模型的思路建设数据仓库,将成为日后的主流。

                  4)将多维模型落地到数据仓库的建设

                           多维模型分为ROLAP与MOLAP。

ROLAP就是用关系型数据库来存储多维模型,形成维度表与事实表。事实表就是那些需要统计分析的业务数据,事实表中需要分析统计的数据称为“度量”。维度表,就是与事实表相关的各种属性,需要通过这些属性进行分析统计。ROLAP在查询的时候,需要频繁进行join操作,在少量数据中的查询性能较差。

 MOLAP就是通过将所有维度中的所有刻度以及它们相互之间的组合进行穷举,提前将所有的统计数据都计算出来,存储在立方体中,在查询,直接找到立方体中对应的那个点,就可以快速获得对应的统计数据。

 (3)数据驱动

数据驱动就是以数据价值驱动,采集更多数据,构建数据中台。未来数据中台建设,首先采集更多更广的数据,包括那些非结构化的日志数据、爬取数据、数据文件中的数据。同时,数据中台的底层不再是关系型数据库,而是分布式大数据技术,分析处理海量数据的能力更强,更适未来的发展。

过去BI系统建设的思想是先建设系统,然后再思考数据应用价值。数据驱动的思想是先思考数据应用价值,能够开展什么数据业务,然后再思考这个业务需要哪些数据,将收集数据、建设系统、挖掘价值与产生效益贯彻于数据中台建设的始终。

(4)运营优化

数据中台越来越庞大,需要运营优化。梳理数据处理的整个流程,规范数据开发过程,加强数据质量管理与数据血缘管理,逐步形成数据应用的闭环。

3、什么是数据中台

答:

数据中台是一套能够持续地将企业数据应用起来、产生价值的应用机制,是一套不断将数据形成资产并服务于业务的产品模式与架构方法论。它的数据来源于业务,然后反哺业务,并形成闭环,从而帮助企业实现数据的可见、可用、可运营。

数据中台不是一套软件,也不是一个信息系统,而是一系列数据组件的集合,企业基于自身的信息化建设基础、数据基础以及业务特点对数据中台的能力进行定义,基于能力定义利用数据组件搭建自己的数据中台。

数据中台关注三个关键词:持续、产生价值、产品模式

持续:数据中台的数据必须是能够持续获得的时效数据。

产生价值:这是数据中台不同于以往数据分析系统的关键。数据中台建设从一开始就在思考数据的价值,先导入一部分数据进行短期建设,快速形成产品产生价值,然后再导入另一部分数据进行短期建设,产生另一些数据产品产生价值。每完成一个阶段的建设都能带来产品,形成效益,这样就能保证企业的长期投入。

产品模式:数据中台带来一个全新的产品模式。过去的产品模式是基于用户的业务流程,挖掘用户的业务痛点,设计业务系统。新的产品模式是数据应用的产品模式,先挖掘数据价值,分析需要什么数据,为了获得这些关键的数据而决定开展什么业务,开发什么业务系统。新的产品模式是数据驱动的模式,是反过来的,是为了形成数据产品而建设对应的业务系统。

4、数据中台建设的核心

答:

数据中台建设的核心就是让数据产生价值。

为了让数据产生价值,数据中台建设应当做好以下三件事:

(1)尽可能地收集数据

要尽可能地挖掘数据价值,就要尽可能多地采集更多、更丰富的数据。未来开展人工智能业务,实际上就是“维度上的战争”。

收集数据的方式主要分两类:结构化采集与非结构化采集。

1)结构化采集:从传统的数据库中采集数据。这类数据结构清晰、数据质量高,是数据中台的主要数据来源。可以采用开源组件Sqoop抽取数据库的数据,然后存放到大数据平台中。

2)非结构化采集:就是抽取数据库以外的数据,如日志数据、爬取数据、数据文件中的数据等。采集过程“日志写入日志文件中以后,Kafka的客户端就会将其打包成消息,发送到分布式消息队列Kafka中。接着,在另一端的Spark Streaming就会去接收数据,对数据解析,将日志转化为结构化的数据,存储到大数据平台中。”

(2)更好地整理数据

建设数据中台;

数据中台建设应当具备如下特征:

1)覆盖全域数据,建立相互关联,打通业务流程

2)结构层次清晰,横向划分主题域,纵向数据分层,数据治理井井有条

3)数据准确一致,即命名统一、业务含义统一、计算口径统一、数据准确

4)统一建设、统一规划、业务共享、降本增效

为达到这样的目标,数据中台在采集数据以后,需要对数据进行一系列的ETL过程,进行清洗、转换、集成,最终将数据以多维模型的形式规整地装载到数据仓库中,并按照业务划分主题域。

ETL处理:

1)数据清洗:被抽取过来的原始数据中可能有大量错误数据,比如相关字段不全、缺失相应数据等,应当采取一些措施对缺失数据进行填补。

2)数据转换:被抽取的原始数据来源于多个业务系统,它们在存储数据时存在着格式上的差异。因此,在进行数据集成前应当首先进行数据转换,将其转换成统一的数据格式,包括统一数据格式、统一类型编码、统一字段名称等。

3)数据集成:就是将来源于多个业务系统的大量交易数据,根据维度模型的需要组织在一起,为日后的数据分析与挖掘提供更加高效与准确的数据环境支持。

纵向划分主题域:

数据仓库是按照多维模型的思路建设的,它将业务数据划分为动态数据与静态数据。动态数据,就是每天都在不断变化的业务数据(如:订单、交易、物流等)。静态数据就是与动态数据相关的档案数据(如:用户档案、商品信息、地域划分等)。动态数据形成了事实表,是我们需要分析整理的内容;静态数据形成了维度表,是数据分析统计的维度与方向。

数据仓库会按照主题域进行划分,每个主题域模型就是某个业务功能模块。每个功能模块都有它的动态数据与静态数据,因此我们将其按照业务场景划分成多个多维模型,每个多维模型都是一个事实表围绕着一圈维度表展开的。最后,按照业务流程梳理各个主题域模型,并通过某些key值将其串联起来。有了这样的数据仓库作为基础,就能依据各种不同的业务需求建立数据集市进行数据分析了。

通过分层横向划分:

数据中台的处理流程分为数据采集、ETL过程、数据仓库与数据分析4个过程,因此数据中台也横向划分为这样几个层次:原始数据层(STAGE)、细节数据层(ODS/DWD)、轻度综合层(MID/DWS)、数据集市层(DM)。

1)原始数据层(STAGE):所有原始数据被抽取到数据中台后,不做任何处理,原封不动保存。

2)细节数据层(ODS/DWD):经过ETL过程以后保存在数据中台中的一条条明细数据,即前面所说的事实表与维度表。

3)轻度综合层(MID/DWS):它是在事实表的基础上按照不同维度进行的汇总,称为聚合表。细节数据层与轻度综合层合起来组成了数据仓库。注意,数据仓库必须要稳定,即数据仓库不能包含任何分析业务,不能随着分析业务的变更而变更。只有数据仓库与分析业务无关,才能使其在后续的运维过程中保持稳定。

4)数据集市层(DM):通过抽取前两层中的事实表与聚合表的数据,按照不同的用户需求进行数据分析,最后形成数据结果。

 (3)挖掘数据潜藏的价值

挖掘数据价值最核心的工作就是要通过数据找到内存的联系,将它们以图表或报表的形式清晰地展现在用户面前。

数据分析分为 “经验模型”与“数据模型”。经验模型的判断规则,是从业务专家的业务经验总结出来的。数据模型的判断规则,是数据分析师通过数据挖掘算法挖掘数据内在规律得到的。

5、如何建设数据中台

答:

(1)自顶而下法

自顶而下的建设思路,就是从清理数据资产与规划数据架构开始。首先,明晰企业的业务系统、业务类型、业务内容、库表结构及各业务系统的相互联系,能够将各个业务系统的数据通过某些key值串联起来。在梳理这些数据的过程中,清洗、转换、集成的步骤必不可少。

接着,思考从这些数据中能够挖掘出哪些价值,这是数据中台建设的核心。以数据为驱动的数据中台建设,永远是以挖掘数据价值为核心来思考问题、建设系统的。

最后,梳理、分析这些业务到底需要哪些数据。哪些数据是已有的,哪些是去采集的,明确去哪采集,怎么采集。

(2)自下而上法

自下而上法是从自己能够想清楚的业务应用开始。在现有业务系统的基础上,想清楚数据应用,并用最短的时间开展起来。同时,为了开展这个数据应用,需要哪些业务系统 采集什么数据,先将这些数据采集到数据中台,建立第一个主题模型,快速形成产品并产生效益;然后短平快地开发第二个、第三个应用、主题模型。随着数据应用越来越多,数据中台也就越来越复杂,这时,要配合以数据质量管理与血缘管理。

数据质量是管理:通过一些测试脚本,对每次跑完的数据进行各种维度的验证,保证数据的正确性。

数据血缘管理:当数据出现问题时,需要通过数据追随,查找该数据经过哪些数据处理过程,进而跟踪是哪个处理步骤造成的数据错误。这种对数据处理过程的追踪,就是数据血缘管理。

6、数据中台技术架构

 答:

数据中台所采用的技术架构必然是大数据架构。在数据中台中,有一个业务层来完成从数据采集、数据仓库、数据分析到数据展现的业务开发。数据中台底层是一个技术平台,包含了一系列基于大数据的技术框架,来支撑业务层的业务实现。

在这个平台中,通过Sqoop支撑结构化的数据采集,通过Kafka、Flink、Spark Streaming等技术支撑非结构化的数据采集。数据采集以后,首先落地到原始数据层,然后通过ETL过程,形成数据仓库的细节数据层ODS与轻度综合层MID。这个过程都是通过Spark或SparkSQL来处理的,并存储在Hive数据库中。

接着,在数据仓库的基础上,开展各种数据分析业务,将结果数据存储到数据集市中。数据分析的过程还是通过Spark或SparkSQL来实现,并存储到Hive数据库中,这个过程的数据挖掘通过SparkML来扩展,也可以做一些数据标签的工作,帮助进行用户画像。最后,将最终的数据结果导入关系型数据进行查询,或者导入Kylin进行多维分析,或者导入Elasticsearch进行数据索引,以提供前端应用的数据展现。

为了让业务层的这一系列开发能够运行在不同的大数据平台,并且适应技术升级与更迭,应 当在业务层与技术平台之间建立一层大数据技术中台。这个技术中台会封装各个底层的大数据技术,然后以统一的API接口开放给上层的应用。

7、数据库、数据仓库、数据集市、数据湖、数据中台

答:后续单独补充

第11章 大数据技术中台

针对各项大数据技术进行介绍。这里不一一列举。

到此,《架构真意 企业级应用架构设计方法论与实践》已读完 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值