<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>benjamin erhart &#187; Webapplikationen</title>
	<atom:link href="http://benjaminerhart.com/tag/webapplikationen/feed/" rel="self" type="application/rss+xml" />
	<link>http://benjaminerhart.com</link>
	<description>web &#38; mobile dev / it sec</description>
	<lastBuildDate>Wed, 01 Feb 2012 15:41:43 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>CouchDB &#8211; Abschied von der relationalen Datenbank</title>
		<link>http://benjaminerhart.com/2009/09/couchdb-abschied-von-der-relationalen-datenbank/</link>
		<comments>http://benjaminerhart.com/2009/09/couchdb-abschied-von-der-relationalen-datenbank/#comments</comments>
		<pubDate>Thu, 03 Sep 2009 15:02:30 +0000</pubDate>
		<dc:creator>tla</dc:creator>
				<category><![CDATA[Technik]]></category>
		<category><![CDATA[Apache]]></category>
		<category><![CDATA[CouchDB]]></category>
		<category><![CDATA[Datenbank]]></category>
		<category><![CDATA[dokumentbasiert]]></category>
		<category><![CDATA[Erlang]]></category>
		<category><![CDATA[MapReduce]]></category>
		<category><![CDATA[Webapplikationen]]></category>

		<guid isPermaLink="false">http://benjaminerhart.com/?p=83</guid>
		<description><![CDATA[

Als ich neulich die Chaosradio Folge zur CouchDB angehört habe, war es plötzlich völlig klar: All die Jahre sind einem klassische relationale Datenbanken wie MySQL, DB/2 oder Oracle beim Webapplikationsdesign eigentlich immer im Weg gestanden.

CouchDB geht völlig neue Wege: Sie speichert semistrukturierte Dokumente als JSON (JavaScript Object Notation) Datenstrukturen, nutzt HTTP als Zugriffsprotokoll und ...]]></description>
			<content:encoded><![CDATA[<p><a href="http://couchdb.apache.org/"><img class="alignright" title="CouchDB" src="/wp-content/uploads/2009/09/CouchDB.png" alt="CouchDB Logo" width="407" height="111" /></a></p>
<p>Als ich neulich die <a href="http://chaosradio.ccc.de/cre125.html">Chaosradio Folge zur CouchDB</a> angehört habe, war es plötzlich völlig klar: All die Jahre sind einem klassische relationale Datenbanken wie <a href="http://de.wikipedia.org/wiki/Mysql">MySQL</a>, <a href="http://de.wikipedia.org/wiki/IBM_DB2">DB/2</a> oder <a href="http://de.wikipedia.org/wiki/Oracle_(Datenbanksystem)">Oracle</a> beim Webapplikationsdesign eigentlich immer im Weg gestanden.<span id="more-83"></span></p>
<p>CouchDB geht völlig neue Wege: Sie speichert semistrukturierte <em>Dokumente</em> als <a href="http://www.json.org/">JSON</a> (JavaScript Object Notation) Datenstrukturen, nutzt HTTP als Zugriffsprotokoll und JavaScript zur Definition von Views (a.k.a. Indizes).</p>
<p>CouchDB ist komplett in <a href="http://de.wikipedia.org/wiki/Erlang_(Programmiersprache)">Erlang</a> geschrieben, einer funktionale Programmiersprache die in den 80ern bei Ericsson ursprünglich zur Steuerung von Telefonnetzen entwickelt wurde und dementsprechend starke Fokusierung auf Parallelität und Ausfallsicherheit hat.</p>
<p>Erlang wird selten verwendet, fällt jedoch in der Internetwelt immer wieder einmal postiv auf, wie z.B. beim <a href="http://www.ejabberd.im/">ejabberd</a>, einem freien Jabber Server für *NIX Systeme, bei dem ich aus eigener Erfahrung nur sagen kann: installieren und nie wieder dran denken müssen!</p>
<p>CouchDB ist innerhalb weniger Monate in den erlauchten Kreis der Apache Projekte aufgenommen worden, steht dementsprechend unter <a href="http://www.apache.org/licenses/LICENSE-2.0.html">Apache 2.0 Lizenz</a> (einer BSD-artigen, d.h. egal wo man sie verwendet, es wird sicher kein Lizenzproblem geben) und hat dort ihre Webheimat: <a href="http://couchdb.apache.org/">couchdb.apache.org</a></p>
<p>Was CouchDB darüber hinaus interessant macht: Es unterstützt Replikation über im Internet verstreute Datenbanken auf ganz einfache Art durch die Verwendung von <a href="http://de.wikipedia.org/wiki/Universally_Unique_Identifier">UUIDs</a>. Darüber hinaus liefert es eine vollständige Implementation der <a href="http://de.wikipedia.org/wiki/MapReduce">Map/Reduce</a> Idee.</p>
<p>CouchDB liegt momentan in der Version 0.9.1 vor. Es gibt ein distributionsabhängiges Binary zum herunterladen unter <a href="http://couchdb.apache.org/downloads.html">http://couchdb.apache.org/downloads.html</a> aber auch <a href="http://packages.debian.org/lenny/couchdb">Debian Packages für Lenny</a> und Ubuntu <a href="http://packages.ubuntu.com/jaunty/couchdb"><span lang="en" xml:lang="en">9.04 (</span></a><span lang="en" xml:lang="en"><a href="http://packages.ubuntu.com/jaunty/couchdb">Jaunty Jackalope)</a> </span>und einen <a href="http://www.macports.org/ports.php?by=name&amp;substr=couchdb">MacPort Port</a>. Wobei Debian/Ubuntu Packages noch auf Version 0.8.0 der CouchDB setzen.</p>
<p>Es gibt bereits Perl Module dafür (<a href="http://search.cpan.org/search/?query=CouchDB&amp;mode=all">CPAN</a>). Wenn man mit dem <a href="http://www.catalystframework.org/">Catalyst MVC Framework</a> arbeiten will, sind die wichtigsten wohl <a href="http://search.cpan.org/~rberjon/CouchDB-Client-0.04/lib/CouchDB/Client.pm">CouchDB::Client</a> und <a href="http://search.cpan.org/~rberjon/Catalyst-Model-CouchDB-0.01/lib/Catalyst/Model/CouchDB.pm">Catalyst::Model::CouchDB</a>.</p>
<p>Ich habe bereits ein wenig damit herumgespielt und bin schwer begeistert. Was mir noch abgeht, ist ein Authentication Store: Catalyst::Authentication::Store::CouchDB &#8211; ich bastle gerade daran herum, jedoch ist das noch etwas problembehaftet. Robin Berjon (der Entwickler von CouchDB::Client) kommt scheinbar mit dem <a href="http://rt.cpan.org/Public/Bug/Display.html?id=48407">Tempo der CouchDB Entwickler nicht nach&#8230;</a> Das API der CouchDB ändert sich an manchen Stellen doch noch des öfteren.</p>
<p>Mal sehen &#8211; vielleicht wird das mein erster Beitrag zum CPAN.</p>
<p class="wp-flattr-button"></p>]]></content:encoded>
			<wfw:commentRss>http://benjaminerhart.com/2009/09/couchdb-abschied-von-der-relationalen-datenbank/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

