<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	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/"
		>
<channel>
	<title>Comments on: CouchDB Performance</title>
	<atom:link href="http://www.gabrielelana.it/archives/131/feed" rel="self" type="application/rss+xml" />
	<link>http://www.gabrielelana.it/archives/131</link>
	<description>on Agile Methodologies and Programming</description>
	<lastBuildDate>Wed, 08 Feb 2012 18:03:56 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>By: Gabriele Lana</title>
		<link>http://www.gabrielelana.it/archives/131/comment-page-1#comment-3934</link>
		<dc:creator>Gabriele Lana</dc:creator>
		<pubDate>Mon, 01 Mar 2010 11:53:44 +0000</pubDate>
		<guid isPermaLink="false">http://www.gabrielelana.it/?p=131#comment-3934</guid>
		<description>@markux Si negli ultimi mesi li ho usati entrambi (per progetti diversi ovviamente) purtroppo ho tratto una conclusione poco pratica: sono due storage &quot;special purpose&quot;, ovvero molto adatti per determinati tipi di progetti e poco adatti per altri, per sapere se sono o meno adatti al tuo progetto li devi conoscere, a questo proposito ho pubblicato una presentazione su slideshare (&lt;a href=&quot;http://www.slideshare.net/gabriele.lana/couchdb-vs-mongodb-2982288&quot; rel=&quot;nofollow&quot;&gt;couchdb-vs-mongodb&lt;/a&gt;)</description>
		<content:encoded><![CDATA[<p>@markux Si negli ultimi mesi li ho usati entrambi (per progetti diversi ovviamente) purtroppo ho tratto una conclusione poco pratica: sono due storage &#8220;special purpose&#8221;, ovvero molto adatti per determinati tipi di progetti e poco adatti per altri, per sapere se sono o meno adatti al tuo progetto li devi conoscere, a questo proposito ho pubblicato una presentazione su slideshare (<a href="http://www.slideshare.net/gabriele.lana/couchdb-vs-mongodb-2982288" rel="nofollow">couchdb-vs-mongodb</a>)</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: markux</title>
		<link>http://www.gabrielelana.it/archives/131/comment-page-1#comment-3914</link>
		<dc:creator>markux</dc:creator>
		<pubDate>Thu, 11 Feb 2010 23:45:49 +0000</pubDate>
		<guid isPermaLink="false">http://www.gabrielelana.it/?p=131#comment-3914</guid>
		<description>ciao, ottimo articolo... hai provato anche mongoDB?  da questi test e dalla documentazione mi sembra + completo, anche per sostituire un relazionale in molti applcativi

http://www.snailinaturtleneck.com/blog/?p=74</description>
		<content:encoded><![CDATA[<p>ciao, ottimo articolo&#8230; hai provato anche mongoDB?  da questi test e dalla documentazione mi sembra + completo, anche per sostituire un relazionale in molti applcativi</p>
<p><a href="http://www.snailinaturtleneck.com/blog/?p=74" rel="nofollow">http://www.snailinaturtleneck.com/blog/?p=74</a></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Andrea</title>
		<link>http://www.gabrielelana.it/archives/131/comment-page-1#comment-3913</link>
		<dc:creator>Andrea</dc:creator>
		<pubDate>Thu, 28 Jan 2010 11:08:12 +0000</pubDate>
		<guid isPermaLink="false">http://www.gabrielelana.it/?p=131#comment-3913</guid>
		<description>Ciao, conosci un progetto di Database Documentale interamente scritto in c#? Grazie.</description>
		<content:encoded><![CDATA[<p>Ciao, conosci un progetto di Database Documentale interamente scritto in c#? Grazie.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Gabriele Lana</title>
		<link>http://www.gabrielelana.it/archives/131/comment-page-1#comment-3907</link>
		<dc:creator>Gabriele Lana</dc:creator>
		<pubDate>Mon, 26 Oct 2009 17:23:52 +0000</pubDate>
		<guid isPermaLink="false">http://www.gabrielelana.it/?p=131#comment-3907</guid>
		<description>@Franco
1) Per CouchDB mi sono organizzato io, le funzioni in javascript le testo unitariamente e poi le assemblo automaticamente prima del deployment (lo faccio con rake), in più faccio dei test end-to-end del database caricando dei documenti ad-hoc e verificando che l&#039;output è quello atteso (lo faccio con rspec)
2) Sicuramente meno dispersa rispetto a quello che avviene di solito, visto che il linguaggio è unico e che il client può controllare direttamente tutto del server, compresa la creazione al volo delle view (ovviamente scritte in javascript)</description>
		<content:encoded><![CDATA[<p>@Franco<br />
1) Per CouchDB mi sono organizzato io, le funzioni in javascript le testo unitariamente e poi le assemblo automaticamente prima del deployment (lo faccio con rake), in più faccio dei test end-to-end del database caricando dei documenti ad-hoc e verificando che l&#8217;output è quello atteso (lo faccio con rspec)<br />
2) Sicuramente meno dispersa rispetto a quello che avviene di solito, visto che il linguaggio è unico e che il client può controllare direttamente tutto del server, compresa la creazione al volo delle view (ovviamente scritte in javascript)</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Franco Lombardo</title>
		<link>http://www.gabrielelana.it/archives/131/comment-page-1#comment-3906</link>
		<dc:creator>Franco Lombardo</dc:creator>
		<pubDate>Mon, 26 Oct 2009 15:51:52 +0000</pubDate>
		<guid isPermaLink="false">http://www.gabrielelana.it/?p=131#comment-3906</guid>
		<description>Alcuni miei dubbi su map-reduce inglobate nel repository dei dati:
1) Come si fa a testarne la logica?
2) La logica applicativa non risulta dispersa (e magari duplicata) parte nel repository e parte nel programma &quot;client&quot;?

Grazie

Ciao

Franco</description>
		<content:encoded><![CDATA[<p>Alcuni miei dubbi su map-reduce inglobate nel repository dei dati:<br />
1) Come si fa a testarne la logica?<br />
2) La logica applicativa non risulta dispersa (e magari duplicata) parte nel repository e parte nel programma &#8220;client&#8221;?</p>
<p>Grazie</p>
<p>Ciao</p>
<p>Franco</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Gabriele Lana</title>
		<link>http://www.gabrielelana.it/archives/131/comment-page-1#comment-3905</link>
		<dc:creator>Gabriele Lana</dc:creator>
		<pubDate>Mon, 26 Oct 2009 09:48:33 +0000</pubDate>
		<guid isPermaLink="false">http://www.gabrielelana.it/?p=131#comment-3905</guid>
		<description>@Franco penso che ogni tecnologia ha la sua applicabilità, è la forza/condanna di strumenti come VisualBasic e Access, il mondo ha iniziato ad utilizzarli per quello che non erano, la Microsoft ha iniziato a trasformarli in ciò che non dovevano essere, alla fine sono diventati qualcosa di talmente bacato e complesso da scatenare l&#039;odio da parte delle persone. Couchdb ad oggi ha il potenziale per poter risolvere in maniera semplice ed elegante una certa classe di problemi, facendo anche la scelta di usare javascript sia per il cliente che per il server, l&#039;unica cosa per il momento è aspettare e vedere come lo faranno evolvere :-)

Nota: rispetto alle stored procedures il modello di CouchDB è assai più elegante, l&#039;unica astrazione esistente è il documento, un documento può essere dato o procedura, nulla vieta di processare le procedure come dati per produrre dati o procedure, so che può sembrare complesso, in realtà rende il tutto molto semplice una volta che hai compreso i &lt;strong&gt;pochi&lt;/strong&gt; concetti di base</description>
		<content:encoded><![CDATA[<p>@Franco penso che ogni tecnologia ha la sua applicabilità, è la forza/condanna di strumenti come VisualBasic e Access, il mondo ha iniziato ad utilizzarli per quello che non erano, la Microsoft ha iniziato a trasformarli in ciò che non dovevano essere, alla fine sono diventati qualcosa di talmente bacato e complesso da scatenare l&#8217;odio da parte delle persone. Couchdb ad oggi ha il potenziale per poter risolvere in maniera semplice ed elegante una certa classe di problemi, facendo anche la scelta di usare javascript sia per il cliente che per il server, l&#8217;unica cosa per il momento è aspettare e vedere come lo faranno evolvere :-)</p>
<p>Nota: rispetto alle stored procedures il modello di CouchDB è assai più elegante, l&#8217;unica astrazione esistente è il documento, un documento può essere dato o procedura, nulla vieta di processare le procedure come dati per produrre dati o procedure, so che può sembrare complesso, in realtà rende il tutto molto semplice una volta che hai compreso i <strong>pochi</strong> concetti di base</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Gabriele Lana</title>
		<link>http://www.gabrielelana.it/archives/131/comment-page-1#comment-3904</link>
		<dc:creator>Gabriele Lana</dc:creator>
		<pubDate>Mon, 26 Oct 2009 09:30:54 +0000</pubDate>
		<guid isPermaLink="false">http://www.gabrielelana.it/?p=131#comment-3904</guid>
		<description>@devsmt Grazie per i complimenti :-)

Per quanto riguarda il discorso convivenza del relazionale/documentale, ovviamente la risposta è &quot;dipende&quot;, in particolare dipende dalla natura dell&#039;applicativo, se hai bisogno di una consistenza &quot;forte&quot; dei dati sopratutto per quanto riguarda la transazionalità del dato, penso che convenga restare sul db ralazione (ci sono modo di rigirare il problema nel mondo documentale, ex. basta creare un documento che rappresenta e che accumula tutti i dati della transazione). Ma se l&#039;applicazione è il classico CRUD potresti scriverla tutta direttamente in CouchDB (http://github.com/jchris/couchapp) e vivresti una vita felice. Detto questo noi (http://www.yourank.it) stiamo facendo convivere il mondo relazionale con quello documentale senza grossi problemi, ma CouchDB guadagna sempre più terreno ;-)</description>
		<content:encoded><![CDATA[<p>@devsmt Grazie per i complimenti :-)</p>
<p>Per quanto riguarda il discorso convivenza del relazionale/documentale, ovviamente la risposta è &#8220;dipende&#8221;, in particolare dipende dalla natura dell&#8217;applicativo, se hai bisogno di una consistenza &#8220;forte&#8221; dei dati sopratutto per quanto riguarda la transazionalità del dato, penso che convenga restare sul db ralazione (ci sono modo di rigirare il problema nel mondo documentale, ex. basta creare un documento che rappresenta e che accumula tutti i dati della transazione). Ma se l&#8217;applicazione è il classico CRUD potresti scriverla tutta direttamente in CouchDB (<a href="http://github.com/jchris/couchapp" rel="nofollow">http://github.com/jchris/couchapp</a>) e vivresti una vita felice. Detto questo noi (<a href="http://www.yourank.it" rel="nofollow">http://www.yourank.it</a>) stiamo facendo convivere il mondo relazionale con quello documentale senza grossi problemi, ma CouchDB guadagna sempre più terreno ;-)</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: devsmt</title>
		<link>http://www.gabrielelana.it/archives/131/comment-page-1#comment-3902</link>
		<dc:creator>devsmt</dc:creator>
		<pubDate>Mon, 26 Oct 2009 08:30:56 +0000</pubDate>
		<guid isPermaLink="false">http://www.gabrielelana.it/?p=131#comment-3902</guid>
		<description>interessantissimo e molto chiaro, come merita un argomento al limite dello sperimentale, ottimo anche l&#039;accorgimento narrativo di una conclusione in cui esemplifichi con uno use-case molto favorevole.
mi sfugge, però, se per un sito dinamico ma diciamo tradizionalmente concepito, per intenderci basato su LAMP e organizzato secondo MVC, se il database relazionale va ad affiancare quello documentale o viene totalmente rimpiazzato e se l&#039;elaborazione map/reduce che descrivi rimpiazza totalmente o si affianca all&#039;elaborazione lato server.

grazie e complimenti per l&#039;ottimo lavoro</description>
		<content:encoded><![CDATA[<p>interessantissimo e molto chiaro, come merita un argomento al limite dello sperimentale, ottimo anche l&#8217;accorgimento narrativo di una conclusione in cui esemplifichi con uno use-case molto favorevole.<br />
mi sfugge, però, se per un sito dinamico ma diciamo tradizionalmente concepito, per intenderci basato su LAMP e organizzato secondo MVC, se il database relazionale va ad affiancare quello documentale o viene totalmente rimpiazzato e se l&#8217;elaborazione map/reduce che descrivi rimpiazza totalmente o si affianca all&#8217;elaborazione lato server.</p>
<p>grazie e complimenti per l&#8217;ottimo lavoro</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Franco Lombardo</title>
		<link>http://www.gabrielelana.it/archives/131/comment-page-1#comment-3901</link>
		<dc:creator>Franco Lombardo</dc:creator>
		<pubDate>Mon, 19 Oct 2009 16:50:06 +0000</pubDate>
		<guid isPermaLink="false">http://www.gabrielelana.it/?p=131#comment-3901</guid>
		<description>Gabriele,
post molto interessante, come al solito. Due annotazioni

1) Mi sembra che una delle raccomandazioni per creare buone applicazioni che fanno uso di DB sia quella di evitare al massimo l&#039;uso delle stored procedures. Il concetto di Map-Reduce, come introdotto in Couchdb, non si può intendere come un ritorno in grande stile delle stored procedures? L&#039;uso si Javascript per queste funzioni mi lascia poi un poco perplesso.

2) Da sostenitore di AS400, ti ricodo che, oltre alle materialized views di Oracle, esistono anche le Materialized Query Table di DB2 (http://publib.boulder.ibm.com/infocenter/iseries/v5r4/index.jsp?topic=/rzajq/rzajqmqt.htm) :-)

Ciao

Franco</description>
		<content:encoded><![CDATA[<p>Gabriele,<br />
post molto interessante, come al solito. Due annotazioni</p>
<p>1) Mi sembra che una delle raccomandazioni per creare buone applicazioni che fanno uso di DB sia quella di evitare al massimo l&#8217;uso delle stored procedures. Il concetto di Map-Reduce, come introdotto in Couchdb, non si può intendere come un ritorno in grande stile delle stored procedures? L&#8217;uso si Javascript per queste funzioni mi lascia poi un poco perplesso.</p>
<p>2) Da sostenitore di AS400, ti ricodo che, oltre alle materialized views di Oracle, esistono anche le Materialized Query Table di DB2 (<a href="http://publib.boulder.ibm.com/infocenter/iseries/v5r4/index.jsp?topic=/rzajq/rzajqmqt.htm" rel="nofollow">http://publib.boulder.ibm.com/infocenter/iseries/v5r4/index.jsp?topic=/rzajq/rzajqmqt.htm</a>) :-)</p>
<p>Ciao</p>
<p>Franco</p>
]]></content:encoded>
	</item>
</channel>
</rss>

