A Framework for Checking Integrity Constraints in a Distributed Database
Ali Amer Alwan1, Hamidah Ibrahim2, Nur Izura Udzir3 Department of Computer Science Faculty of Computer Science and Information Technology Universiti Putra Malaysia, 43400 Serdang, Malaysia 1 firstname.lastname@example.org,email@example.com, firstname.lastname@example.org Abstract
The essential aim of a database system is to guarantee database consistency, which means that the data contained in a database is both accurate and valid. Checking the consistency of a database state generally involves the execution of integrity tests (query that returns the value true or false) on the database, which verify whether the database is satisfyingits constraints or not. The process of checking integrity constraints has proved to be extremely difficult to implement, particularly in distributed database. This paper proposed a framework for checking integrity constraints in a distributed database by utilizing as much as possible the local information stored at the target site. The proposed framework consists of two main processes, namely: (i)simplify the integrity constraints to produce support tests and integrate them with complete and sufficient tests and (ii) select the most suitable test from several alternative tests when an update operation is submitted to the system. Including these processes in the proposed framework has optimized the process of checking the consistency of the distributed database by reducing the amount ofdata transferred across the network, the amount of data accessed, the number of sites involved, and the number of integrity constraints to be evaluated. integrity tests on the database which verify whether the database is satisfying its constraints or not. The growing complexity of modern database applications plus the need to support multiple users has further increased the need for a powerfulintegrity subsystem to be incorporated into these systems. Therefore, a complete integrity subsystem is considered to be an important part of any modern DBMS. The crucial problem in designing this subsystem is the difficulty of devising an efficient algorithm for enforcing database integrity against updates. Thus, it is not surprising that much attention has been paid to the maintenance of integrityin centralized databases. A naïve approach is to perform the update and then check whether the integrity constraints are satisfied in the new database state. This method, termed brute force checking, is very expensive, impractical and can lead to prohibitive processing costs. Enforcement is costly because the evaluation of integrity constraints requires assessing large amounts of data, which arenot involved in the database update transition. Hence, improvements to this approach have been reported in many research papers [5, 10, 11, 12, 13]. The brute force strategy of checking constraints is worse in the distributed context since the checking would typically require data transfer as well as computation leading to complex algorithms to determine the most efficient approach. Allowing anupdate to execute with the intension of aborting it at commit time in the event of constraints violation is also inefficient since rollback and recovery must occur at all sites which participated in the update. Moreover, devising an efficient algorithm for enforcing database integrity against update is extremely difficult to implement and can lead to prohibitive processing costs in a distributedenvironment [3, 6]. A comprehensive survey on the issues of constraint checking in centralized, distributed and parallel databases is provided in [2, 6]. This paper presents a framework for checking integrity constraints in a distributed database. This framework consists of two modules, namely: COMPILE-TIME module and RUN-TIME module.
A database state is said to be consistent if...