一些数仓常见疑问



非原创内容,仅供自己参考。

经典数据仓库体系架构模型

  • W.H.Inmon 的企业信息化工厂。它的枢纽是企业数据仓库,一个基于ER原则的原子数据的集成仓库。数据集市是用于部门级分析的多维格式的数据库。ETL过程指的是从操作性系统移动到企业数据仓库的过程,从企业数据仓库移动信息到数据集市的过程被称为“数据交付”。
  • Ralph Kimball 的维度数据仓库。维度模型在关系数据库的实现被称为星型模式,在多维数据库环境的实现被称为多维数据集。维度数据仓库是由一系列星型模式或多维数据集组成,数据集市是数据仓库中的主题区域,是逻辑结构。因此维度数据仓库允许增量构建。
  • 独立型数据集市(也称孤岛型、烟筒型或竖井式数据集市)。是一个分析型数据存储,只关注主题区域,可能采用任何形式的设计。分析型工具或应用程序对它直接进行查询。
  • Dan Linstedt 的 Data Vault 。由三个模块组成,Hub 中心表、Link 链接表、Satellite 附属表。不过实践中很少看到成功案例

维度模型设计的优点是:

  • 建模直观(紧紧围绕业务模型),结构清晰。
  • 查询较简单,性能也很好,便于数据分析。
  • 聚合快速。

维度模型设计的缺点是:

  • 反范式的设计对数据完整性构成一定挑战。
  • 查询时需要关联多张表,增加使用成本。
  • 构建前需要进行大量的数据预处理;当业务发生变化时,需要重新进行维度的定义,又要重新进行维度数据的预处理。扩展性不够好。
  • 单纯依靠维度建模不能保证数据来源的一致性和准确性。
  • 相比ER模型耗费存储空间大。

数据仓库分层

数据分层的好处:

  • 清晰数据结构。每一个数据分层有它自己的作用域和职责,在用表时能更方便地定位和理解。
  • 分解复杂问题。每一层解决单一问题,易于理解,便于维护数据的准确性。
  • 减少重复开发。规范数据分层,开发一些通用的中间层数据,能极大减少重复计算。
  • 统一数据口径,便于进行数据血缘追踪。数据分层提供统一的数据出口,统一对外输出的数据口径。
  • 屏蔽原始数据的异常。屏蔽业务的影响,不必每次业务有调整就要重新接入数据。

常见分层设计:

  • 贴源的 ODS(Operation Data Store) 层。数据结构基本和原始数据保持一致。一般按照源头业务系统的分类方式而分类。是面向应用的。
  • 公共数据层 CDM(Common Data Model) 。
    • 一致性维度 DIM 贯穿整个 CDM 。
    • 明细层 DWD(Data Warehouse Detail)。以业务过程作为建模驱动,构建最细粒度的事实表。一般保持和 ODS 一样的数据粒度,并提供一定的数据质量保证。是面向业务过程的。
    • 汇总层 DWS(Data Warehouse Summary)。以分析的主题对象作为建模驱动,对通用的核心维度做聚合,生成一系列中间表,提高公共指标的复用性,减少重复加工。是面向主题域的。
  • 贴应用的 ADS(Application Data Service) 层。存放个性化的统计指标数据。

数据治理

数据治理是对组织的数据资产管理,行使权力和控制的活动集合。或者是制定与数据有关的管理优化、数据保护、数据变现的政策。

目前总结的数据治理领域包括但不限于一下内容:数据标准、元数据、数据模型、数据分布、数据存储、数据交换、数据生命周期管理、数据质量、数据安全以及数据共享服务等。

一般企业进行数据治理的目的无非风险可控、价值创造(通过对数据资产的有效管控持续创造价值)及运营合规这3个。

执行工作包括5个部分:

  • 管理域。主要是确定战略、搭建组织、制定制度、明确规范。
  • 过程域。主要是方法论层面,要求在数据治理的过程中,需要形成分析-设计-执行-评估四个步骤。
  • 治理域。针对于治理范围进行的定义:主要分为主数据治理,业务数据治理和分析指标数据治理。
  • 技术域。需要对数据架构,管控平台,治理工具三方面进行投入。
  • 价值域。通过对治理结果的有效整理,通过构建具体化的数据产品,实现上述的价值创造。

