当前位置:   article > 正文

数仓-数据质量体系建设_上游变更对数仓的冲击

上游变更对数仓的冲击

前言

        在数仓建设过程中,数据质量的高低直接影响企业的决策、业务流程和客户满意度等多个方面。DAMA中数据质量的评估维度主要有:准确性、一致性、完整性、及时性。

  • 准确性

       准确性指数据是否存在异常或者错误的信息,如明细数据相对原始数据是否失真,汇总数据是否符合指标口径定义等。

  • 一致性

      对于数据仓库,一份数据在多个场景使用是很常见的,一致性即指对于同一个数据定义,可以是一个原始字段或一个加工后的指标,任意使用场景所使用的数据都是一样的。比如供应链和商品开发都关注缺货率指标,他们可能分属不同团队,对接不同的数据开发,但是用到的缺货率指标只能是同一份。

  • 完整性

       数据完整性包含两方面:记录完整性字段信息完整性。即某张表数据记录是否缺失,某些非null字段是否为null。

  • 及时性

       及时性指业务需要看数时,要有数可看,具体落实下来就是数仓的调度任务要能稳定按时产出。

一、数据质量体系建设的原因

       在日常工作中,业务领导经常会通过看报表,看板等数据产品来了解各项业务的发展趋势,以及kpi的达成情况。如果数据质量存在问题,会降低业务人员用数的信心。

二、数据质量的重要性

       数据质量的重要性在现代企业中变得越发突出,以下是数据质量的几个关键方面,说明其对企业的重要性:

  • 决策基础

  数据质量直接影响到企业决策的准确性和可靠性。如果数据存在错误、不完整或不一致、决策者将无法获得准确的信息,从而可能得到错误的决策和策略。

  • 客户满意度

   数据质量直接关系到企业与客户之间的关系。如果客户的个人信息被错误记录或泄露,将对客户的信任产生负面影响。另外,数据质量也影响到客户服务和沟通的效果。准确、及时、一致的数据有助于提供个性化的服务,满足客户需求,增强客户忠诚度。

  • 业务流程效率

      高质量的数据可以提升业务流程效率和准确性。

  • 成本控制

  低质量的数据可能会导致额外的成本和资源浪费。数据错误和不一致会增加纠错和修复的工作量,导致人力资源和时间的浪费。此外,数据质量问题还可能导致重复劳动、产品退货、客户投诉等额外成本。

  • 法律合规

    许多行业都有严格的数据保护和隐私法规要求。保持数据的准确性、完整性和保密性对于遵守法律法规非常重要。数据泄露或数据不符合合规要求的话,可能会面临罚款、声誉损害和法律诉讼等风险。

   综上所述,高质量的数据有助于提高决策质量、增强客户满意度、提升业务流程效率、降低成本并确保法规合规性。因此,企业应重视数据质量管理,并采取适当的措施来确保数据的准确性、完整性、一致性。

三、常见的数据质量问题

      常见的数据质量问题包括:

  • 数据缺失

   数据缺失是指在数据集中某些字段或记录缺少必要的数据值。数据缺失可能导致分析结果的不准确和不完整性,影响决策的可靠性。

  • 数据错误

  数据错误指的是数据值与实际情况不符或包含错误信息。例如:记录的日期格式错误、数字数据的计算错误等。数据错误可能导致错误的分析结果和决策。

  • 数据不一致

    数据不一致是指同一类数据在不同数据源或系统中存在的差异,例如:同一个客户信息在不同系统中有不一致的记录。数据不一致给数据集成和共享带来困难,影响数据的可靠性和一致性。

  • 数据重复

   数据重复指同一数据记录在数据集中出现多次,数据重复会导致数据冗余和资源浪费,增加数据处理和存储的成本。

  • 数据精度问题

   数据精度问题包括数据的精确性和精度。数据的精确性值指数据值与实际情况的一致性,而数据的精度指数据的有效数据位数或小数位数。数据精度问题可能导致错误的计算和分析结果。

  • 数据不完整

   数据不完整是指数据集中某些字段或记录缺少部分数据。例如:客户信息中缺少联系方式或地址信息。数据不完整会降低数据的可用性和决策的准确性。

  •  数据格式问题

   数据格式问题指数据的格式与要求不符合,例如:日期格式、文本格式等。数据格式问题可能导致数据解析错误和数据集成问题。

  • 数据安全和隐私问题 

   数据安全和隐私问题是指数据在存储、传输和处理过程中受到未经授权的访问、泄露或篡改的风险。数据安全和隐私问题可能会导致数据泄露、侵犯用户隐私,对企业声誉和合规性造成影响。

   了解这些导致数据质量问题的原因,企业可以采取相应的措施来预防和解决这些问题,包括加强数据质量管理流程、提供培训和教育、确保数据安全和隐私等。 

