Much like Neo4J I blogged about recently, there is also CouchDB from Apache. CouchDB is a document database which isn’t a graph database like Neo4J, but what that exactly means I’m not sure yet – the purpose seem to overlap a fair bit. Both are aimed at the goal of no need to map objects to a relational schema and both claim to support the direct mapping of OO code to a DB entity. Additionally both have REST api’s.
At this early stage, I will probably say that the Graph DB (Neo4J) provides data about the relationships between nodes, whereas the document DB (CouchDB) is a collection of documents with an ID and named fields – ok that is not much different from Neo4J other than the associativity type, direction and properties aren’t specified and each record must have a unique ID in CouchDB)
Unlike Neo4J, CouchDB is licensed under Apache License V2 so uptake will probably be easier for a non-open source project to consider.
More info for CouchDB is available in their Intro and Overview pages on their site.
There was a recent BerlinBuzzwords conference which got mentions for interesting CouchDB and Neo4J talks. Many twitter peers who attended tweeted to the fact that the presentations were interesting though they arent yet up. The intent is that slides and vids should be up shortly for these. It also inspired the InfoQ article that suggested that Couch could be used as a Personal Database, something that SQLite prevoiusly gets top honours for.
If this is true, then CouchDB sounds like a suitable small database for development uses that can scale up quite easily to other types. The most important thing for me right now is that there is a Grails plugin to allow me to try it out. 🙂