背景:20 世纪 90 年代企业开始集成数据围绕主题做**决策分析
**
数据仓库定义:数据仓库是在企业管理和决策中面向主题的、集成的、与时间相关的、不可修改的数据集合
实现:数据按照主题划分为主题域,主题域作为数据仓库的目录
背景:21 世纪互联网时代互联网产品产生**海量数据
和异构数据
**,数据仓库无法应对
数据湖定义:数据湖是一个以原始格式存储数据的存储库或系统
Hadoop 相比传统数据仓库的优势:
背景:数据需求开发**流程复杂
**
大数据平台定义:大数据平台是面向数据研发场景的,覆盖数据研发的完整链路的数据工作台
实现:
背景:2016 年前后大规模数据的需求开发导致**数据冗余
和指标冲突
**
OneData 定义:统一定义、标准建模、规范研发、工具保障
数据中台与数据仓库、数据湖和大数据平台的关系:
猜想:人工智能利用大数据辅助决策分析和价值挖掘
数据仓库建模方法论可分为:E-R模型、维度模型、Data Vault模型、Anchor模型。
E-R 实体关系模型:自顶向下,将事物抽象为实体、关系来描述事物和事物之间的关联,是面向主题的抽象,具有良好的稳定性和一致性,但是难以处理当前复杂多变的业务需求,只用于 ODS 和 DWD 层。
E-R 建模步骤:
高层模型:一个高度抽象的模型,描述主题与主题之间的关系,用于描述企业的业务总体概况
中层模型:在高层模型的基础上,细化主题的数据项
底层模型(物理模型):在中层模型的基础上,考虑物理存储,同时基于性能和平台的特点进行物理属性的设计,也可能做一些表的合并、分区的设计
维度模型:自底向上,重点解决如何快速完成需求的问题,能够解决复杂多变的业务需求,存在数据冗余的问题。
建模步骤:
选择需要决策分析的业务过程:业务过程可以是单个业务事件、某个事件的状态,也可以是一系列相关的业务流程
选择粒度:在需求分析中,我们要预判分析需要的细分程度,从而决定选择的粒度。粒度是维度的一个组合。
选择维表:选择粒度后,就需要基于粒度设计维表,包括维度属性,用于分析时进行分组和筛选
选择事实:确定分析需求衡量的指标
事实表根据粒度的角色不同可分为 事务事实表、周期快照事实表 和 累计快照事实表
补充:维度建模技术实践——深入事实表
利:实现高效率、高质量、低成本建设数据产品,核心是降低成本
弊:数据中台本身不产生收益,价值体现依托数据产品,而构建数据中台需要大量投入
数据只加工一次是建设数据中台的核心,本质是实现公共计算逻辑的下沉和复用
OneData:
主题域管理:将数量众多的表划分到不同的主题域,要保证主题域劲量稳定,能覆盖绝大多数表
命名规范定义:表名最好包含表的主题域、业务过程,分层和分区信息,同时命名过程中必须采用统一的缩写,例如仓储域下的一张入库明细表
dwd_wms_inbound_item_info_di
明细层_仓储域_入库_基础信息_每日增量
分层_主题域_业务过程_内容_分区规则
指标一致:构建全局的指标字典
数据模型复用:采用分层设计实现模型的复用,数据中台的数据必须尽可能覆盖所有业务过程
数据完善
OneData 体系的目的是构建统一的数据规范标准,让数据成为一种资产(可沉淀、可复用),而不是一种成本(消耗的,不可复用的)
OneService:
OneService 体系的目的是提高数据的共享能力,让数据使用方便、安全
数据中台必须是独立于业务线的部门,但又必须深入业务、懂业务,组织绩效必须与业务绑定
元数据:数据的基本信息,便于理解业务口径、计算逻辑和数据来源
Metacat 多数据源集成型架构设计
特点:(1)没有单独保存元数据,采用数据源直拉方式,保证元数据一致性(2)轻量化架构设计,每个数据源只需一个连接类,便与拓展
Apache Atlas 实时数据血缘采集
血缘采集的三种方式:
第一种方式存在准确性问题,任务未执行,SQL 不一定对。第三种方式可以保证准确性,但是时效性较差。
对于 Hive 计算引擎,Atlas 通过 Hook 方式,实时捕捉任务执行计划,获取输入表和输出表,推送给 Kafka,由一个 Ingest 模块负责将血缘写入 JanusGraph 图数据库中。然后通过 API 的方式,基于图查询引擎,获取血缘关系。
网易元数据中心五大目标:
数据血缘:由采集端、消息中间件、消费端和血缘清理模块组成,基于 Hive Hook、Spark Listener 和 Flink Hook,可以获取任务执行时输入表和输出表,推送给统一的消息中间件 Kafka,然后消费端将血缘关系沉淀到图数据库中
数据字典:由一个统一的 Connector Manager 负责管理到各个数据源的连接,通过直接连数据源实时获取元数据。对于 Kafka、HBase、Redis 等 KV,在元数据管理模块中定义 Value 的 schema 信息
数据特征:主要是标签的管理和数据访问热度信息,指标、分组、主题域等信息以标签的形式存储,允许用户基于标签类型和标签搜索表和字段
数据地图是基于元数据中心构建的一站式企业数据资产目录,可以看做是元数据中心的界面。数据地图提供了一站式的数据发现服务,解决了检索数据,理解数据的需求。
=“zoom:75%;” />
面向主题域管理:按照业务线、主题域、业务过程三级目录方式管理指标
拆分原子指标和派生指标:原子是按规则无法继续拆分的指标,派生指标 = 统计周期 + 统计粒度 + 业务限定 + 原子指标
统计周期 + 统计粒度 + 业务限定 + 原子指标 = 派生指标
近 30 天 商品 黑卡会员 购买用户数
命名必须遵循 “统一、易懂” 原则:原子指标适用 “动作 + 度量” 的命名方式,标识命名采用英文缩写或汉语拼音缩写;派生指标适用 “统计周期 + 统计粒度 + 业务限定 + 原子指标” 的命名方式,标识命名要用 " 业务限定_原子指标_ 统计周期"
关联的应用和可分析维度:在全局的指标字典中,应该有关联的应用和可分析维度,便于去对应的应用查看指标数值和从不同纬度分析指标变化趋势
分级管理:数据中台产出公共核心指标,业务部门产出专属指标,众多指标需要分级管理。
使用 Excel 管理指标存在的问题:
指标系统是基于元数据中心的指标管理工具,它从元数据中心自动同步数仓的主题域和业务过程,按照规范化定义创建指标。新创建的指标会下沉到数据中心对于的表和字段上,这样可以在数据地图上搜索表关联的指标。
指标治理的最终目的是基于指标系统构建全局业务口径统一的指标字典
强调几点:
对于已经存在的产品或应用的指标进行如下梳理:
成立专门的工作小组负责指标的全局梳理
制定梳理计划,明确梳理目标覆盖的业务线,和业务方制定时间计划
对每条业务线使用的数据报表和数据产品进行盘点
对每个报表和数据产品涉及的指标按指定格式进行收集
对收集的指标明确业务口径,去除口径相同的,关联的应用进行合并
根据指标业务口径,明确指标所属的主题域、业务过程
区分指标类型,对派生指标,要明确指标的统计周期、统计粒度、业务限定和关联的原子指标
根据指标系统对指标的规范化定义,将整理好的指标录入系统
一个好的数据模型设计应该是 “数据模型可复用,完善且规范”
接管 ODS 层,控制源头:ODS 层表的数据必须和数据源的表接口、表记录一致,对 ODS 层表的命名采用 ODS_业务系统数据库名_业务系统数据库表名
ods_warehouse_stock
分层_数据库名_表名
划分主题域,构建总线矩阵:主题域是业务过程的抽象集合,主题域划分尽可能覆盖所有业务需求,保持相对稳定性,还具有扩展性(新建主题域不影响原主题域的表),总线矩阵用于分析主题域下每个业务过程的可分析维度
构建一致性维度:全局一致性的维表用于关联表分析,比如分析地区配送延迟导致投诉情况。维度统一最大的难点在于维度属性(维度是商品,商品类别、品牌、尺寸等是维度属性),维表的规范命名采用 “DIM_主题域_内容_分区规则” 的方式
公共维度属性和特有维度属性拆分为两个维表
产出时间相差较大的维度属性拆分为单独的维表
出于维表稳定性,可以按更新频率、访问频率等进行拆分
事实表整合:事实表整合遵循的基本原则是统计粒度必须相同,不同统计粒度的数据不能出现在同一个事实表中。此外对 ODS 层被 DWT/DWA 直接引用的情况,应该补齐 DWD 层,DWD/DWT/DWA 采用 “层次_主题_[子主题]_内容_分区规则”
模型开发:注意事项
应用迁移:确保数据一致
提高数据质量最重要的是 “早发现、早恢复”
添加稽核校验任务:在数据处理任务中,根据业务规则设计一些校验逻辑,确保数据的完整性、一致性和准确性。在数据任务运行结束后,对产出数据进行校验,判断是否符合规则预期,若不符合就按照设定的强弱规则触发不同的处理流程,强规则直接终止任务链路并报警,弱规则继续执行但会提示
建立全链路监控:基于数据血缘关系建立全链路数据质量监控
通过智能预警,确保任务按时产出:基于任务运行时间和数据血缘,对下游数据产出进行实时预测,对于不能及时产出的任务进行预警
通过应用的重要性区分数据等级,加快恢复速度:稽核校验会消耗大量资源,只有核心任务才需要
规范化管理制度:
设计数据质量量化指标:
数据质量中心的核心功能是稽核校验任务和全链路监控
成本管理按照全局资产盘点、发现问题、治理优化和效果评估四步进行
系统提供了数据诊断的功能,可以按照访问时间、访问频率、关联应用等设置下线策略,支持一键灰度下线,大幅提高了管理的效率
云原生:
逻辑模型:
数据自动导出:数据服务选择的是数据中台的一张表,然后将数据导出到中间存储中,对外提供 API
以零售行业奶茶店为例:
在数据中台中,数据资产的精细化管理主要包括成本治理和资产管理两个部分,分别产生成本治理中心和数据管理中心。
资产管理的主要作用:
立项是建数据中台最关键的一步,核心是挖掘业务的痛点,跟业务达成一致的建设目标。如果能达成一个一致的、可量化的目标,数据中台项目就成功了一半。
数据中台项目立项最关注的两个问题: