平台、中台与数据智能

数字产业化、产业数字化...如今数字化不再是一种竞争优势,仅仅是一张新时代的“入场券”。企业通过打造数字化中台将共性需求进行抽象,并打造为平台化、组件化的系统能力,以接口、组件等形式共享给各业务单元使用。企业可以针对特定问题,快速灵活地调用资源构建解决方案,为业务的创新和迭代赋能。数字中台是企业数字能力共享平台,是平台的平台,是创建数据智能的重要基石

大数据平台

数据作为一个生态级的平台企业最直接的沉淀,亦是最基本的再生产资料。阿里作为大数据战略的核心践行者,致力于“大数据,赋能商业,创造价值”,构建了从底层的数据采集、数据处理,到挖掘算法、数据应用服务以及数据产品的全链路、标准化的大数据体系,以探索全域数据的价值

DT时代,大数据井喷式爆发,加大了数据模型、数据研发、数据质量和运维保障工作的难度;日益丰富的业态,也带来各种各样、纷繁复杂的数据需求

建设高效的数据模型和体系,使数据易用,避免重复建设和数据不一致,保证数据的规范性;提供高效易用的数据开发工具;做好数据质量保证;有效管理和控制日益增长的存储和计算消耗;保证数据服务的稳定和性能;设计有效的数据产品高效赋能于外部客户和内部员工......这些都给大数据系统建设提出了更复杂的要求,下图是阿里巴巴大数据系统体系架构图,从图中可以清晰地看到数据体系主要分为数据采集、数据计算、数据服务和数据应用四个层次

阿里巴巴大数据系统体系架构图

数据技术篇

数据采集分为日志采集和数据库数据同步两部分

日志采集 日志采集方案包括两大体系Aplus.JS(Web端基于浏览器)和UserTrack是App端(无线客户端)。浏览器页面日志采集包括页面浏览日志采集(PV、UV),页面交互日志采集获取用户行为日志

数据处理全链路

数据同步 即不同系统之间的数据流转,有多种不同的用于场景(主数据库与备数据库之间的备份、主系统与子系统之间的数据更新、同类型不同集群数据库之间的数据同步等)。对与大数据系统来说包含数据从业务系统同步进入数据仓库和数据从数据仓库同步进入数据服务或数据应用两个方面。同步可分为三种方式:直连同步、数据文件同步和数据库日志解析同步。数据仓库的特性之一是集成,将不同的数据来源、不同形式的数据整合在一起,所以从不同业务系统将各类数据源同步到数据仓库是一切的开始。阿里数据仓库的数据同步特点是数据来源的多样和数据量庞大,要根据数据源类型和数据应用的时效性要求而采取不同的策略,策略包括:批量数据同步、实时数据同

DataX可接入的数据源

DataX架构设计图

离线数据开发 数据计算层包括两大体系:数据存储及计算平台(离线计算平台MaxCompute和实时计算平台StreamCompute)、数据整合及管道管理体系(OneData)。阿里离线数据仓库的存储和计算都是在阿里云大数据计算服务MaxCompute上完成的

MaxCompute体系架构图

MaxCompute由四部分组成,分别是


1.客户端 客户端有Web、SDK、CLT及IDE等几种形式

2.接入层 提供HTTP服务、Cache、负载均衡,实现用户认证和服务层面的访问控制

3.逻辑层(控制层) 是MaxCompute的核心部分,实现用户空间和对象的管理、命令的解析与执行逻辑、数据对象的范根控制与授权等功能。有Worker、Scheduler和Excutor三个角色

4.存储与计算层 计算层就是飞天内核(Apsara Core),运行在和控制层相互独立的计算集群上,包括Pangu(分布式文件系统)、Fuxi(资源调度系统)、Nuwa/ZK(Namespace服务)、Shennong(监控模块)等

MaxCompute的特点:计算性能高且更加普惠、集群规模大且稳定性高、功能组件非常强大、安全性高

