数据质量问题
数据质量问题通常会存在以下几个方面的问题,通常对数据质量的评估也是围绕这几个维度进行的。
数据准确性:用于分析和识别无效或者不准确的数据,不可靠的数据可能会导致严重的问题。
数据唯一性:用于识别和度量重复数据、冗余数据,重复数据是导致业务无法协同、流程无法追溯的重要因素,是需要解决的最基本的数据问题。
数据完整性:唯一性约束不完整、参照不完整;数据条目不完整、数据记录丢失或不可用;不完整的数据所能借鉴的价值就会大大降低,也是数据质量问题最为基础和常见的问题。
数据一致性:多源数据的数据模型不一致,例如:命名不一致、数据结构不一致、约束规则不一致。数据实体不一致,例如:数据编码不一致、命名及含义不一致、分类层次不一致、生命周期不一致……。相同的数据有多个副本的情况下的数据不一致、数据内容冲突的问题。
数据关联性:数据关联性问题是指存在数据关联的数据关系缺失或错误,例如主外键关系、索引关系等。会直接影响数据分析的结果。
数据及时性:能否在需要的时候获到数据,数据的及时性与企业的数据处理速度及效率有直接的关系,是影响业务处理和管理效率的关键指标。
数据质量问题的根因分析
影响数据质量的原因包括技术、业务、管理三个方面。
现在从这三方面分析下产生数据质量问题具体因素。
1
技术层面
数据模型设计:数据库表结构、约束条件、校验规则的设计开发不合理,造成数据录入无法校验或校验不当,引起数据重复、不完整、不准确。
数据源质量控制:源系统数据质量本身不可控,从生产环境中采集的数据存在重复、不完整、不准确等问题。而在进行数据采集时是否对数据做清洗处理、清洗规则是否符合业务需求。
数据采集过程:采集点、采集频率、采集内容、映射关系等采集参数和流程设置的不正确,数据采集接口效率低,导致的数据采集失败、数据丢失、数据映射和转换失败。
数据传输过程:数据接口本身存在问题、数据接口参数配置错误、网络不可靠等都会造成数据传输过程中的发生数据质量问题。
数据装载过程:数据清洗规则、数据转换规则、数据装载规则配置有问题。
数据存储质量:数据存储设计不合理,数据的存储能力有限,人为后台调整数据,引起的数据丢失、数据无效、数据失真、记录重复。
2
业务层面
业务需求不清晰:数据的业务描述、业务规则不清晰,导致技术无法构建出合理、正确的数据模型。
业务需求的变更:这个问题其实是对数据质量影响非常大的,需求一变,数据模型设计、数据录入、数据采集、数据传输、数据装载、数据存储等环节都会受到影响,稍有不慎就会导致数据质量问题的发生。
业务端数据输入不规范:数据录入问题,如:大小写、全半角、特殊字符等一不小心就会录错。人工录入的数据质量与录数据的业务人员密切相关,录数据的人工作严谨、认真,数据质量就相对较好,反之就较差。
3
管理层面
数量质量的把控
常用的数据质量评价标准在上述内容提到过:数据唯一性、数据完整性、数据准确性、数据一致性、数据关联性、数据及时性等。
在这些环节中,可以采用以下方式来保障数据质量:
(1)代码核查
开发相关的规则分类大致为:
-代码规范类规则:如表命名规范、字段命名规范、生命周期设置、表注释等
-代码质量类规则:数据清洗规则是否符合业务预期需求、特定字段的数据格式是否标准统一等。
-代码性能类规则:如是否存在大小表join操作、多表进行join操作等
(2)代码发布核查
加强测试环节,测试环境测试后再发布到生成环境,且生成环境测试通过后才算发布成功。
总结:
从数据的源头抓起,严格落实规范和机制。关于数据需求的逻辑、模型设计如何规范化、代码是否有CR(CodeReview)机制等方面的流程,一定要有明确的定义以及标准。
设置质量管理点或质量控制点,从根本上解决数据质量问题。一旦发现数据的异常值,抓住影响数据质量的关键因素,可以根据数据产生的逻辑顺藤摸瓜找到产生数据的业务环节。
- 完 -
想学习更多的技术内容, 别忘了关注普适极客哦~