HeroDB - Managing Data Like Source


Details
We'll discuss HeroDB, a key/value database that Yieldbot developed that has been in use in production for about a year for all configuration data. HeroDB is built on top of git and keeps perfect history on all operations, can be set to any previous state, self contains a history of all operations, etc.
Since we can navigate, access, and modify a filesystem view of the data with standard git and filesystem tools, all of our developers are able to be database administrators.
Get a local copy of the database?
$ git clone user@databaseserver:/datapath/db.git
Get most recent changes to local view?
$ git pull
Get a log of all modifications?
$ git log
$ gitk
Start looking at data?
$ ls
Reset to last known good state?
$ git reset --hard
Undo someone's configuration change?
$ git revert
Put changes into production?
$ git push


HeroDB - Managing Data Like Source