Proactive Detection and Repair of Data Corruption: Towards a Hasslefree Declarative Approach With Amulet
Occasional corruption of stored data is an unfortunate byproduct of the complexity of modern systems. Hardware errors, software bugs, and mistakes by human administrators can corrupt important sources of data. The dominant practice to deal with data corruption today involves administrators writing ad hoc scripts that run data-integrity tests at the application, database, file-system, and storage levels. This manual approach, apart from being tedious and error-prone, provides no understanding of the potential system unavailability and data loss if a corruption were to occur. The authors have developed the Amulet system that can verify the correctness of stored data proactively and continuously.