实时技术 相对于离线批处理技术,流式实时技术作为一个非常重要的技术补充,按照数据延迟情况,时效性一般分为三种离线、准实时、实时。流式数据处理技术使之业务系统每产生一条数据,就会立即被采集实时发送到流失任务中进行处理,不需要定时调度任务来处理数据。流式数据处理一般具有以下特征:时效性高、常驻任务、性能要求高、应用局限性

流式技术架构图

流式计算技术中,需要各个子系统之间相互依赖形成一条数据处理链路,才能产出结果最终对外提供实时数据服务。主要分为以下几部分

1.数据采集 数据的源头,所采集的数据都来自于业务服务器,从所采集的数据种类来看,主要可以划分为数据库变更日志和引擎访问日志,这些数据被采集到数据中间件中,供下游实时订阅使用



2.数据处理 实时计算任务部署在流式计算系统上,通过数据中间件获取到实时源数据后进行实时加工处理。阿里云提供的StreamCompute系统,作为业界首创的全链路计算开发平台,涵盖了从数据采集到数据生产各个环节

实时任务的几个典型问题:去重指标(精确去重、模糊去重)——布隆过滤器、基数估计;数据倾斜——去重指标分桶、非去重指标分桶;事务处理——超时时间、事务信息、备份机制

3.数据存储 实时任务在运行过程中,会计算很多维度和指标,这些数据需要放在一个存储系统中作为恢复或者关联使用。其中会涉及三种类型的数据:中间计算结果、最终结果数据、维表数据

4.数据服务 实时数据落地到存储系统后,使用方就可以通过同意的数据服务获取到实时数据。例如接下来要介绍的OneService,其好处是:不需要直连数据库,数据源等信息在数据服务层维护,当存储系统迁移时,对下游是透明的;调用方只需要使用服务层暴露的接口,不需要关系底层数逻辑实现;屏蔽存储系统间的差异,统一的调用日志输出,便于分析和监控下游使用情况

流式数据模型 数据模型涉及是贯通数据处理过程的,实时数据模型是离线数据模型的一个子集,在实时数据处理过程中,多参考离线数据模型实现。下面从三个方面说明

数据分层

ODS 属于操作数据层,直接从业务系统采集过来的最原始数据,包含所有业务的变更过程,数据粒度最细。在这一层实时和离线在源头上是一致的,用同一份数据加工出来的指标口径基本是统一的DWD 在ODS层基础上,根据业务过程建模出来的实时事实明细层,对访问日志这种没有上下文关系且不需要等待过程的数据记录,会回流到离线系统供下游使用,最大程度地保证实时和离线数据在ODS层和DWD层是一致的DWS 订阅明细层的数据后,会在实时任务中计算各个维度的汇总指标。如果维度是各个垂直业务线通用的,则会放在实时通用汇总层,作为通用的数据模型使用ADS 个性化维度汇总层,对于不是特别通用的统计维度数据(垂直创新业务中)会放在这里DIM 实时维表层的数据基本上都是从离线维表层导出来的,抽取到在线系统中供实时应用调用

多流关联

流式计算中数据到达是一个增量过程,并且数据到达的时间是不确定的和无序的,因此在数据处理过程中会涉及中间状态的保存和恢复机制等细节问题

维表使用 在实时计算中,关联维表一般会使用当前的实时数据(T)去关联T-2的维表数据,相当于在T的数据到达之前需要把维表数据准备好,并且一般是一份静态的数据。在实时计算中这样做是基于以下几点考虑:数据无法及时准备好、无法准确获取全量的最新数据、数据的无序性——全量加载、增量加载

数据服务 基于性能、扩展性和稳定性等方面的要求,不断升级数据服务架构,依次经历了DWSOA、OpenAPI、SmartDQ和OneService的四个阶段

统一数据服务层(OneService)架构示意图

OneService阶段开始真正走向平台化,提供数据服务的核心引擎、开发配置平台以及门户网站。数据生产者将数据入库之后,服务提供者可以根据标准规范快速创建服务、发布服务、监控服务、下限服务,服务调用者可以在门户网站中快速检索服务,申请权限和调用服务

数据挖掘 数据挖掘技术与数据仓库及计算技术的发展是相辅相成的,得益于阿里云MaxCompute云计算平台的发展,海量、高速、多变化、多终端的结构与非结构化数据得以存储并高效地计算,面向海量会员和商品的全局画像、基于自然人的全域ID-Mapping、广告精准投放、千人千面的个性化搜索与推荐技术、商业竞争情报的自动化挖掘系统...已经深入阿里业务的各个环节。基于大数据的企业级数据挖掘需要包含两个要素:面向机器学习算法的并行计算框架与算法平台、面向企业级数据挖掘的算法资产管理体系

数据挖掘算法平台 阿里算法平台选用MPI作为基础计算框架,其核心机器学习算法的开发都是基于阿里云MacCompute的MPI实现的

MaxCompute MPI处理流程图

数据模型篇

大数据领域建模综述 数据模型就是数据组织和存储方法,它强调从业务、数据存取和使用角度合理存储数据。大数据体系需要数据模型方法来帮助更好地组织和存储数据,以便在性能、成本、效率和质量之间取得最佳平衡

典型的数据仓库建模方法论

1.ER模型 数据仓库中的3NF与OLTP系统中的3NF的区别在于,它是站在企业角度面向主题的抽象,而不是某个具体业务流程的实体对象关系的抽象。具有以下介个特点:需要全面了解企业业务和数据;事实周期非常长;对建模人员的能力要求非常高。采用ER模型建设数据仓库模型的出发点是整合数据,将各个系统中的数据以整个企业角度按主题进行相似性组合和合并,并进行一致性处理,为数据分析决策服务,但是并不能直接用于分析决策。建模步骤分为三个阶段:高层模型、中层模型、物理模型
2.维度模型 从分析决策的需求出发构建模型,为分析需求服务,因此它重点关注用户如何更快速地完成需求分析。其设计分为以下几个步骤:选择需要进行分析决策的业务过程、选择粒度、识别维度、选择事实

3.Data Vault模型 ER模型的衍生,其设计出发点也是为了数据整合,但不能直接用于数据分析决策,它强调建立一个可审计的基础数据层,同时它基于主题概念将企业数据进行结构化组织,并引入更进一步的范式处理来优化模型,以应对源系统变更的扩展性。由Hub、Link、Statelite几个部分组成


4.Anchor模型 其初衷是设计一个高度可扩展的模型,核心思想是所有的扩展只是添加而不是修改,因此将模型规范到6NF,基本变成了k-v结构化模型。由Anchors、Attributes、Ties、Knots组成

数据整合及管理体系 阿里集团大数据建设方法论的核心是:从业务架构设计到模型设计,从数据研发到数据服务,做到数据可管理、可追溯、可规避重复建设,构建统一、规范、可共享的全域数据体系。目前数据公共层团队已把这套方法论沉淀为产品,帮助PD、数据模型师和ETL工程师建设阿里的大数据

定位及价值 建设统一的、规范化的数据接入层(ODS)和数据中间层(DWD和DWS),通过数据服务和数据产品,完成服务于阿里的大数据系统建设,及数据公共层建设。提供标准化的、共享的、数据服务能力,降低数据互通成本,释放计算、存储、人力等资源——降本增效

体系架构图

业务板块 根据业务属性划分出几个相对独立的业务板块,业务板块之间的指标或业务重叠性较小

规范定义 结合行业的数据仓库建设经验和自身特点,设计出的一套数据规范命名体系,规范定义将会被用在模型设计中。以维度建模作为理论基础,构建总线矩阵,划分和定义数据域、业务过程、维度、度量/原子指标、修饰类型、修饰词、时间周期、派生指标

