天天看点

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

作者:涤生大数据

涤生推荐:未来的行业中,数据是企业的重要资产,而数据仓库则是对企业数据进行有效管理和利用的重要手段。在数据仓库建设过程中,数据质量是一个至关重要的方面。数据质量的高低直接影响企业的决策、业务流程和客户满意度等多个方面。因此,建立完善的数据仓库数据质量体系是非常必要和重要的。这部分内容对于进阶的人很重要,面试、升职必备知识体系!!!

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

数据质量体系建设的原因

在日常工作中,业务领导经常会通过报表看板等数据产品来了解各项业务的发展趋势以及KPI的达成情况。倘若某天,他打开某张核心报表,发现当日的数据一直是空白的,询问报表开发人员,开发经排查分析,发现是依赖的上游有延迟,上游数据预计要下午才能到达,导致业务领导在正常时点无法查看业务数据情况。

又或某天,业务人员点开报表发现当日AUM规模暴增,数据增长当然开心,但仔细推敲,发现这波动有点不合常理,于是通知数据负责人验证下数据是否存在异常。经过几个小时的排查分析,数据负责人报告说数据确实算的有些问题,业务业务以后对该报表数据的准确性将会打上问号。

若类似的数据问题经常出现,估计迎接你的不是美好明天,而是你的职业生涯的最后一天。

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

总而言之,随着大数据时代的到来,数据中台作为数据资源集成和应用的核心平台,正日益成为企业实现数字化转型的关键驱动力。然而,数据中台的成功运营离不开数据质量的保障。因此,建立一个完善的数据质量体系对于企业来说至关重要。

数据质量的重要性

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

决策基础:数据质量直接影响到企业决策的准确性和可靠性。如果数据存在错误、不完整或不一致,决策者将无法获得准确的信息,从而可能导致错误的决策和策略。高质量的数据可以为管理层提供可靠的依据,使其能够做出明智的决策。

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

业务流程效率:高质量的数据可以提升业务流程的效率和准确性。例如,在供应链管理中,准确的库存数据和供应商信息可以帮助企业更好地进行库存控制和物流规划。而数据质量低下可能导致错误的订单处理、物料短缺或过剩,从而影响业务流程的正常运转。

成本控制:低质量的数据可能导致额外的成本和资源浪费。数据错误和不一致性会增加纠错和修复的工作量,导致人力资源和时间的浪费。此外,数据质量问题还可能导致重复劳动、产品退货、客户投诉等额外成本。通过确保数据质量,企业可以降低这些不必要的成本。

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

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

常见的数据质量问题

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

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

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

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

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

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

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

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

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

这些数据质量问题对企业的数据分析、决策和运营都会带来负面影响。因此,建立数据质量体系和采取相应的数据质量管理措施是重要的,以确保数据的准确性、完整性、一致性和安全性。

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

导致数据质量问题的原因

导致数据质量问题的原因有多种,以下是一些常见的原因:

1)数据输入错误:数据在录入过程中可能出现人为错误,例如手动输入错误、拼写错误、格式错误等。这些错误可能导致数据的准确性受损。

数据处理错误:在数据处理过程中,例如数据清洗、转换、整合等步骤,错误的处理逻辑或方法可能导致数据质量问题。例如,错误的数据清洗规则可能会导致数据丢失或错误的数据修复;

2) 数据传输和集成问题:在数据传输和集成过程中,数据可能会受到损坏、丢失或不完整的影响。数据传输时的网络问题、文件损坏、数据格式不兼容等因素都可能导致数据质量问题;

3) 数据源质量问题:数据的质量问题可能源自数据的原始来源。如果数据源自不可靠或低质量的数据提供者,数据本身就可能存在错误、不完整或不准确的问题;

4) 数据更新和维护不及时:如果数据更新和维护不及时,旧数据可能会保留在系统中,导致数据不准确或过时。缺乏及时的数据维护和更新流程可能导致数据质量问题逐渐累积;

5) 数据安全和隐私问题:数据的安全性和隐私性问题可能导致数据被未经授权的人访问、篡改或泄露。未经授权的数据访问可能导致数据质量受损,同时也会对企业的声誉和合规性产生负面影响;