四、数据质量体系建设

     数据质量管理应秉持预防为主的理念,坚持将“预防为核心,以满足业务需求为目标作为工作的根本出发点和落脚点,加强数据质量管理的事前预防、事中控制、事后补救的各种措施,以实现企业数据质量的持续提升 。

4.1 落实数据标准

        数据标准的有效执行和落地是数据质量管理的必要条件。数据标准包括数据模型标准、指标数据标准等。

4.2  数据源质量控制

        要做数据质量首先我们要保证数据源是“干净”的,且数据开发需要能及时感知到上游系统的各种变更,这里主要有以下2点策略:

  • ods层入仓监控

     利用大数据平台,在数据入仓阶段对binglog收集、日志收集、T+1快照等任务设置时效监控,保障源数据的及时性;

  • 上游系统变更感知

       数仓的数据来自于上游业务系统,上游系统的逻辑变更必然会对数仓造成影响。在线业务系统复杂多变,每次变更都会产生数据的变化。为保证数据质量,需要将源端业务系统的变更,更高效地通知给数仓开发人员。

 解决方案:

(1)制定流程规范,要求前端业务变更发版上线前必须通知到下游的数仓运维人员。

(2)可以使用工具自动捕捉每一次业务的变化。如果数仓直接使用的是业务系统的表可以检测表结构的变化、业务关键字段的空值率、数据量同环比的波动等等。如果数仓接入的是业务系统日志,可以在入库前做格式校验和数据量同环比波动分析

(3)如果直接做发布审批卡点,流程可能会比较重,因此可以采取的做法是:由数据开发自行跟对接的上游开发强调,有变更时需要把变更内容告知数仓开发,由数仓评估影响。

4.3 ETL质量控制

        ETL质量控制指的是:借助大数据平台开发ETL任务,构建数仓模型层(dim-dwd)及汇总层(dws-ads)过程的质量控制措施和能力。

4.3.1 ETL流程规范保障

  • 数据提取规范

   明确数据提取的来源和方法,包括数据源的选择、访问权限和安全性要求,定义清楚数据提取的时间频率和数据范围,确保提取的数据完整性和准确性。

  • 数据清洗规范

   明确数据清洗的目标和规则。定义数据清洗的步骤和流程,包括数据格式化、去重、填充缺失值、纠正错误等操作。确保数据清洗过程符合业务需求和数据质量标准。

  • 数据转换规范

   明确数据转换的目的和规则。定义数据转换的操作和算法,包括数据格式转换、数据标准化、数据聚合等。确保数据转换过程符合业务逻辑和数据质量要求。

  • 数据加载规范

    明确数据加载的目标和规则,定义数据加载的目标数据库或数据仓库的结构和模型,确保数据按照正确的结构进行加载。同时,制定数据加载的验证和校验规则,确保加载的数据准确性和完整性。

  • 异常处理规范

    制定异常数据处理的规范流程。定义异常数据的识别和处理方法,包括错误数据的记录、通知和修复流程。确保异常数据得到及时处理,避免其对后续数据分析和决策造成负面影响。

4.3.2 模型设计评审

     模型设计师、架构师、业务人员、数据产品等参与,对数仓模型进行评审,优秀的数据模型除了满足业务需求外,还需要在性能、成本、效率、质量等方面有不错的支撑能力。良好的数据模型可以改善数据统计口径的不一致性,减少数据计算错误的可能性。

4.3.3 代码提交检查

    在SQL提交上线前需要进行相关规则校验,有工具辅助最好,如果没有可以人工代码review。

规则分类如下:

  • 代码规范类规则:表命名规范、生命周期设置及表注释等
  • 代码质量类规则:null值参与计算导致的影响结果提示、插入极端顺序错误等
  • 代码性能类规则:分区裁剪失效、扫描大表提醒、重复计算检测等

4.3.4 任务发布变更审查

    为保障线上数据的准确性,每次变更都需要经过测试再发布到线上生产环境,上线后需要第一时间对相关应用和底层数据做检查。

    在进行更新操作前,需要通知下游变更原因、变更逻辑、变更时间等信息。下游对此变更没有异议后,再按照约定时间发布变更,这样可以将变更操作对下游的影响降低到最低。

4.3.5 质量监控卡点

      ETL运行过程每一步的执行情况都应该记录日志,如果有报错的情况,需要基于资产等级定义选择立即触发报警以及是否停止任务。(资产分级对应的任务级别也不一样)

     DQC 全称Data Quality Center,中文称数据质量监控,用于监控表/字段数据的质量,
 防止问题数据流入下游任务,DQC触发于每个任务执行后。

    通过配置DQC的数据质量校验规则,监控数据质量并告警,通过邮件等方式通知相关负责人进行处理。

   DQC数据监控规则分为:强规则和弱规则:

  • 强规则:一旦触发报警就会阻断任务的执行(将任务置为失败状态,使下游任务不会被触发执行)
  • 弱规则:只报警但不阻断任务的执行。

 DQC的工作流程如下图所示:

       DQC提供常用的规则模板,包括表行数相较于N天前的波动率、表空间大小相较于N天前的波动率、字段最大/最小/平均值相较于N天前的波动率、字段空值/唯一个数等。

       DQC的检查可以通过运行SQL任务实现 (DQC平台上的配置规则本质就是sql逻辑),该SQL任务嵌套在整体任务中,如果检查次数过多会影响整体的任务执行性能。因此,哪些数据需要配置DQC规则,应该配置什么规则,也需要根据数据资产等级来确定。例如A1、A2类数据监控率要达到90%以上,规则类型需要3种以上,而不重要的数据资产没有强制要求。

