当前位置: 首页 > news >正文

大数据之路:阿里巴巴大数据实践——OneData数据中台体系

OneData概述
  • 核心痛点:指标口径混乱、模型重复建设、数据孤岛、开发效率低下。

  • OneData:阿里巴巴内部进行数据整合及管理的方法体系和工具。

  • 规范定义层(治本之策)

    • 业务术语标准化:建立集团级业务知识库(如明确定义“支付成功订单”:已付款 + 未退款 + 物流签收)。

    • 指标分层管控

      原子指标:用来描述某个特定的事件、行为或状态,如销售额、播放量、转化率等。

      衍生指标:由原子指标、时间周期、维度三大要素构成,用于统计目标指标在具体时间、维度、业务条件下的数值表现。

      复合指标:通过对原子指标进行计算得出,如CTR = 点击量 / 曝光量。

  • 模型设计层(架构核心)

    • 主题域垂直拆分:主题域(用户、商品、交易、直播、物流等)隔离业务复杂性。

    • 三层建模体系

      层级目标关键创新
      ODS数据原貌保留增量合并(Merge)技术
      CDM通用模型沉淀全局维度代理键(user_sk)
      ADS场景化优化实时宽表预聚合
  • 工具平台层(落地引擎)

    • DataWorks:可视化建模 + SQL自动生成(效率提升50%)。

    • DDM(数据开发监控):血缘分析精准评估变更影响。

    • Qualitis:3000+质量规则库(如主键唯一性校验)。

image-20250802132827694
规范定义
  • 指标规范化体系(核心创新)

    • 数据域:指面向业务分析,将业务过程或者维度进行抽象的集合。
    • 业务过程:指企业的业务活动事件,如下单、支付、退款都是业务过程,业务过程是不可拆分事件。
    • 时间周期:用来明确数据统计的时间范围或者时间点。
    • 修饰类型:是对修饰词的一种抽象划分,修饰类型从属于某个业务域,如访问终端IOS端、 PC端等修饰词。
    • 原子指标:基于某一业务事件行为下的度量,是业务定义中不可再拆分的指标。
    • 维度:维度是度量的环境,用来反映业务的一类属性,这类属性的集合构成一个维度,也可以称为实体对象。
    • 维度属性:维度属性隶属于一个维度,如地理维度里面的国家、ID、身份名称都属于维度属性。
    • 派生指标:一个原子指标 + 多个修饰词 + 时间周期。
  • 派生指标

    • 事务型指标:对业务活动进行衡量的指标,如订单支付金额、新增注册会员数等。
    • 存量型指标:是指对实体对象某些状态的统计,如商品总数、播放量等。
    • 复合型指标:在事务型指标和存量型指标的基础上复合而成的指标,如CTR、CVR等。
模型设计
  • 模型层次
    • 操作数据层( ODS ):把操作系统数据几乎无处理地存放在数据仓库系统中。
    • 公共维度模型层( CDM ):存放明细事实数据、维表数据及公共指标汇总数据。
    • 应用数据层( ADS ):存放数据产品个性化的统计指标数据,根据 CDM 层与 ODS 层加工生成。
  • 基本原则
    • 高内聚:将业务相近或者相关、粒度相同的数据设计为一个 逻辑或者物理模型。
    • 低耦合:将高概率同时访问的数据放一起 ,将低概率同时访问的数据分开存储。
    • 核心模型与扩展模型分离:核心模型包括的宇段支持常用的核心业务,扩展模型包括的字段支持个性化或少量应用的需要。
    • 公共处理逻辑下沉及单一:底层公用的处理逻辑越在数据调度依赖的底层进行封装与实现,不要暴露给应用层实现。
    • 成本与性能平衡:适当的数据冗余可换取查询和刷新性能,不宜过度冗余与数据复制。
    • 数据可回滚:处理逻辑不变,在不同时间多次运行数据结果确定不变。
    • 一致性:具有相同含义的字段在不同表中的命名必须相同,必须使用规范定义中的名称。
模型实施
  • Kimball 模型
    • 高层模型:高层模型设计阶段的直接产出目标是创建高层维度模型图,它是对业务过程中的维表和事实表的图形描述。
    • 详细模型:详细的维度建模过程是为高层模型填补缺失的信息,解决设计问题,确保模型的完备性。
    • ETL 设计和开发:完成模型详细设计文档,进入 ETL 设计和开发阶段。
  • Inmon模型
    • ERD层(Entity Relationship Diagram):描述了公司业务中的实体或主题域以及它们之间的关系。
    • DIS层(Data Item Set):描述了数据模型中的关键字、属性以及细节数据之间的关系。
    • 物理层:物理层是数据建模的最底层,该层描述了数据模型的物理特性。
  • 数仓建模
    • 业务建模:生成业务模型,主要解决业务层面的分解和程序化。
    • 领域建模:生成领域模型,主要是对业务模型进行抽象处理,生成领域概念模型。
    • 逻辑建模:生成逻辑模型,主要是将领域模型的概念实体以及实体之间的关系进行数据库层次的逻辑化。
    • 物理建模:生成物理模型,主要解决逻辑模型针对不同关系数据 库的物理化以及性能等些具体的技术问题。
  • OneData建模
    • 数据域划分:数据域是指面向业务分析,将业务过程或者维度进行抽象的集合,如商品、交易、直播业务域等。
    • 构建总线矩阵:明确每个数据域下有哪些业务过程;业务过程与哪些维度相关,并定义每个数据域下的业务过程和维度。
    • 规范定义:规范定义主要定义指标体系,包括原子指标、修饰词、时间周期和派生指标。
    • 模型设计:模型设计主要包括维度及属性的规范定义,维表、明细事实表和汇 总事实表的模型设计。
http://www.dtcms.com/a/311365.html

相关文章:

  • python测试总结
  • AIDL当Parcelable序列化的数据类通信时报“Class not found when unmarshalling“找不到该类时的解决方案
  • 【一天一个知识点】RAG遇见推理
  • Linux内核进程管理子系统有什么第十六回 —— 进程主结构详解(12)
  • AIGC系列:本地部署大模型
  • appium中urllib3.exceptions.LocationValueError: No host specified. 的错误解决办法
  • 第15届蓝桥杯Pthon青少组_国赛_中/高级组_2024年9月7日真题
  • 【Linux】多路转接之epoll
  • 使用AWS免费EC2自建RustDesk远程桌面连接服务
  • 什么是AWS Region和AWS Availability Zones
  • 全球化 2.0 | 中国香港教育机构通过云轴科技ZStack实现VMware替代
  • AWS上部署Spring Boot应用的完整指南
  • Allegro-导入网表的两种方式
  • GaussDB having 的用法
  • Ubuntu系统VScode实现opencv(c++)图像翻转和旋转
  • 电力系统分析笔记:发电机与变压器的数学建模与运行状态详解
  • Python打卡Day30 模块和库的导入
  • react 和 react native 的开发过程区别
  • 【相机】曝光时间长-->拖影
  • 【学习笔记】MySQL技术内幕InnoDB存储引擎——第7章 事务
  • openwrt下安装istore(基于pve)
  • Ollama前端:open-webui
  • [Linux入门] Ubuntu 系统中 iptables 的配置与使用
  • JavaScript:Ajax(异步通信技术)
  • 学习模板元编程(2)std::true_type/false_type
  • 垃圾收集器ParNewCMS与底层三色标记算法详解
  • Redisson高并发实战:Netty IO线程免遭阻塞的守护指南
  • JVM 03 类加载机制
  • uniapp scroll-view解析
  • 常用git命令