Skip to content

Latest commit

 

History

12 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

NoSQL-Undo

NoSQL-Undo is 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.

System architecture of NoSQL-Undo

Currently NoSQL Undo only supports MongoDB, it is possible to extend it to support other NoSQL databases.

Getting Started

These instructions will get you a copy of the project up and running on your local machine for development and testing purposes. See deployment for notes on how to deploy the project on a live system.

Prerequisites

  • Install Maven before proceeding;
  • Make sure you have MongoDB installed in your system or, as an alternative, Docker.

Before starting NoSQL - Undo make sure you have a MongoDB instance running as MASTER this is required so that Mongo keeps operation logs to allow recovery.

You can run MongoDB locally with the --master option by executing this command:

mongod --master

Or via docker with the following command:

docker run --name mongoundo -p 27017:27017 -d mongo:3.2.1 mongod --master

Installing

Before running NoSQL-Undo execute the following command in the root of project:

mvn compile

Running NoSQL-Undo

To execute NoSQL Undo execute the following command:

mvn exec:java

This video show an example of how to recover a document:

System architecture of NoSQL-Undo

Built With

  • Maven - Dependency Management

Authors

  • David Matos - Development of the tool - GitHub

License

This project is licensed under the MIT License - see the LICENSE.md file for details

Acknowledgments

About

NoSQL-Undo is a prototype of a recovery tool that allows database administrators to remove the effect of undesirable actions by undoing operations, leading the database to a consistent state. NoSQL-Undo leverages the logging and snapshot mechanisms of NoSQL databases, and is able to undo operations as long as they are present in the logs. The curr…

Resources

Stars

2 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages