谈谈数据中台数据分层建模和数据指标体系建设

本文涉及的产品
阿里云百炼推荐规格 ADB PostgreSQL,4核16GB 100GB 1个月
简介: 数据资产是数据管理和应用领域经常被提到的概念,数据中台的目的就是将数据转变为数据资产。

    一、概述

   数据资产是数据管理和应用领域经常被提到的概念,数据中台的目的就是将数据转变为数据资产。数据资产是由企业拥有或控制,能够为企业带来经济利益的数据资源。可明确作为“资产”的数据资源,表现为以下两种形式:可帮助现有产品实现收益的增长;数据本身可产生价值。数据资产一定是有价值的数据,没有价值的数据不能称为数据资产。

   什么样的数据能成为数据资产呢?比如,大型集团集采平台基于供应商数据、采购业务数据、物资数据做出推荐系统,这个推荐系统提升了采购体验,提高了采购效率,降低了采购成本,这些整合后的供应商数据、采购业务数据、物资数据就是数据资产。但是,现在一些企业没有统一的定义数据的标准,没有统一的数据存储规范,只是粗放地收集数据,把数据散乱地存放在服务器里,这些数据不能被组织和利用,就不能成为数据资产。因此我们需要一套标准的指标体系和模型体系来定义和存储数据,标准化输出数据能力,让数据成为资产。

7936d8bf5559e3311693099dad4e890c.jpg

二、数据指标体系

   1、数据指标的定义

   指标是公司在经营和生产管理过程中衡量某一个目标或事物的数据,包含指标名称和定义、计算单位、计算方法、维度和指标数值等要素。通过指标的拆解定义一套没有歧义、标准一致的数据指标体系,只有增长指标才能指导企业如何行动,从而实现企业价值增长。

   2、数据指标的重要性

   要想发挥数据中台的核心作用,要做的第一件事就是梳理公司的数据指标体系。在实际项目中,当梳理公司的指标时,我们会发现每个部门对同一个指标的定义有可能是不一致的,甚至一个部门内的人员对同一个指标的理解都有可能不同,由于每个部门职责不同,他们通常只会站在本位角度上定义指标,而每个人看待和理解这个世界的角度也是不同的,所以他们通常会站在自己的角度上定义指标。

   通常各部门根据自身业务需要,都有一部分的量化指标,但不够全面,也缺乏方法论指导,对于企业整体数据分析应用能力提升的指导作用有限;由于缺乏整体考量而设置的指标体系,以及错误的指标分析方法,会产生错误的分析结果,进而影响运营层面、产品改进方面的决策。另外,如果标准不统一,就很难进行部门间的横向对比。比如部门A提交的年交易额是10万元,部门B提交的该年交易额是50万元,如果没有统一的标准,我们就无法衡量50万元的交易额比10万元的交易额的价值高。一个指标的开发过程涉及业务部门、管理部门、技术部门等,沟通成本很高,只要一个环节理解不对,指标的计算结果就会不准确。因此,为公司建立一套清晰、没有歧义的指标体系是数据中台需要承担的一项十分重要的工作。

   3、如何定义数据指标

   那如何让指标定义清晰且没有歧义呢?解决这个问题的核心方法就是拆解:将一个数据指标拆解到不能再继续拆解为止,这样就能够最大限度地保证理解无误。

   首先定义出这个指标所属的业务板块和数据域,接下来定义这个指标的业务过程(如销售领域的价格、销量、收入等)。接着要判断这个指标是一个原子指标还是一个派生指标,如果是一个派生指标,这个指标的时间周期、修饰词分别是什么;通过什么衡量这个指标,最后要定义这个指标的统计维度是什么,这些维度的属性有哪些。经过这样一层一层的拆解,每个指标会归入不同的类别,因为每个指标都有各个维度清晰的定义,只要公司内所有人都以这份定义为准,歧义就不会产生。

a8086a0ccd74220d80c5c3dc043860d2.jpg