数据治理的价值体系具体包括三个方面:

  • 数据服务:通过数据的采集、清洗、导入,提升数据质量,确保数据的一致性。这部分体现着主数据治理的关键价值。
  • 数据流通:通过实现信息整合和分发机制,支持跨业务、跨部门、跨系统的信息流转和协同。这部分体现着业务数据治理的关键价值。
  • 数据洞察:通过消除数据内在的质量缺陷,明确数据之间的关联关系,帮助数据分析人员更好地理解数据,实现数据洞察。这部分体现着分析数据治理的关键价值。

数据质量

数据质量评价指标框架

  • 完整性。指数据是否存在丢失情况,包括实体缺失、属性缺失、记录缺失、字段值缺失。
  • 准确性。数据是否与业务过程中真实发生的事实一致或与可接受程度之间的差异。
  • 一致性。系统间的数据差异和相互矛盾的一致性,业务指标统一定义,数据逻辑加工结果一致性。
  • (产出的)及时性。
  • 规范性/合理性。数据符合数据标准、业务规则或权威参考数据的程度。
  • 可访问性。

前4个也是常用的数据质量保障原则。

常见质量衡量指标

  • accuracy(准确度): 反映了预测器对整个样本的判定能力(能将正的判定为正,负的判定为负)。衡量预测的正确性。如果样本不平衡,准确度就会失效。 $$ Accuracy = \frac{\text{True Positive} + \text{True Negative}}{\text{True Positive} + \text{True Negative} + \text{False Positive} + \text{False Negative}} $$

  • precision(精确度/查准率): 反映了被预测的正例中真正的正例样本的比重。衡量预测为正的结果正确的概率。 $$ Precision = \frac{\text{True Positive}}{\text{True Positive} + \text{False Positive}} $$

  • recall(召回率/查全率/灵敏度sensitivity/真正率): 反映了被正确判定的正例占总的正例的比重。是 precision 的反面。召回率越高,越是代表宁可错杀一千,绝不放过一个。 $$ Recall = \frac{\text{True Positive}}{\text{True Positive} + \text{False Negative}} $$

  • F1 score : precision 和 recall 的加权平均值,最佳值为1、最差值为0。对分布不均匀的数据集,常用来代替 accuracy 。 $$ F1 = \frac{2 * precision * recall}{precision + recall} $$

  • FPR(假正率): 有多少负样本被错误预测为正样本。取 (1 - 特异度)(specificity(特异度)为 TN/(TN+FP))。 $$ FPR = \frac{\text{False Positive}}{\text{False Positive} + \text{True Negative}} $$

常见数据异常衡量指标

  • 无效值。
  • 空值/缺失值。
  • 重复。
  • 格式出错。
  • 统计口径不一致。
  • 离群值。
  • 数据分布与过往不一致。

数据生命周期

数据是一种资产,也具有生命周期,管理数据资产就是管理数据全生命周期。

数据生命周期管理对于企业的价值,表现在它能降低数据安全风险、降低数据维护成本及提高数据质量。

数据生命周期包括4个大的期间:入、存、用、出。销毁需要在上线的时候就考虑到。

一般 ODS 保留时间按业务需求决定。DWD 保存全部历史数据。

在线热数据存储在高性能设备上,在线温数据存在性能相对差一点但更便宜的设备上,离线冷数据转储到更廉价的设备。

数据安全

  • 边界。只有授权用户可以访问数据设施。包括用户认证、网络隔离、传输安全。
  • 访问。什么用户/应用访问可以访问什么数据。包括权限控制、鉴权授信、审计管理、多租户隔离。
  • 透明。数据来源去向。包括数据生命周期管理、日志审计。
  • 内容。包括数据加密和脱敏、侵权保护。
  • 可用性。数据容灾。

指标体系

指标体系是从不同维度梳理业务,把指标有系统地组织起来。也就是从海量的数据当中提炼出来的信息。

根据业务流程对指标分类:

  • 基础指标。每一个业务流程里需要的数据,是一些基础维度。一般用5W2H的方法去建立这一层的指标。
  • 统计指标。通过对基础指标筛选或计算得到的。通常用于报表、比较、分析。时间维度几乎是必有的修饰词。
  • 应用指标。紧贴业务最主要的目的,通常用于监控。

根据产生方式对指标分类:

  • 原子指标。
  • 衍生指标。通过对原子指标限定条件和时间生成衍生指标。
  • 派生指标。对衍生指标计算得到派生指标。
本文链接: https://paxinla.github.io/posts/2021/03/yi-xie-shu-cang-chang-jian-yi-wen.html

知识共享许可协议 本作品采用知识共享署名-非商业性使用-相同方式共享 3.0 中国大陆许可协议进行许可,欢迎转载、演绎,
但是必须保留本文的署名 Charles(包含链接),且不得用于商业目的。