„CouchDB“ – Versionsunterschied

aus Wikipedia, der freien Enzyklopädie
Zur Navigation springen Zur Suche springen
[gesichtete Version][ungesichtete Version]
Inhalt gelöscht Inhalt hinzugefügt
K Revert auf Version von Benutzer:AT (1. Jun. 2009, 22:47). Grund: keine Verbesserung des Artikels
Neu erstellt, da meiner meinung inzwischen relevant!
Zeile 1: Zeile 1:
CoucheDB ist toll<ref>http://chaosradio.ccc.de/cre125.html</ref>
<noinclude>{{Löschantragstext|tag=1|monat=Juni|jahr=2009|titel=CouchDB}}''Wurde bereits [[Wikipedia:Löschkandidaten/4._Februar_2008#CouchDB_.28gel.C3.B6scht.29{{!}}hier]] diskutiert und gelöscht. Ist nun wieder da und die enzyklopädische Relevanz ist erneut nicht dargestellt.'' [[Benutzer:AT|AT]] [[Benutzer Diskussion:AT|<small>talk</small>]] 22:47, 1. Jun. 2009 (CEST)


<references />
----</noinclude>
{{Infobox Software
| Name = Apache CouchDB
| Logo = [[Bild:Couchdb-logo.png|64px|logo]]
| Screenshot =
| Beschreibung = Datenbank
| Hersteller = [[Apache Software Foundation]]
| released = 2005
| AktuelleVersion = 0.9.0
| Programmiersprache = [[Erlang (Programmiersprache)|Erlang]]
| Betriebssystem = Linux, Unix, Mac OS X
| Sprache = English
| Deutsch = Nein
| Kategorie =
| Lizenz = [[Apache-Lizenz|Apache 2.0 Lizenz]]
| Website = [http://couchdb.org/ couchdb.org]
}}

'''Apache CouchDB''' ist eine [[Freie Software|freie]] [[Datenbank]], die unter der [[Apache-Lizenz|Apache 2.0 Lizenz]] veröffentlicht wird. CouchDB ist in [[Erlang (Programmiersprache)|Erlang]] geschrieben. Das Ziel von CouchDB ist es, mit einem einfachen Programmiermodell den Datenbankserver zu [[Skalierbarkeit|skalieren]] und ihn in [[Mehrkernprozessor|Multi-Core-]] und Multi-Server-Umgebungen einzusetzen.

CouchDB wurde ursprünglich von [[Damien Katz]] entwickelt. Nachdem er die CouchDB-Entwicklung für zwei Jahre selbst finanziert hat, wird er seit dem 1. Januar 2008 von [[IBM]]<ref>[http://damienkatz.net/2008/01/new_gig.html New Gig]</ref><ref>[http://jhingran.typepad.com/anant_jhingrans_musings/2008/01/damien-katz-and.html Damien Katz and CouchDB]</ref> unterstützt. Neben Damien Katz arbeiten zur Zeit vier weitere Committer aktiv an CouchDB.<ref>[http://incubator.apache.org/couchdb/community/committers.html Committers]</ref>

CouchDB wurde im Februar 2008 in den ''Incubator'' (zu Deutsch: Brutkasten) der [[Apache Software Foundation]] aufgenommen.<ref>[http://mail-archives.apache.org/mod_mbox/incubator-general/200802.mbox/%3c3d4032300802121136p361b52ceyfc0f3b0ad81a1793@mail.gmail.com%3e Apache mailing list announcement] on mail-archives.apache.org</ref> Bereits am 28. November 2007 wies die [[IANA]] CouchDB offiziell die Portnummer 5984 (tcp/upd) zu.<ref>[http://www.iana.org/assignments/port-numbers Port numbers]</ref>

== Im Vergleich zu anderen Datenbanken ==

CouchDB ist eine dokumentbasierte Datenbank und unterscheidet sich wie andere dokumentbasierte Datenbanken (z.B. [[Lotus Notes]]) grundlegend von [[Relationale Datenbank|relationalen Datenbanken]] (RDBM). Im Gegensatz zu diesen RDBMs speichert CouchDB die Daten nicht in Tabellen, Zeilen und Spalten, sondern verwaltet sie in Dokumenten, die aus [[JSON]]-Objekten bestehen (ältere Versionen von CouchDB benutzten [[XML]]).

Oft wird CouchDB mit spaltenorientierten Datenbanken verglichen, wie zum Beispiel [[Google]]s [[BigTable]]. CouchDB ist auch kein spaltenorientierter Speicher, da einzelne Dokumente innerhalb derselben Datenbank eine voneinander unterschiedliche Struktur besitzen können.

Im Gegensatz zu herkömmlichen Datenbanken werden Filter bei CouchDB parallel über [[MapReduce]] und nicht während der eigentlichen Abfrage abgearbeitet. Trotzdem können Abfragen (sogenannte ''[[Sicht (Datenbank)|views]]'') in CouchDB auch Funktionen enthalten, die während der Abfrage ausgeführt werden.

== Schnittstelle ==
Der Zugriff auf die Daten erfolgt bei CouchDB über eine [[Representational State Transfer|REST]]-[[HTTP]]-Schnittstelle. Da HTTP Entwicklern in vielen Programmiersprachen mit Bordmitteln zur Verfügung steht, gibt es bereits viele Bibliotheken und Klienten, die den Zugriff auf CouchDB erleichtern.<ref>[http://wiki.apache.org/couchdb/BasicsAll Bibliotheken und Klienten für CouchDB]</ref>

Zusätzlich bietet CouchDB eine [[Plug-in]]-Architektur, die es dem Nutzer erlaubt, weitere Funktionen hinzuzufügen. Diese Funktionen können zum Beispiel in [[JavaScript]] (Standard), [[PHP]], [[Perl]], [[Ruby (Programmiersprache)|Ruby]] oder [[Python (Programmiersprache)|Python]] geschrieben werden. Die Unterstützung für weitere Sprachen ist geplant.

== Produktiver Einsatz ==
Trotz der relativ niedrigen Versionsnummer wird CouchDB bereits produktiv eingesetzt. Eine Liste bekannter Projekte findet sich im CouchDB Wiki.

== Weblinks ==
* [http://incubator.apache.org/couchdb/ Offizielle Website von CouchDB] (englisch)
* [http://wiki.apache.org/couchdb/ Offizielles CouchDB Wiki] (englisch)
* [http://planet.couchdb.com/ Planet CouchDB] (englisch)

== Referenzen ==
<references/>

{{DEFAULTSORT:Couchdb}}
[[Kategorie:Datenbankmanagementsystem]]
[[Kategorie:Freie Software]]
[[Kategorie:Verteiltes System]]

[[en:CouchDB]]

Version vom 10. Juni 2009, 15:02 Uhr