(1)业务板块:即面向行业的业务,也就是公司的业务线,不会经常变。比如一个公司有六大业务分别是油气、炼油和化工、矿业、装备制造、光伏、科研,那么这六个业务就分别属于不同的业务板块。

   (2)数据域:数据所属的领域。例如,销售、生产、库存都属于数据域。

   (3)业务过程:完成某个业务所涉及的全部过程。如销售业务中的定价、寻客、销售、回款等环节都属于业务过程。

   (4)时间周期:就是统计的时间范围,如“近30天”“自然周”“截止到当天”等。

   (5)修饰类型:对修饰词的描述。如供应商中的信用级别、所属区域等。

   (6)修饰词:除了维度以外的限定词,如支付方式中的电汇、支票、承兑等。

   (7)原子指标:即不可再拆分的指标,比如支付金额、支付件数等指标。

   (8)维度:是指度量单位,用来反映业务的一类属性。常见的维度有地理维度(国家、地区等)、时间维度(年、月、周、日等)、订单的维度等。

   (9)属性:隶属于维度。如地理维度中的国家名称、省份名称等都属于属性。

   (10)派生指标:一组对应的原子指标、修饰词、时间周期就组成了一个派生指标。

0c6ed25aeb81efa0af5bdbebd3b678b2.jpg

   接下来我们通过一个实际的案例来看下制定指标的方法。

   为确保指标数据标准定义的完整与严谨,我们形成了一整套指标数据标准的信息项属性架构。

8f766cec74cc5121acc6c57486e0e891.png

   通过对业务的全面梳理和分析,归纳并定义了 5 大主题 36 个子主题域共 2083 个指标,来反映公司关键数据指标的分布。

907c6218f9d079f99c393997ca136cd3.png

   根据公司实际情况,制定数据指标体系建设4步走的推进路线,即 收集 → 梳理 → 讨论 → 统一 ,有序推进项目进展,实现集团和园区层面的数据指标体系统一、完整、准确。

5dc90cf84753ee0b458bf9472ed47512.png

   最后为了保证数据指标的一致性,公司的数据指标应该交由数据中台负责部门统一管理,公司内所有部门应该以这套指标体系为准,如果有对指标的新增或者修改,首先要通知数据中台负责部门,然后再同步给公司其他部门。这套指标体系的定义如同公司的法律,必须人人遵守,这样就能最大程度地保证指标的一致性和统计数据的合理性。

   三、数据模型设计

   要想了解为什么要进行数据模型设计,首先我们要了解一些概念,比如什么是数据库、什么是数据仓库、数据仓库和数据库的区别是什么、数据仓库为什么要分层存储。

   1、什么是数据库和数据仓库

   假设公司领导让你统计公司当月的总交易额,如果你的公司只有一条产品线,那么这项工作就十分简单。

   首先,你可以从业务系统中提取产品线的全部订单,接着,你可以提取当月的订单,并针对下单金额做汇总。最后,你就可以将汇总计算出的交易额数据准确无误地提交给领导。

   但是如果你所在的公司是一家大型多元化集团公司,公司内部有多个板块,你的领导要求你汇总各板块当月的总交易额,你应该怎么做?在没有数据仓库的情况下,你会这样处理:首先统计公司有多少条业务板块;然后找到每个业务板块的业务负责人,索要当月该板块的订单;接着将所有订单汇总到Excel中,这时候你会发现,因为业务形态的不同,各板块给你的订单数据没有统一的标准,比如订单状态,每个板块都会有自己的标准。你应该以怎么样的口径统计每个板块的交易额呢?因为标准不统一,会导致你的工作效率很低,而且统计的数据不一定准确。

   而如果有了数据仓库,你就可以提前对每个板块做调研,统一交易额的口径(包括业务口径、技术口径、计算方式、统计周期等)。因为交易额属于交易主题域,你可以针对交易主题域进行主题建模,比如你需要统计1月份集团所有板块的交易额,那么统计维度就是时间,指标就是交易额。在建模完成后,数据开发工程师可以将业务数据库中的数据定时同步到数据仓库,接着数据开发工程师可以针对已经汇总好的订单数据按照月份的维度做进一步汇总统计并存储下来,因为提前做了汇总,那么下次你就可以直接从数据仓库中取出当月公司的任何板块的交易额,很快就能解决任务。

   通过以上案例我们可以看出数据库与数据仓库的用途是完全不同的。数据库和数据仓库虽然都是用来存储数据的,但数据库是用来存储业务数据的,而数据仓库是用来存储汇总后的报表数据的。

   什么是业务数据呢?业务数据就是对现实业务的数据虚拟,比如订单业务数据就是记录客户在什么时间买了什么产品;客户数据库,用于记录客户的数据比如公司名称、社会统一信用代码等信息;产品数据库,用于记录产品的相关信息如类别、规格、型号等。

   数据仓库的主要作用是存储汇总统计的数据,以支撑公司的决策分析。一般来说,数据仓库的数据量是比较大的,而且其汇总统计的数据一般是不会再有变化的,比如上文提到的公司当月的交易额,这个汇总的数据不会因为新增的订单而变化,而业务数据库的数据量会随着用户的交易次数增多而增多。如果公司业务比较简单,那么就没有必要搭建数据仓库,基于数据库已经足够做统计分析了,但是多元化集团公司要做大量的数据分析时,就适合搭建数据仓库。

   2、数据仓库的分层建模体系

   数据中台数据模型的分层建设业界比较通用的分层方式是将数据模型分为四层:

   ①ODS层(Operate Data Store,操作数据层)和DIM层(Dimension,维度数据层);

   ②DWD层(Data Warehouse Detail,明细数据层);

   ③DWS层(Data Warehouse Service,汇总数据层);

   ④ADS层(Application Data Store,应用数据层)。

