The Community for Technology Leaders
Green Image
Data integration over multiple heterogeneous data sources has become increasingly important for modern applications. The integrated data is usually stored as materialized views to allow better access, performance, and high availability. In loosely coupled environments, such as the Data Grid, the data sources are autonomous. Hence, the source updates can be concurrent and cause erroneous results during view maintenance. State-of-the-art maintenance strategies apply compensating queries to correct such errors, making the restricting assumption that all source schemata remain static over time. However, in such dynamic environments, the data sources may change not only their data but also their schema. Consequently, either the maintenance queries or the compensating queries may fail. In this paper, we propose a novel framework called DyDa that overcomes these limitations and handles both source data updates and schema changes. We identify three types of maintenance anomalies, caused by either source data updates, data-preserving schema changes, or non-data-preserving schema changes. We propose a compensation algorithm to solve the first two types of anomalies. We show that the third type of anomaly is caused by the violation of dependencies between maintenance processes. Then, we propose dependency detection and correction algorithms to identify and resolve the violations. Put together, DyDa extends prior maintenance solutions to solve all types of view maintenance anomalies. The experimental results show that DyDa imposes a minimal overhead on data update processing while allowing for the extended functionality to handle concurrent schema changes.
View maintenance, view synchronization, view adaptation, concurrency control, view maintenance anomaly.

S. Chen, X. Zhang and E. A. Rundensteiner, "A Compensation-Based Approach for View Maintenance in Distributed Environments," in IEEE Transactions on Knowledge & Data Engineering, vol. 18, no. , pp. 1068-1081, 2006.
85 ms
(Ver 3.3 (11022016))