早上联系到林同学,这厮除了骄傲地告诉俺他的论文答辩社会实践各等成绩校三好等破事外,重点知道了他目前在做关于数据质量控制的研究,并且下决心搞出点成绩。他的课题正好和俺目前做的事非常相似,我也是一有时间就想啊想,可惜没有他那样的学术环境,琢磨出的东西毕竟没有他写的有条理。
        数据质量不高,有人简单地以为数据是错误的,数据不可用。其实数据质量问题比较复杂,不能用简单的对错来区分。简单的说,评价数据质量的唯一标准就是看它是否能够满足应用需求。
        在实现企业信息化的过程中,大家最常挂在嘴边的一句话是“三分技术、七分管理、十二分数据”,以此来表达对数据的高度重视。数据可以说是一个企业的血液,随着企业运作,不断流动,流动着的数据本身也不是静止的,它随着数据的采集和使用不断变换着,数据产品的生产涉及企业的方方面面,所以解决数据质量问题必须站在企业级的高度进行。例如,企业中普遍存在的客户数据问题,就需要将存在于不同部门不同系统中的关于客户的历史数据进行分析匹配,从而得到关于客户详细、全面、一致而不重复的信息,并将其存储到企业统一的中央客户数据库中。为此,需要在企业的信息化过程中引入数据质量智能分析,并对企业数据进行改善,最终达到最大程度利用系统的目的。
在系统运行过程中,及早发现和纠正数据问题可大大降低成本和失败的风险。很多企业缺乏数据质量监督管理措施。在企业信息系统建设中,往往在业务流程上倾注过多的精力,人们更关心“这些数据应该往哪里去,应该由谁处理它”,对于提高数据的质量不够重视,数据只不过是信息处理过程中产生的“副产品”。与物理产品不同,数据产品作为一种特殊的资源存在于企业中,它不可消耗、可以在不同的系统不同的用户之间传递和共享、可以复制和更新。但是它又是脆弱的,极易遭到破坏,数据不一致、重复、过时等都是常见的质量问题,而且企业环境的动态变换也造成了数据的不稳定性,所以数据质量问题是极其复杂的。

        由于没有科学的数据质量控制措施,有些企业为了提高数据质量,投入了大量的人力、物力,尽管数据质量有了一定的改善,但投入的成本与产出不相符。
        目前还没有系统化的数据质量评估指标,数据质量评估往往只针对系统中比较重要的质量指标,如一致性问题、完整性问题、复杂性问题等。这已有实际使用的产品,这些产品可以对数据完整性进行严格的检查,包括实体完整性、引用完整性、域完整性和用户自定义完整性的检查。
传统的数据质量保障方法是在数据仓库对象中,加入对数据质量进行保障的程序段,通过过程和函数保证数据的质量,再或者就是在数据库中加入相应的约束,触发器及预存储过程。
目前,还有一种比较好的方法可以保证数据质量,即双工输入比较法。就是将同一批数据由两个输入人员在不同的时间和不同的终端上分别录入,并且形成两个临时数据库文件,然后由第三个人在程序的作用下对两个库文件中的数据进行逐项比较并进行确认或修改。在这种方法中,尽管同一批数据被录入了两次从而造成了数据冗余和影响了录入进度,但对于对输入数据的正确性要求很高的场合,是一种不可缺少的和行之有效的方法,因为,两个数据录入者都同时在某处出错的机会极少,故这种方法可以极大地减少出错率。

        但是对于数据录入的不规范,导致数据的重复录入,目前还有没有很好的解决办法。
同时,目前还没有很好的能够自主监控,并及时反馈数据质量的状况。
重点与难点
1) 对于录入不规范的数据如何在进入系统之前进行合理的处理并转化统一规范的数据。
2) 对于多数据源合并到一个系统时,如何通过预处理之后再进入使用的数据库(数据仓库)。
3) 对于重复(类似)的数据,采用合理的算法进行处理,清除(检索出)重复数据。
4) 如何动态控制数据的质量要求的规则库,使系统能够根据具体的需要灵活设定数据质量要求的规则,这样既能满足系统的需要,又能减少数据录入及监测的成本。
5) 设计一套系统化的数据质量评价体系,定期对数据进行质量评价,及时采取解决措施。
6) 设计一套方案可以自主监测不符合要求的数据质量,降低人为监测数据质量的成本,使不符合要求的数据质量尽早暴露。
 
        关于4、5、6几点,俺目前对他的研究成果保持观望,对于1、2、3点,保持极大的兴趣。期待下文。
根据他的提纲,我也来写点东西,也是对这一期工作的思考小结。