关系数据库中可能存在数据不一致性现象,关系数据库数据质量的一个主要问题是存在违反函数依赖情况.为找出不一致数据,需要进行函数依赖冲突检测.集中式教据库中可以通过SQL技术检测不一致情况,尽管检测效率不高;而分布式环境下不一致性检测更富有挑战性,不仅需要考虑数据的迁移,检测任务如何分配也是一个难题.在大数据背景下,上述问题更加突出.提出了一种分布式环境单函数依赖不一致性检测方法,给出了不一致性检测响应时间代价模型.为减少数据迁移量和响应时间,基于等价类对待检测数据进行预处理.由于分布式环境不一致性检测问题为NP.hard问题,多项式时间内难以得到最优解,给出了代价模型的多项式时间3/2。近似最优解提出了一种分布式环境多函数依赖不一致性检测方法,基于最小集合覆盖理论,通过一次数据遍历,对多个函数依赖进行并行批检测,同时考虑检测过程中的负载均衡等问题.在真实和人工数据集上的实验表明:相对于传统的检测方法以及基于Hadoop的Naive方法,所提出的检测方法检测效率有明显的提升,且扩展性能良好.
Data inconsistency may exist in relational database. One major problem of data quality in relational database is functional dependency violation. To find out inconsistent data in a relational database, people need to detect the functional dependency violations. It is easy to detect dependency violations in centralized databases via SQL-based techniques, although the detection efficiency is not high. However, it is far more challenging to check inconsistencies in distributed databases, not only data shipment needs to be considered, but also the distribution of detecting tasks is a conundrum. These problems are more prominent with big data. This paper proposes a novel single functional dependency inconsistency detection approach in distributed big data, and provides a cost model of inconsistency detection. To reduce data shipment and response time, distributed data are pretreated based on equivalence class. Considering that the inconsistency detection problem is NP-hard, that is impossible to find an optimal solution in polynomial time, this work provides a 3/2-approximate optimal solution. A multiple functional dependencies detection approach is developed for distributed big data based on the minimal set cover theory. This approach allows detecting multiple functional dependencies violations in parallel after one-time data traversal, and it also incorporates load balancing in the detecting process. Experiments on real-world and generated datasets demonstrate that compared with previous detection methods and Naive method based on Hadoop framework, the presented approach is more efficient and is scalable on big data.