8a8cc39d33d0afb66b27847d4af334a2.jpg

  第一层是ODS层和DIM层。ODS层数据是数据仓库的第一层数据,是业务数据库的原始数据的复制,例如,生产相关的产能、产量、用料等数据一般都是原封不动地同步到数据中台的ODS层中的。ODS层的作用是在业务系统和数据仓库之间形成一个隔离层,在数据中台进行计算任务时,可以以ODS层的数据为基础进行计算,从而不给业务数据库增加负担。DIM层存储的是维度数据,如月份、类别、车间等维度的数据。

   第二层是DWD层。DWD层数据是数据仓库的第二层数据,一般基于ODS层和DIM层的数据做轻度汇总。DWD层存储经过处理后的标准数据,需要对ODS层数据进行再次清洗(如去空/脏数据、超过期限的数据等操作)。DWD层的结构和粒度一般与ODS层保持一致,但是DWD层汇总了DIM层的维度数据,比如在ODS层只能看到A车间的产量数据,但是在DWD层不但能看到A车间的产量数据,还能看到B车间的产量数据。

   第三层是DWS层。DWS层数据是数据仓库的第三层数据,是以DWD层的数据为基础进行汇总计算的数据。DWS层数据都是各个维度的汇总数据,比如某日某车间的生产总量、物料消耗数量、设备开机数量、开机时间、工时总量等。

   第四层是ADS层。ADS层数据是数据仓库的最后一层数据,以DWS层数据为基础进行数据处理。ADS层的最主要目的就是给数据可视化应用提供最终的数据。后端开发工程师基于ADS层的数据将最终数据结果以接口的形式展示给数据中台的应用层。

   数据仓库为什么要分层建模呢?我们还是通过实际案例来理解。假设还是要统计A产品当月的交易额,如果没有采用分层建模,那么数据统计就是以结果为导向的,直接提取业务数据库中的A产品的订单时间、订单金额,然后筛选时间为当月的订单,并基于订单金额做汇总计算,最后通过接口的方式将数据输出到应用层。

   如果采用分层建模,第一步是将业务数据库的数据同步到ODS层中,将维度数据存储在DIM层中,第二步是通过DWD层丰富统计指标的维度,本文中的需求是时间维度,可以预先增加其他常用的维度如区域、行业的维度,第三步是在DWD层中汇总各个维度的交易额,第四步是基于当前的需求,计算出A产品的当月交易额,在ADS层提供要显示的数据。

   在实际数据中台项目中针对数据指标的开发,有以下两种情况比较常见。

 (1)数据指标口径发生变化。随着业务的变化,数据指标的统计口径不是一成不变的,数据指标经常会基于业务目标的变化而变化,相应的统计逻辑也会变化。

 (2)增加数据指标的统计维度。单个维度的数据指标统计随着业务的发展有可能不再满足需求,此时很有可能遇到给数据指标增加统计维度的情况,数据指标的统计维度越丰富,就越有利于数据分析。

   针对这两种情况我们分别看一下没有分层建模和分层建模的区别。

   第一种情况:数据指标的统计口径发生了变化。比如统计口径由之前的统计A产品的当月全部订单的交易额变为统计A产品当月的订单状态为“已支付”的订单的交易额。此时其实数据指标并没有发生变化,仍然叫“交易额”,但是统计口径发生了变化。

   如果没有进行分层建模,那么对外的接口要增加订单状态筛选的逻辑,再进行测试、核对数据、发布新版本接口才能完成针对交易额统计的优化。如果进行了分层建模,ADS层、DWD层的数据是不用变化的,因为业务数据库的原始数据没有变化。此外,因为数据指标的显示没有变化,所以只需针对DWS层增加筛选订单状态为“已支付”的统计逻辑,然后由数据开发工程师、测试工程师测试DWS层并统计数据即可,不用发布新版本的对外接口,所以应用层并不用再针对接口做对接。

   第二种情况:给数据指标增加统计维度。比如不但要查看A产品的当月交易额,还要查看A产品的当月不同省份、不同行业的交易额。如果没有进行分层建模,每增加一个维度就增加一倍的工作量,要重新修改计算逻辑、重新定义对外接口、重新测试、重新发布新的版本才能完成数据指标的新的维度统计。    

   如果进行了分层建模,由于DWD层和DWS层已经丰富了交易额的维度如区域、行业等,那么只需后端开发工程师在通过接口提取ADS层数据时新增维度“省份”和“行业”的统计结果,然后重新发布对外的接口即可,由于新的数据指标统计不需要数据开发工程师的参与,所以大大减少了数据中台开发的工作量。

   4、综述

   数据中台项目建设过程中,数据模型的科学性、合理性、高效性是数据资源转化为数据资产的重要基础,数据指标定制的全面性、规范性、有效性是数据中台发挥价值的重要保障。因此,企业在构建数据中台时,必须重视数据指标体系的构建和数据模型的设计,必要时引入外部咨询机构和专家力量,避免将数据中台建成数据重台。

