<?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; CouchDB</title>
	<atom:link href="http://benjaminerhart.com/tag/couchdb/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 0.9 auf Debian Lenny</title>
		<link>http://benjaminerhart.com/2009/10/couchdb-0-9-auf-debian-lenny/</link>
		<comments>http://benjaminerhart.com/2009/10/couchdb-0-9-auf-debian-lenny/#comments</comments>
		<pubDate>Sat, 03 Oct 2009 21:15:43 +0000</pubDate>
		<dc:creator>tla</dc:creator>
				<category><![CDATA[Technik]]></category>
		<category><![CDATA[CouchDB]]></category>
		<category><![CDATA[Debian]]></category>
		<category><![CDATA[Installationsanleitung]]></category>

		<guid isPermaLink="false">http://benjaminerhart.com/?p=200</guid>
		<description><![CDATA[Debian Lenny hat die CouchDB bereits im Package System, allerdings nur in Version 0.8. Da sich in der 0.9er u.a. die API für die Design Dokumente leicht geändert hat und diese Änderung bereits in die neuesten Wrapper eingeflossen sind (wie z.B. PHPillow, und inzwischen auch die Version 0.10 veröffentlicht wurde, ist es keine gute ...]]></description>
			<content:encoded><![CDATA[<p>Debian Lenny hat die CouchDB bereits im Package System, allerdings nur in Version 0.8. Da sich in der 0.9er u.a. die API für die Design Dokumente leicht geändert hat und diese Änderung bereits in die neuesten Wrapper eingeflossen sind (wie z.B. <a href="http://arbitracker.org/phpillow.html">PHPillow</a>, und inzwischen auch die Version 0.10 veröffentlicht wurde, ist es keine gute Idee mehr, noch auf 0.8 eine neue Entwicklung zu starten.</p>
<p>Aus dem Grund muß wohl selbst Hand angelegt werden.<br />
<span id="more-200"></span><br />
Für eine 0.9er Version hat freundlicherweise schon jemand Vorarbeit geleistet:</p>
<p><a href="http://hostingfu.com/article/building-couchdb-0-9-debian-5">http://hostingfu.com/article/building-couchdb-0-9-debian-5</a></p>
<p>Um das Problem der fehlenden Abhängigkeiten möglichst auf einmal zu erschlagen, installieren wir der Einfachheit halber doch erst einmal die 0.8er Version und löschen sie anschließend gleich wieder:<br />
<code><br />
$ sudo su<br />
# apt-get install couchdb<br />
# apt-get remove couchdb<br />
</code><br />
Wir überprüfen noch einmal, ob das Ding wirklich weg ist, da Erlang (die Programmiersprache, in der CouchDB programmiert ist) ja dafür bekannt ist, extrem stabil zu sein:<br />
<code><br />
# ps aux | grep couch<br />
couchdb   9751  0.0  0.0  11948   304 ?        S    Sep26   0:00 /bin/sh -e /usr/bin/couchdb -c /etc/couchdb/couch.ini -b -r 5 -p /var/run/couchdb.pid -o /dev/null -e /dev/null -R<br />
couchdb   9761  0.0  0.0  11956    88 ?        S    Sep26   0:00 /bin/sh -e /usr/bin/couchdb -c /etc/couchdb/couch.ini -b -r 5 -p /var/run/couchdb.pid -o /dev/null -e /dev/null -R<br />
couchdb   9762  0.1  0.9  70924  3008 ?        Sl   Sep26  11:44 /usr/lib/erlang/erts-5.6.3/bin/beam -Bd -- -root /usr/lib/erlang -progname erl -- -home /var/lib/couchdb -noshell -noinput -smp auto -sasl errlog_type error -pa /usr/lib/couchdb/erlang/lib/couch-0.8.0-incubating/ebin /usr/lib/couchdb/erlang/lib/mochiweb-r76/ebin -eval application:load(inets) -eval application:load(crypto) -eval application:load(couch) -eval crypto:start() -eval inets:start() -eval couch_server:start(), receive done -> done end. -couchini /etc/couchdb/couch.ini -pidfile /var/run/couchdb.pid -heart<br />
couchdb   9767  0.0  0.0   3640   236 ?        Ss   Sep26   0:00 heart -pid 9762 -ht 11<br />
root     23297  0.0  0.2   8376   836 pts/0    R+   22:50   0:00 grep couch<br />
</code><br />
Alle Prozesse löschen mit<br />
<code><br />
kill [Prozess-ID]<br />
</code><br />
Dem 0.9er Packet fehlen dann noch zwei Abhängigkeiten:<br />
<code><br />
# apt-get install libjs-jquery<br />
# apt-get install libcurl3<br />
</code><br />
Jetzt noch das Paket laden und installieren:<br />
<code><br />
# wget http://hostingfu.com/files/couchdb/couchdb_0.9.0-2_amd64.deb<br />
# dpkg -i couchdb_0.9.0-2_amd64.deb<br />
</code><br />
Fertig!</p>
<p class="wp-flattr-button"></p>]]></content:encoded>
			<wfw:commentRss>http://benjaminerhart.com/2009/10/couchdb-0-9-auf-debian-lenny/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<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>

