摘要
众所周知,大数据技术将打开各行各业的数据魔盒,从金融、电商、医疗、能源到制造业,都致力于从大数据中挖掘价值。而数据治理是实现大数据战略的基础,通过数据治理提升数据价值才能保证最终大数据分析的准确性。目前国内外有很多关于数据治理的理论和方法。大部分的理论和方法都会围绕数据质量管理展开。数据治理的过程中需要跟踪评估数据质量。本文重点阐述用友在数据全生命周期中数据质量保障的办法。
企业在日常生产建设经营过程中产生与存储的数据量极其庞大,获取数据的来源也很多,为了方便企业数据的整合分析,首先要保障企业数据的质量并对企业数据的质量保持监控。用友对数据质量的监控往往是贯穿数据的整个生命周期。评估数据质量的指标包括:数据真实性、数据准确性、数据唯一性、数据完整性、数据一致性、数据关联性、数据及时性(见附录)。
1 数据质量管理
在计划对企业数据进行数据治理时,应充分考虑业务实际需求,进行业务分析,制定数据标准体系,再确保数据采集、存储、管理与交付各个环节的数据质量。
图1 数据质量保障流程
2 数据质量管理的基础-业务分析
企业生产运营过程中,对业务进行解构、梳理与分析是十分必要的。业务需求不清晰,例如:业务描述、业务规则不清晰,会导致技术无法通过业务构建出合理、正确的数据模型。前期根据业务整理数据范围、数据维度以及数据关系,并依据数据整理的结果制定企业级别的数据标准体系会帮助企业清晰的描述与规范数据。
2.1 确认数据范围
数据激增是当今社会的一大特性,企业会从不同的途径挖掘出大量的业务相关数据,包含结构化数据、非结构化数据(文件)与半结构化数据(模型)。在数据治理前,首先要对业务划分,确定数据治理的范围。例如银行对公业务数据治理,银行对个人业务数据治理等等。
2.2 统计数据维度
在整理数据维度时,往往可以从多个不同的维度对数据进行划分。例如:根据数据的产生阶段,可以把生产线数据分为设计数据、采购数据以及制造数据;根据数据的用途,可以把实时数据可以分为属性描述、活动记录与信息统计;根据数据描述的对象,可以将交易数据分为用户数据、行为数据与产品数据等。
2.3 分析数据关系
企业数据描述了各种各样的业务场景,业务场景与场景之间存在关联关系。因此在通常情况下,数据与数据之间总会存在一定的关联关系。例如:业务场景中会描述一系列数据关系模型,通过预设的多种关系(包括从属、连接等)使生产活动中的各类事物(包括物理、活动、事件等)相互关联,形成一张数据网络图,从而为数据分析与数据智能交付的实现提供了更加便利的条件。
3 依据业务需求构建标准体系
通过对实际业务进行分析,企业将会得到较为清晰准确的数据范围、数据维度以及数据之间的关系,而在此基础上,企业则需要通过制定完善的标准体系对数据的质量以及合规性进行管理,从而能够更好的发挥数据的潜在价值,还能避免因需求变更导致数据模型设计、数据录入、数据采集、数据传输、数据装载、数据存储等环节受到的影响。标准体系应覆盖数据的全生命周期,从数据采集、存储、交付、管理、应用等方面进行规范化定义。一方面,标准体系的规范能够保证数据本身的准确程度,另一方面,通过执行统一的标准体系,企业各部门之间的数据壁垒将被打通,数据流动将更为流畅。
为了更好的保障数据质量,往往需要构建采集标准、编码标准、孪生体标准等一系列标准。而在应用标准体系时,标准的多样性与可扩展性是需要格外注意的部分。
3.1 标准的多样性
标准体系,最重要的目的在于制定符合实际业务场景的规范化定义。而由于业务场景本身的多样性,相应的标准也会更加丰富。随着业务类型的增加与原有业务范围的不断扩大,企业会不断丰富已有的标准体系,对越来越多的业务数据做出定义。
3.2 标准的可扩展性
随着企业业务的发展,相应的数据标准也将发生变化,因此,企业需要针对过期标准进行修订、扩展或者作废。在此过程中,要格外注意标准体系的变动对数据治理过程的影响,在治理初期应制定控制标准版本的规则,包括标准的数据定义、标准的计算维度、标准的统计口径等。在进行标准改动时,应对随之带来的数据清洗规则执行严格的审核流程,保证上下游数据接口的稳定性。
4 数据采集
数据采集往往是发生数据质量问题的突出环节,采集点、采集频率、采集内容、映射关系等采集参数和流程设置的不正确,数据采集接口效率低,会导致数据采集失败、数据丢失、数据映射和转换失败。采集是原始数据标准化和资产化的第一步,采集过程的规范性在很大程度上决定了最终的数据质量。对于数据采集、编码和关联关系的规范化有助于降低数据清洗融合的难度,为数据入库、存储、分析和交付奠定基础。
4.1 基于标准的采集
为了提高采集质量,需要将采集标准纳入采集活动的前期要求中。采集标准需要详细规定要采集的数据对象、计量单位、对象属性、非结构化数据以及关联关系、半结构化数据以及关联关系。
4.2 基于标准的编码
数据在其全生命周期中,为了保障交付过程的流畅性,往往需要采用统一的编码规则,规定了采集数据在采集时,应按照此标准规定的对象代码、属性代码、非结构化数据代码以及半结构化数据代码生成数据编码,并作为编码属性同属性一同存储起来。
4.3 基于标准的关系挖掘
通常情况下,在实际业务场景中会存在各种各样的业务关系,对应的业务数据之间也存在一系列的关系。例如:在工业中存在三种常见的数据关系,包括工业设备(如焊缝、阀门等)分类层级结构关系(如线路对象类-管道本体-管道本体焊缝)、工业设备(如某条焊缝、某个阀门)所属关系(如某油田-某二级单位-某站场/管线-某条焊缝)、工业非结构化数据(如某阀门采购文件、某阀门施工文件)半结构化数据(如某阀门设计模型)与结构化数据(某阀门)之间的关联关系。采集结果可以根据相应的属性关键字挖掘数据之间的关系。
5 数据存储
在实际业务场景中,会产生各种各样的数据,按照数据的结构特征,可以分为结构化数据、半结构化数据以及非结构化数据,其中不仅包括符合采集标准的数据,同时也包括各类非标准数据,如第三方增补数据、应用回存数据等。这里往往会由于数据存储设计不合理,数据的存储能力有限,人为后台调整数据,引起数据丢失、数据无效、数据失真、记录重复等问题。数据在进入数据仓库后,应在实际业务需求的基础上,按照其各自的结构形式分别进行存储,而且由于企业数据规模往往十分庞大,在进行存储时也应充分考虑构建大数据的存储结构。
5.1 确认数据的存储方式
根据是否符合标准,结构化数据分为两个部分,包括标准结构化数据(+关系)与非标准结构化数据(+关系)。通过标准对结构化数据做出详细定义,利用关系型数据库(SQL)作为标准采集数据落地的数据库。对于非标准结构化数据(+关系)以及标准结构化数据(关系)本章需要做重点描述。
1)非标准
非标准是指本身不属于标准定义。由于此类可能属于其他数据标准或此类属于动态数据(如用户行为数据,数据属性定义随意性会很大、数据增长方式不规律),因此对于非标准无法使用关系型数据库而需要选择不局限于固定结构的非关系型数据库(NoSQL)。
2)标准数据非标准属性
标准的非标准属性是指本身属于标准定义,但属性不在采集标准的属性定义范围内。此类属性不是必填属性,属性类型也不固定。因此会将非标准属性描述的拆分为两部分存储,符合标准的属性存放在关系型数据库(SQL)中,不符合标准的属性存放在非关系型数据库(NoSQL)中。两部分数据通过相同主键关联。
3)数据关系
前文介绍了三种数据关系,分别是分类层级结构关系、对象所属关系以及结构化数据与非结构化半结构数据关联关系。关系数据会统一存放在NoSQL中,支持数据的关联分析。另外为了实现非结构化数据与半结构化数据独立存储,保证数据的安全性与扩展性。就需要通过分布式文件系统存放在各个单位的存储模块中。再将非结构化与半结构化数据的存放地址与描述写入SQL数据库中的结构化数据的属性中。实现数据的统一管理。
6 数据管理
数据管理往往影响数据质量的是主观因素,例如企业管理者缺乏数据思维,没有认识数据质量的重要性。没有明确数据归口管理部门或岗位,缺乏数据认责机制,出现数据质量问题找不到负责人。缺乏数据规划,没有明确的数据质量目标,没有制定数据质量相关的政策和制度。数据输入规范不统一,不同的业务部门、不同的时间、甚至在处理相同业务的时候,由于数据输入规范不同,造成数据冲突或矛盾。缺乏有效的数据质量问题处理机制,数据质量问题从发现、指派、处理、优化没有一个统一的流程和制度支撑,数据质量问题无法闭环。缺乏有效的数据管控机制,对历史数据质量检查、新增数据质量校验没有明确和有效的控制措施,出现数据质量问题无法考核。
企业需要定义专门组织机构来管理数据,这是数据治理项目成功的最根本的保证。主要职责是两个层面:一是在制度层面,制定企业数据治理的相关制度和流程,并在企业内推广,融入企业文化。二是在执行层面,通过持续优化数据质量监控方法,为各项业务应用提供高可靠的数据。
7 数据交付服务
数据传输过程中经常会遇到由于数据接口本身存在问题、数据接口参数配置错误、网络不可靠等造成的数据质量问题。通过技术手段构建便于复制和定制接口的数据平台,如基于PaaS平台与微服务架构(Spring Cloud + Docker),通过微服务注册和发布供数与收数接口(HTTP),保证服务的高可用和灵活拓展。对于数据消费者,需要解决业务系统的各自为政及“数据烟囱”问题。通过技术手段的实现数据汇总,打通不同应用不同领域的数据壁垒,完成数据共享服务。
8 总结
本文主要介绍了数据治理过程中常见的数据质量问题与保障数据质量的策略与流程,同时也介绍了标准的设计原理与最终的应用方法。根据上述研究可以看出,保障数据质量是数据交付和分析的前提,技术实施的办法始终围绕保障数据质量的需求,从而保证了企业数据治理的最终落地。
附录
数据真实性:数据必须真实准确的反映客观的存在或真实的业务,真实可靠的原始统计数据是企业统计工作的基本要求,是经营者进行正确经营决策必不可少的第一手资料。
数据准确性:准确性也叫可靠性,是用于分析和识别哪些是不准确的或无效的数据,不可靠的数据可能会导致严重的问题,会造成有缺陷的方法和糟糕的决策。
数据唯一性:用于识别和度量重复数据、冗余数据。重复数据是导致业务无法协同、流程无法追溯的重要因素,也是数据治理需要解决的最基本的数据问题。
数据完整性:数据完整性问题包括:模型设计不完整,例如:唯一性约束不完整、参照不完整;数据条目不完整,数据记录丢失或不可用;数据属性不完整,数据属性空值。不完整的数据所能借鉴的价值就会大大降低,也是数据质量问题最为基础和常见的一类问题。
数据一致性:多源数据的数据模型不一致,命名不一致、数据结构不一致、约束规则不一致。数据不一致,数据编码不一致、命名及含义不一致、分类层次不一致、生命周期不一致等,相同的数据有多个副本的情况下的数据不一致、数据内容冲突的问题。
数据关联性:数据关联性问题是指存在数据关联的数据关系缺失或错误,函数关系、相关系数、主外键关系、索引关系等。存在数据关联性问题,会直接影响数据分析的结果,进而影响管理决策。
数据及时性:数据的及时性是指能否在需要的时候获到数据,数据的及时性与企业的数据处理速度及效率有直接的关系,是影响业务处理和管理效率的关键指标。