4.3.6 产出基线控制

       以任务分级为基础,将重点数仓任务划分到2:30、4:30、5:30、7:30、9:30等基线上,基线DDL任务如果30分前未产出即开始预警,由值班介入处理保障及时性。

五、数据质量体系建设之事后处理

        在数据质量监控中,事后补救是指数据问题已经发生后采取的纠正和修复措施的过程。它是数据质量管理的一个重要环节,目的在于修复数据错误、恢复数据可用性和准确性,以及防止类似问题再次发生。以下是在数据质量问题发生后进行事后补救的一些建议和步骤:

  • 确认问题:首先,需要确认数据质量问题的具体性质和范围。确定问题的根源和影响程度,以便有针对性地进行修复。
  • 停止数据流:针对一些强规则触发的数据质量问题,可以暂停或停止数据流入系统,以防止更多的错误数据进入到系统中。这可以避免问题进一步扩散。
  • 数据修复:根据问题的性质,采取适当的措施来修复数据。可能的修复方法包括手动修改错误数据、利用备份数据进行恢复,或者通过运行脚本或程序进行自动修复。
  • 数据验证:修复后,需要对数据进行验证,确保数据质量问题已得到解决。可以使用数据验证工具或编写自定义脚本来检查修复后的数据是否符合预期的质量标准。
  • 影响分析:评估数据质量问题对业务的影响,并确定可能的潜在风险和损失。这有助于制定措施来减少未来类似问题的发生。
  • 修复措施:根据影响分析的结果,采取适当的修复措施来防止类似的数据质量问题再次发生。这可能包括改进数据收集和输入验证过程,加强数据清洗和转换规则,以及更新数据质量监控和审计机制等。
  • 通知相关方:如果数据质量问题对业务或利益相关方产生了重大影响,及时通知相关方,并提供解决方案和修复进展的更新。透明和及时的沟通对于恢复信任和维护业务关系至关重要。
  • 数据质量改进:将数据质量问题作为一个教训,反思数据管控和管理流程,并采取措施改进数据质量。包括建立数据质量指标和监控机制,以及持续优化数据处理和质量保障流程。

     总的来说,事后补救是数据质量管理的一个重要环节,通过及时识别和纠正数据质量问题,以修复数据。

   六、数据质量评价体系建设

          在执行了一系列的举措来提高数据质量后,如何验证数据质量的治理效果呢?这涉及到数据质量评价模型的建设了,数据质量评价模型是用于评估和度量数据质量的框架或方法。下面围绕数据质量监控的几个评价指标及其说明。

  • 作业时效性:衡量数据处理作业的及时性。该指标关注数据处理作业的完成时间是否符合预期,是否能够满足业务需求。延迟或超时的数据处理作业可能会影响数据新鲜度,影响决策的准确性。
  •  作业稳定性:评估数据处理作业的稳定性和可靠性。稳定性指标关注作业是否能持续、可靠地执行,是否会出现中断或错误。稳定性较低的作业可能会导致数据丢失、重复或不完整,影响数据的准确性和一致性。
  • 作业准确性:评估数据处理作业的准确性和正确性。该指标关注作业是否能够正确的处理和转换数据,确保数据的完整性和准确性。作业准确性较低可能会导致数据错误、失真或不一致,影响决策和业务分析的结果。
  • 运维及时性:衡量数据运维团队对数据质量问题的响应和解决速度。该指标关注运维团队是否能够及时发现和解决数据质量问题,以减少数据质量对业务的潜在影响。及时响应和解决数据质量问题可以降低数据处理作业的中断时间和数据错误的持续时间。

   以上的评价指标可以根据具体业务需求和数据处理作业的特点进行量化和度量。可以使用以下方法来评估指标:

   

      可以将上述指标进行可视化的呈现,例如:DQC配置率,基线覆盖率等,一方面能反映数仓当前的质量情况,另一方面可以将指标拆解到具体的负责人,配合消息通知工具推动其改进

     综上所述,通过建立数据质量评价模型并围绕作业时效性、作业稳定性、运维及时性和作业准确性等评价指标进行度量,可以有效监控和改进数据质量。

参考文章:

数据仓库数据质量体系建设

声明:本文内容由网友自发贡献,转载请注明出处:【wpsshop博客】
推荐阅读
相关标签
  

闽ICP备14008679号