6) 缺乏数据质量管理策略和流程:如果企业缺乏明确的数据质量管理策略和流程,可能导致数据质量问题被忽视或未及时解决。缺乏数据质量管理的监控、评估和改进机制可能使问题得不到发现和解决;

7)人为因素和培训不足:人为因素也是导致数据质量问题的常见原因。员工缺乏足够的培训和意识,可能会在数据处理和录入过程中犯错或不遵循正确的数据质量标准

8)数据平台问题:平台不稳定、队列资源不足等,导致作业运行延迟、报错;

9)数据开发问题:数据开发人员的任务脚本性能太差,计算严重耗时,导致数据延迟;或是代码逻辑设计有问题,导致数据计算有误。

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

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

数据质量体系建设

数据质量管理包含正确定义数据标准,并采用正确的技术、投入合理的资源来管理数据质量。数据质量管理策略和技术的应用是一个比较广泛的范畴,它可以作用于数据质量管理的事前、事中、事后三个阶段。

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

1)加强组织建设

企业需要建立一种文化,以让更多的人认识到数据质量的重要性,这离不开组织机制的保障。建立数据质量管理的组织体系,明确角色职责并为每个角色配置适当技能的人员,以及加强对相关人员的培训和培养,这是保证数据质量的有效方式。组织角色设置企业在实施数据质量管理时,应考虑在数据治理整体的组织框架下设置相关的数据质量管理角色,并确定他们在数据质量管理中的职责分工。常见的组织角色及其职责如下。

数据治理委员会:为数据质量定下基调,制定有关数据基础架构和流程的决策。数据治理委员会定期开会以新的数据质量目标,推动测量并分析各个业务部门内数据质量的状态。

数据分析师:负责数据问题的根因分析,以便为数据质量解决方案的制定提供决策依据。

数据管理员:负责将数据作为公司资产进行管理,保障数据质量,例如定期数据清理、删除重复数据或解决其他数据问题。

2)加强人员培训

数据不准确的主要原因是人为因素,加强对相关人员的培训,提升人员的数据质量意识,能够有效减少数据质量问题的发生。数据质量管理培训是一个双赢的过程。对于员工来说,通过培训,自己不仅能够认识到数据质量对业务和管理的重要性,还能学习到数据管理理论、技术、工具等知识和技能,确保上游业务人员知道他们的数据对下游业务和应用程序的影响,让自己在工作中尽可能不犯错、少犯错,提高自己的业务处理效率和质量。对于企业来说,通过培训,可以使数据标准得到宣贯,提升员工的数据思维和对数据的认识水平,建立起企业的数据文化,以支撑企业数据治理的长治久安。有关数据治理培训机制的相关策略在第6章中已经详细描述过,此处不再赘述。

此外,企业应鼓励员工参加专业资格认证的培训,这样能够让相关人员更加系统性地学习数据治理知识体系,提升数据管理的专业能力。

3)落实数据标准

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

4)ETL流程规范保障

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

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

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

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

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

5)源端系统变更检测

源端的问题最好能在源端解决掉,比如数据准确性、一致性、稳定性等等。

我们需要事先跟源端系统负责人沟通确认清楚数据使用规则,确保数据抽取和计算环节的数据准确性。

在线业务系统复杂多变,每次变更都会产生数据的变化。为保证数据质量,就需要考虑如何能将源端业务系统的变更,更高效地通知给数据仓库维护人员。

首先,我们可以从人员管理入手,制定流程规范,要求前端业务变更发版上线前必须通知下游下游数仓运维人员。

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

6)模型设计评审

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

7)代码提交核查

即在 SQL 提交前进行相关规则校验。有工具最好,如果没有可以人工代码 review。规则分类如下:

代码规范类规则。例如,表命名规范、生命周期设置及表注释等。

代码质量类规则。例如,分母为0提醒、NULL 值参与计算影响结果提醒及插入字段顺序错误等。