指标体系 涵盖其组成体系:原子指标、派生指标、修饰类型、修饰词、时间周期,作为一个整体来解读

模型设计 以维度建模理论为基础,基于维度建模总线架构,构建一致性的维度和事实(进行规范定义)。模型层次分为三层:操作数据层(ODS)、公共维度模型层(CDM)和应用数据层(ADS)

模型架构图

基本原则:高内聚和低耦合、核心模型与扩展模型分离、公共处理逻辑下沉及单一、成本与性能平衡、数据可回滚、一致性、命名清晰、可理解

OneData实施工作流

维度设计 维度是维度建模的基础和灵魂。维度用于分析事实所需要的多样环境,维度所包含的表示维度的列称为维度属性。维度的设计过程就是确定维度属性的过程,如何生成维度属性,以及所生成的维度属性的优劣,决定了维度使用的方便性,成为数据仓库易用性的关键。维度的基本设计方法:选择维度或新建维度、确定主维表、确定相关维表、确定维度属性事实表设计 事实表作为数据仓库维度建模的核心,紧紧围绕着业务过程来设计。事实表中一条记录所表达的业务细节程度被成为粒度,通常粒度可以通过两种方式来表述:一种是维度属性组合所表示的细节程度;一种是所表示的具体业务含义。事实表设计原则

原则1 尽可能包含所有与业务过程相关的事实

原则2 只选择与业务过程相关的事实

原则3 分解不可加性事实为可加的组件

原则4 在选择维度和事实之前必须先声明粒度

原则5 在同一个事实表中不能有多种不同粒度的事实

原则6 事实的单位要保持一致

原则7 对事实的 null 值要处理

原则8 使用退化维度提高事实表的易用性

事实表设计方法步骤 选择业务过程及确定事实表类型、声明粒度、确定维度、确定事实、冗余维度

数据管理篇

元数据(MetaData) 是关于数据的数据。元数据打通了源数据、数据仓库、数据应用,记录了数据从生产到消费的全过程。元数据主要记录数据仓库中模型的定义、各层级间的映射关系、监控数据仓库的数据状态及ETL的任务运行状态。按用途分为技术元数据和业务元数据两类,技术元数据是存储关于数据仓库系统技术细节的数据,是用于开发和管理数据仓库使用的数据,包括分布式计算系统存储元数据、分布式计算系统运行元数据、数据开发平台中数据同步和计算任务及任务调度等信息、数据质量和运维相关元数据;业务元数据从业务角度描述了数据仓库中的数据,它提供了介于使用者和实际系统之间的语义层,使得不懂计算机业务的人员也能够“读懂”数据仓库中的数据,包括OneData元数据、数据应用元数据

数据的真正价值在于数据驱动决策,通过数据指导运营,即数据化运营。元数据的重要应用价值在于,它是数据管理、数据内容、数据应用的基础,在数据管理方面为集团数据提供在计算、存储、成本、质量、安全、模型等治理领域上的数据支持。元数据建设的目标是打通数据接入到加工,再到数据消费整个链路,规范元数据体系与模型,提供统一的元数据服务出口,保障元数据产出的稳定性和质量

统一元数据体系建设思路图

数据智能平台

从技术的角度来看,数据智能是指基于大数据引擎,通过大规模机器学习和深度学习等技术, 对海量数据进行处理、分析和挖掘,提取数据中所包含的有价值的信息和知识,使数据具有“智能”,并通过建立模型寻求现有问题的解决方案以及实现预测等

特点:数据智能的目的是预测和决策;数据智能得以实现的技术核心是数据智能平台;数据智能的呈现载体是数据智能产品;数据智能是可被衡量价值的

