W-JAX 2009: CouchDB, die REST-basierte Datenbankalternative fürs WEB 2.0

couchdbDisclaimer: This entry has been written while listening to the talk. Please forgive me any typographical or grammatical errors resulting from this approach.

Frank Pientka from Materna, another company from Dortmund, will report about CouchDB as a document oriented databased optimized for REST access. Since QuinScape is employing Sven Helmberger, maintainer of the JCouchDB open source project and we recently had an internal TechTalk about CouchDB and JCouchDB I was looking forward to see what other companies are doing with this exciting new technology.

First we learned the acronym – “Cluster Of Unrealiable Commodity Hardware” – nice 🙂

Frank positions CouchDB as “a database for the cloud” being specialized on map-reduce as the main algorithm being used for queries. Additionally CouchDB is document-based. He cites Michael Stonebraker, one of the longtime DB gurus, as saying that a new era for databases is looming on the horizont.

For accessing CouchDB AJAX (or rather AJAJ – the last J meaning JSON) is being used.

Next he explains the map reduce approach to data storage and querying. The basic assumption is that there will be a of of read accesses and few writing accesses.

Frank warned that CouchDB still is a very young type of database – the data structures internally still change heavily. He thus warns against using CouchDB in production environments. CouchDB BTW is written in Erlang.

CouchDB positions itself as the AJAX based document repository for Web 2.0 applications. Couch DB supports ACID and provides replication mechanisms to support clustered scenarios. Internally CouchDB also uses automatic compression. Queries in CouchDB basically are views. All documents are unstructured – there is no schema. Versioning is provided automatically and offline features also are provided.

For installations Frank recommended either MacOS or Linux, Windows seems to be somewhat problematic due to the specific Erlang requirements.

Then Frank mentioned CouchDB4J as the Java based API to access CouchDB. I once again have to mentio JCouchDB which as far as I know is the more complete, more efficient and more advanced Java API for CouchDB.

In his conclusion Frank recommend to wait for the first production release to use CouchDB in projects but sees big potential. Current hurdles include few best practices, lacking documentation and very few attempts to achieve storage compatibility. As competitors he mentioned MongoDB and others (too fast for me to note them – go for the conference slides 😉 ). He also mentioned two upcoming books – “CouchDB in Action” and “CouchDB”. Again go for the conference slides for details or just visit Amazon.

Franks talk was yet another very interesting session, well done and to the point making very effective use of the available time slot. Thanks!

Comments are closed.