代码性能类规则。例如,分区裁剪失效、扫描大表提醒及重复计算检测等。

8)任务发布变更审查

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

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

9)数据质量监控:

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

DQC Data Quality Center/Check 数据质量中心, DQC 通过配置质量检查规则,可以实现完整性、准确性、可访问性监控,从而间接实现了时效性监控。但是,一致性只能通过统一的模型设计和口径定义来保障。

通过配置 DQC 的数据质量校验规则,可以实现在数据处理过程中进行自动的数据质量监控。DQC 可以监控数据质量并报警,但它不对数据产出进行处理,需要报警接收人判断如何处理。

DQC 数据监控规则有强规则和弱规则:

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

弱规则:只报警但不阻断任务的执行。

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

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

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

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

常见的监控规则如下:

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

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

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

以下是在数据质量问题发生后进行事后补救的一些建议和步骤:

1)确认问题:首先,需要确认数据质量问题的具体性质和范围。确定问题的根源和影响程度,以便有针对性地进行修复。

2)停止数据流:针对一些强规则触发的数据质量问题,可以暂停或停止数据流入系统,以防止更多的错误数据进入系统中。这可以避免问题进一步扩大。

3)数据修复:根据问题的性质,采取适当的措施来修复数据。可能的修复方法包括手动修改错误数据、利用备份数据进行恢复,或者通过运行脚本或程序进行自动修复。

4)数据验证:修复后,需要对数据进行验证,确保数据质量问题已得到解决。可以使用数据验证工具或编写自定义脚本来检查修复后的数据是否符合预期的质量标准。

5)影响分析:评估数据质量问题对业务的影响,并确定可能的潜在风险和损失。这有助于制定措施来减少未来类似问题的发生。

6)修复措施:根据影响分析的结果,采取适当的修复措施来防止类似的数据质量问题再次发生。这可能包括改进数据收集和输入验证过程,加强数据清洗和转换规则,以及更新数据质量监控和审计机制等。

7)通知相关方:如果数据质量问题对业务或利益相关方产生了重大影响,及时通知相关方,并提供解决方案和修复进展的更新。透明和及时的沟通对于恢复信任和维护业务关系至关重要。

8)数据质量改进:将数据质量问题作为一个教训,反思数据管控和管理流程,并采取措施改进数据质量。这可能包括加强数据质量培训和意识、建立数据质量指标和监控机制,以及持续优化数据处理和质量保障流程。

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

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

数据质量评价体系建设

在执行了一系列的举措来提高数据质量后,如何来验证数据质量的治理效果呢?

这就涉及到数据质量评价模型的建设了,数据质量评价模型是用于评估和度量数据质量的框架或方法。下面是围绕数据质量监控的几个评价指标及其说明:

作业时效性(Timeliness):衡量数据处理作业的及时性。该指标关注数据处理作业的完成时间是否符合预期,是否能够满足业务需求。延迟或超时的数据处理作业可能会导致数据陈旧,影响决策的准确性。

作业稳定性(Stability):评估数据处理作业的稳定性和可靠性。稳定性指标关注作业是否能够持续、可靠地执行,是否会出现中断或错误。稳定性较低的作业可能导致数据丢失、重复或不完整,影响数据的准确性和一致性。

运维及时性(Operational Timeliness):衡量数据运维团队对数据质量问题的响应和解决速度。该指标关注运维团队是否能够及时发现和解决数据质量问题,以减少数据质量对业务的潜在影响。及时响应和解决数据质量问题可以降低数据处理作业的中断时间和数据错误的持续时间。

作业准确性(Accuracy):评估数据处理作业的准确性和正确性。该指标关注作业是否能够正确地处理和转换数据,确保数据的完整性和准确性。作业准确性较低可能导致数据错误、失真或不一致,影响决策和业务分析的结果。

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

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

综上所述,通过建立数据质量评价模型并围绕作业时效性、作业稳定性、运维及时性和作业准确性等评价指标进行度量,可以有效监控和改进数据质量。这有助于保证数据处理作业的及时性、稳定性和准确性,以支持准确的决策和业务分析。

继续阅读