bloginfo('name');

bloginfo('description');

CouchDB – Machen Sie sich es erst einmal gemütlich!

März 22nd, 2007 by Blu:RayNe

CouchDB bietet eine RESTful Datenbank, die über HTTP angesprochen werden kann. D.h. man erhält mit Anfragen wie GET, PUT, POST und DELETE eine einfache Möglichkeit eine Datenbank anzusprechen.

Herausragend ist hierbei natürlich die Einfachheit.

Zwar vermisse ich XPath- oder XQuery-ähnlich Anfragen, dafür bietet aber eine CouchDB eine SQL-like Syntax. Insgesamt kann gesagt werden, dass sich die Datenbank in Zukunft vielleicht zu einer erst zu nehmenden Alternative für LDAP herauskristallisiert.

Anwendungszwecke sehe ich als Authentifizierungs-Datenbank, wohl aber auch als Dokumenten-Management oder -Storage (inkl. Revision Control), sowie als generelle Ablage für Office-relevante Dinge wie E-Mails, Kontakte usw. (obwohl ja da CalDAV da auch schon ein netter Ansatz ist).

Eine Einführung in CouchDB in PHP gibt es hier.

Die Frage bleibt nur, warum wieder mal alles via HTTP zu funktionieren hat, inwieweit die Sicherheit berücksichtigt wurde, und inwiefern die Entwickler versuchen wollen die Performance zu steigern. Zu mindestens ein sehr interessantes Projekt.

Kommentar: Tja, und wann schafft man es endlich einen gemeinsamen OS-Standard für E-Mail, Kalender, Kontakte usw. zu schaffen? Ich will auf Mozilla Thunderbird, Lightning und CouchDB in Zukunft hoffen…

Filed under Allgemein, Datenbanken having 3 Comments »

3 Responses

  1. Jan says:

    Moin,
    danke fuer den positiven Artikel ueber CouchDb!
    Ich wuerde hier gerne ein paar Dinge klarer stellen, als sie sind:

    a) CouchDb kann _nicht_ ueber DAV angesprochen werden. Es gibt ausschliesslich ein REST interface.

    b) CouchDb ist _nicht_ XML basiert. Bisher bekommt man seine Anfragen zwar in XML zurueck, aber es handelt sich dabei nur um einen Datenaustauschcontainer. Deswegen gibt es auch keine XPath/XQuery aehnlichen Dinge.

    c)Hierachisch ist CouchDb auch nicht. Im Gegenteil. CouchDb verwaltet Datenbanken in denen, ungeordnet, einfach Dokumente liegen. Mit einer Hierarchie hat das nicht vel zu tun.

    d) Anwendungszwecke sind so unterschiedliche wie Anwendungen. Sicher kann CouchDb als Authentifizierungsdatenbank dienen und fuers Dokumentenmanagement (mit eingbauter revision control) ist es besonders gut geeignet, jedoch ist man, wie bei traditionalen Datenbanken auch, nicht eingeschraenkt, irgendetwas zu machen.

    e) Eine Alternative zu LDAP scheint mir etwas vorbei an der Idee.

    f) Die Antwort auf die HTTP Frage ist die: HTTP skaliert _extrem_ gut (man zeige das Gegenteil) und es gibt Tools in allen Sprachen und diverse Hilfsmittel (Proxies, Accelerator etc..)

    e) Die Performance ist fuer Alpha-Software schon beeindruckend. Bei einfachen Tests koennen wir mit concurrent read- und writes die Festplatten auslasten ohne dass die CPU ins Schwitzen kaeme.

    f) Email ist seit 1982 “OS Standard” (http://www.faqs.org/rfcs/rfc822.html)

    g) Fuers Kalendern gbt es iCal und fuer Kontake vCard, das sind auch alles Microformats. Ist alles da und wird genutzt.

    h) Fabric (CouchDbs Abfragesprache) ist _nicht_ SQL-aehnlich. Schon deshalb, weil in CouchDb Daten per Definition nicht in Relation zueinander verwaltet werden.

    Siehe auch http://www.couchdbwiki.com/index.php?title=CouchDb_Quick_Overview

    Trotzdem, vielen Dank nochmal, fuer die Positive Presse!

    Jan

  2. Blu:RayNe says:

    Ich habe im Artikel an paar Änderungen vollzogen und denke, ich werde mir mal die CouchDB nochmal genauer ansehen.

    Gibt es von der Präsentation bei der PHP UG Dortmund vielleicht mittlerweile eine Bildschirmpräsentation?

  3. Jan says:

    Die Folien, die ich verwendet habe, enthalten nur Stichworte in denen wesentlich weniger steht, als zum Beispiel im WIki. Ich empfehle zur Lektuere:

    http://www.couchdbwiki.com/index.php?title=Technical_Overview

    http://www.couchdbwiki.com/index.php?title=Why_CouchDb

    http://www.couchdbwiki.com/index.php?title=CouchDb_FAQ

    http://www.couchdbwiki.com/index.php?title=CouchDb_Quick_Overview

    Gruesse,
    Jan

Leave a Comment

XHTML: You can use these tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Please note: Comment moderation is enabled and may delay your comment. There is no need to resubmit your comment.