NoSQL Undo: Recovering NoSQL Databases by Undoing Operations

TitleNoSQL Undo: Recovering NoSQL Databases by Undoing Operations
Publication TypeConference Paper
Year of Publication2016
AuthorsMatos D, Correia M
Conference NameThe 15th IEEE International Symposium on Network Computing and Applications (NCA 2016)
Date Published31 October-2 Nov
PublisherIEEE Computer Society
Conference LocationCambridge, MA USA
Accession Number16526377

NoSQL databases offer high throughput, support for huge data structures, and capacity to scale horizontally at the expense of not supporting relational data, ACID consistency and a standard SQL syntax. Due to their simplicity and flexibility, NoSQL databases are becoming very popular among web application developers. However, most NoSQL databases only provide basic backup and restore mechanisms, which allow recovering databases from a crash, but not to remove undesired operations caused by accidental or malicious actions. To solve this problem we propose NOSQL UNDO, a recovery approach and tool that allows database administrators to remove the effect of undesirable actions by undoing operations, leading the system to a consistent state. NOSQL UNDO leverages the logging and snapshot mechanisms built-in NoSQL databases, and is able to undo operations as long as they are present in the logs. This is, as far as we know, the first recovery service that offers these capabilities for NoSQL databases. The experimental results with MongoDB show that it is possible to undo a single operation in a log with 1,000,000 entries in around one second and to undo 10,000 incorrect operations in less than 200 seconds.