相关实践学习
阿里云百炼xAnalyticDB PostgreSQL构建AIGC应用
通过该实验体验在阿里云百炼中构建企业专属知识库构建及应用全流程。同时体验使用ADB-PG向量检索引擎提供专属安全存储,保障企业数据隐私安全。
AnalyticDB PostgreSQL 企业智能数据中台:一站式管理数据服务资产
企业在数据仓库之上可构建丰富的数据服务用以支持数据应用及业务场景;ADB PG推出全新企业智能数据平台,用以帮助用户一站式的管理企业数据服务资产,包括创建, 管理,探索, 监控等; 助力企业在现有平台之上快速构建起数据服务资产体系
相关文章
|
2月前
|
机器学习/深度学习 敏捷开发 存储
数据飞轮:激活数据中台的数据驱动引擎
数据飞轮:激活数据中台的数据驱动引擎
|
3月前
|
SQL 运维 Oracle
【迁移秘籍揭晓】ADB如何助你一臂之力,轻松玩转Oracle至ADB的数据大转移?
【8月更文挑战第27天】ADB(Autonomous Database)是由甲骨文公司推出的自动化的数据库服务,它极大简化了数据库的运维工作。在从传统Oracle数据库升级至ADB的过程中,数据迁移至关重要。
67 0
|
2月前
|
机器学习/深度学习 数据可视化 数据挖掘
唤醒数据中台潜力:加速数据飞轮转动,实现数据驱动的秘籍
本文探讨了如何通过数据飞轮激活数据中台的潜力,实现数据驱动的创新。文章分析了数据中台面临的挑战,如数据孤岛和工具复杂性,并提出了建立统一数据治理架构、引入自动化数据管道和强化数据与业务融合等策略。通过实际案例和技术示例,展示了如何利用数据飞轮实现业务增长,强调了数据可视化和文化建设的重要性。旨在帮助企业充分挖掘数据价值,提升决策效率。
63 1
唤醒数据中台潜力:加速数据飞轮转动,实现数据驱动的秘籍
|
2月前
|
存储 机器学习/深度学习 数据管理
数据技术的进化史:从数据仓库到数据中台再到数据飞轮
数据技术的进化史:从数据仓库到数据中台再到数据飞轮
|
2月前
|
机器学习/深度学习 消息中间件 搜索推荐
【数据飞轮】驱动业务增长的高效引擎 —从数据仓库到数据中台的技术进化与实战
在数据驱动时代,企业逐渐从数据仓库过渡到数据中台,并进一步发展为数据飞轮。本文详细介绍了这一演进路径,涵盖数据仓库的基础存储与查询、数据中台的集成与实时决策,以及数据飞轮的自动化增长机制。通过代码示例展示如何在实际业务中运用数据技术,实现数据的最大价值,推动业务持续优化与增长。
79 4
|
2月前
|
机器学习/深度学习 搜索推荐 算法
从数据中台到数据飞轮:企业升级的必然之路
在探讨是否需从数据中台升级至数据飞轮前,我们应先理解两者之间的关系。数据中台作为数据集成、清洗及治理的强大平台,是数据飞轮的基础;而要实现数据飞轮,则需进一步增强数据自动化处理与智能化利用能力。借助机器学习与人工智能技术,“转动”数据并创建反馈机制,使数据在循环中不断优化,如改进产品推荐系统,进而形成数据飞轮。此外,为了适应市场变化,企业还需提高数据基础设施的敏捷性和灵活性,这可通过采用微服务架构和云计算技术来达成,从而确保数据系统的快速扩展与调整,支持数据飞轮高效运转。综上所述,数据中台虽为基础,但全面升级至数据飞轮则需在数据自动化处理、反馈机制及系统敏捷性方面进行全面提升。
103 14
|
1月前
|
机器学习/深度学习 JSON JavaScript
LangChain-21 Text Splitters 内容切分器 支持多种格式 HTML JSON md Code(JS/Py/TS/etc) 进行切分并输出 方便将数据进行结构化后检索
LangChain-21 Text Splitters 内容切分器 支持多种格式 HTML JSON md Code(JS/Py/TS/etc) 进行切分并输出 方便将数据进行结构化后检索
26 0
|
1月前
|
数据管理 数据挖掘 大数据
数据飞轮崛起:数据中台真的过时了吗?
数据飞轮崛起:数据中台真的过时了吗?
|
1月前
|
存储 数据管理 大数据
从数据仓库到数据中台再到数据飞轮:社交媒体的数据技术进化史
从数据仓库到数据中台再到数据飞轮:社交媒体的数据技术进化史
|
3月前
|
关系型数据库 Serverless API
神秘的 ADB Serverless 模式,究竟是怎样实现数据共享的?答案等你来揭晓!
【8月更文挑战第27天】在数字化时代,数据共享至关重要。阿里云AnalyticDB for MySQL的Serverless模式提供了一种高效便捷的解决方案。它采用多租户架构,确保数据安全隔离的同时支持资源共享;具备自动弹性伸缩能力,优化资源利用;支持多样化的数据导入导出方式及丰富的API,便于集成到各类应用中,实现数据价值最大化。无论是初创企业还是大型组织,均可从中获益。
57 0