CosmoCode
  • Great software.

  • Bright people.

  • Happy customers!

CosmoCode GmbH
  • Home
  • Skills
  • About Us
  • References
  • Blog
  • Open Source
←
All blogposts
→

Apache CouchDB

The ApacheCon sessions in Amsterdam I was most interested in where the two tracks about CouchDB - held by Chris Anderson and Jan Lehnardt. CouchDB is a schema-free database for JSON-Objects, adressed mainly to store documents. Its main purpose is its high performance and that its highly replicatable. You can setup topologies as you like: master-slave as well as multi-master; updates can be performed using push and pull.

Detlef Hüttemann, 03/28/2009 3:13 p.m.

 

Because you're not limited in building your topology, it is highly applicable for clusters - as well as for offline apps: You can use an offline version of your CouchDB, and when getting online again the data will be synched with the master(s) on the net (a bit like Google Gears). This will become extremly useful especially for wikis and other collaboration tools. (Jan Lehnardt told me that a CouchDB-based wiki is in preparation; I am looking forward to see it listed on wikimatrix).

The JSON-objects are just stored in b-trees using key→value (where value is the complete document); there are no SQL-like querymethods. But there are views, which aren't evaluated on-the-fly: the view-related data is stored in the DB, too. This smells a bit like materialized views in Oracle, but CouchDB is better: the views are updated only when the affected documents are changed.

Anyway, managing data is quite different from RDBMS, and you have to develop different approaches when using CouchDB. Because JSON is a native Ajax format, web browsesr can directly connect to CouchDB. Because CouchDB can manage binary data and render html directly, its possible to write wep apps completely driven by CouchDB (a wiki for example). A propos rendering html: this is done in constant memory (besides of that CouchDB already has a very low memory footprint); in contrast: if you put a separate presentation layer on top, you usually have to buffer all the content gathered (to compose the layout). I understand that writing complete webapp apps in CouchDB is fun and a good proof of concept, but I think that won't address commercial environments, where CouchDB must find its place in the existing business environment.

CouchDB is a very interesting technology; it has the power to become a fundamental part in web architectures - as lucene did years before.

Read more

  • ApacheCon Amsterdam 2009; first impressions

Contact

Thank you for your interest!
Get in contact:

CosmoCode GmbH

Prenzlauer Allee 36G
10405 Berlin

Phone: +49 30 814 50 40 70

Fax: +49 30 2809 7093


mail: info@cosmocode.de

CosmoCode GmbH  
   

© CosmoCode 2021 | Imprint | Data Privacy | Cookies verwalten

Close
Deutsch English
  • Jobs