本质:数据智能的经济学本质是决策,解释的就是“选择”的效率和效用。能够解决“决策”问题的才是真正的“智能”,因此在当今数字经济快速改变商业竞争的时代,数据智能具有极大的经济意义。数据智能本质上是通过以下几个方面对经济产生正向的促进作用

降低交易成本,提高决策效率打破有限理性,提高决策稳定替代重复决策,增加价值创造

价值:数据智能平台(数据中台)的存在还会提高数据智能价值创造的能力,内生性的提高数据智能的经济价值,因此,数据智能平台可以将整个平台上数据的价值(以对应特定商业情境的可获得数据形成的数据集存在)和人的智慧(对于行业的业务理解)成倍的放大,我们可以粗略地估计一个数据智能价值公式

数据智能价值 =(数据 + 人的智慧)× 数据智能平台

那么数据智能平台 / 数据中台的价值是从何而来呢?我们可以看成是两种效应的加和

1. 第一种效应是提高资源配置效率,收集各个环节的剩余价值

数据智能平台 / 数据中台的价值效应一:提高资源配置效率,集中剩余价值

2. 第二种效应是提高资源的配置效率,提高各个环节的价值产出

数据智能平台 / 数据中台的价值效应二:降低成本,增加整体产出

企业数字化转型的几个阶段

1. 业务数据化阶段 企业面临的主要问题是数据获取,这涉及企业内的技术支持及统一整合, 也涉及流程优化、组织调整及职位的变化

2. 数据资源化阶段 企业面临的主要问题是数据的结构化、数据清洗、数据连接等,如何将历 史遗留的不同结构、存储形式的数据打通和整合,从这个阶段开始需要有专业的数据人员进行 管理

3. 数据资产化阶段 企业面临的主要问题是数据融合、数据治理和数据准备,以解决数据不可知、 数据不可控、数据不可取以及数据不可联四大难题。从业务价值驱动的角度,使原始数据变为 变成业务上能够使用的数据

4. 决策自动化阶段 企业面临的主要问题是企业内部的数据关联分析、自动化生产驱动决策

5. 场景智能化阶段 企业面临的主要问题是企业外部商业化流程中的数据探索、建模,自动化 生产等,主要突破点是需要形成决策闭环,构建数据智能产品

目前大多数的企业客户卡在中间的阶段,无法实现最终的场景智能化以应用于真正的商业,即 自动化的数据智能产品替代决策

数据智能的发展趋势

数据智能还有很多需要研究和解决的问题。但是在变道初期如果不能快速跟上,必将会错失在 一次新的产业革命(甚至是一个新的文明时代)中的赶超良机。因此,必须要认清形势,把握趋势,积极谋划,推动发展。具体来说,未来中国数据智能行业的发展会呈“两化“趋势—— 生态化和开源化。

1. 生态化:为了满足数据智能平台对数据多源的需求,数据智能公司会倾向于在数据供给和需 求两方形成壁垒并打通端到端全价值链,形成生态是必然趋势;中小企业将在大公司构建的生 态之上,提供中间的算法服务、工具等。最后会以数据的流通、算法的不断迭代提升为基础, 形成端到端的闭环生态

2. 开源化:为了满足数据智能发展对数据多源性、交叉性提出的新要求,数据智能生态的开放 性将进入一个新的阶段——大规模开源阶段。许多顶尖的技术和算法确实都是免费提供的,并 且容易下载,但行业知识和经验流动和掌握相对较慢。开源可以抬高整体行业的壁垒,培养固 定社群和使用习惯,加速数据智能的普及;对于大公司来说,这也是塑造品牌的一个良机

小结

文章主要介绍全域大数据系统的体系结构和发展趋势,企业个人都面临赛道切换:大数据时代(DT)到数据智能时代(DI),即人工智能后时代

参考文献

[1] 《大数据之路 —— 阿里巴巴大数据实战》

[2] The Data Warehouse Toolkit-The Complete Guide to Dimensional Modeling

[3] Star Schema-The Complete Reference