5 ms·
The blog states that git can be used as a database with version control. Does anyone know of a more optimised (document-oriented) database with version control?
by alexchamberlain 15y ago
The blog states that git can be used as a database with version control. Does anyone know of a more optimised (document-oriented) database with version control?
If not, is there an interest for one?
- throwaway191 15y agoCould you elaborate on what you mean by "document oriented db with version control"? Couch stores revision identifiers with every document ID, though old versions are subject to deletion whenever DB compaction occurs...
- alexchamberlain 15y agoEssentially, objects have the ability to be rolled back, forward etc. Support for messages attached to commits and transactional commits would be nice! An extensible user collection would also be nice, so app users are database users and vice versa.
- ericsink 15y agoVeracity has a database feature which might be what you are envisioning. (Disclosure: I am one of the developers of Veracity). But I would not describe it as document-oriented. It versions a collection of records with fields in the same way that regular version control manages a collection of directories and files, with support for history and changesets and push and pull.
- prostoalex 15y agoCouchDB? http://couchdb.apache.org/docs/intro.html http://couchdb.apache.org/docs/intro.html
- alexchamberlain 15y agoAs pointed out below, versions can be garbaged by an efficient Database administrator.
- kijin 15y agoI'm more interested in the "distributed" part of the story. Version control can be fitted into any database with a bit of hacking, but a distributed ACID database where you can commit to any node and merge with any other node sounds like a really interesting concept. Especially when combined with the fact that it is extremely difficult to forge git history without getting noticed, people could use something like git as a reliable, scalable, and censorship-resistant platform for data sharing and storage.
- alexchamberlain 15y agoI agree, but alternatively, we could study git and the lessons learnt there and design a distributable ACID database with version controlled data, extensible user collections and the performance of a more traditional database.
- vectorjohn 15y agoCouchdb keeps old versions of documents. And it is document oriented. So there's that.
- alexchamberlain 15y agoWe've dismissed CouchDB a couple of times...
- vectorjohn 15y agoNo we have not. No need to be an ass.
- alexchamberlain 15y agoI'm not a donkey. We have dismissed it as the versions are deleted during compaction and aren't replicated to other nodes. Hence, dismissed.
- vectorjohn 15y agoNo we have not. No need to be an ass.