<?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/"
xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd"
xmlns:media="http://search.yahoo.com/mrss/"
> <channel><title>Commentaires sur : NoSQL Europe : Tour d&#8217;horizon des bases de données NoSQL</title> <atom:link href="http://blog.xebia.fr/2010/04/21/nosql-europe-tour-dhorizon-des-bases-de-donnees-nosql/feed/" rel="self" type="application/rss+xml" /><link>http://blog.xebia.fr/2010/04/21/nosql-europe-tour-dhorizon-des-bases-de-donnees-nosql/</link> <description>J2EE, Agilité et SOA</description> <lastBuildDate>Fri, 10 Feb 2012 09:50:25 +0000</lastBuildDate> <sy:updatePeriod>hourly</sy:updatePeriod> <sy:updateFrequency>1</sy:updateFrequency> <generator>http://wordpress.org/?v=</generator> <item><title>Par : Cyrille Le Clerc</title><link>http://blog.xebia.fr/2010/04/21/nosql-europe-tour-dhorizon-des-bases-de-donnees-nosql/#comment-103216</link> <dc:creator>Cyrille Le Clerc</dc:creator> <pubDate>Wed, 14 Dec 2011 14:36:35 +0000</pubDate> <guid
isPermaLink="false">http://blog.xebia.fr/?p=4457#comment-103216</guid> <description>Une remarque, j&#039;avais trouvé très sexy le slogan &lt;a href=&quot;http://www.infoq.com/news/2008/06/ram-is-disk&quot; rel=&quot;nofollow&quot;&gt;&quot;RAM is the new disk...&quot;&lt;/a&gt;.
Maintenant que j&#039;ai une application In Memory Data Grid en production, je n&#039;y crois plus, je dirais plutôt que la RAM, c&#039;est comme les spectacles d&#039;assiettes chinoises au cirque :-)
&lt;img src=&quot;http://dakarblog.info/images/assiettes.jpg&quot; width=&quot;100&quot;/&gt;
This is RAM !</description> <content:encoded><![CDATA[<p>Une remarque, j&#8217;avais trouvé très sexy le slogan <a
href="http://www.infoq.com/news/2008/06/ram-is-disk" rel="nofollow">&laquo;&nbsp;RAM is the new disk&#8230;&nbsp;&raquo;</a>.</p><p>Maintenant que j&#8217;ai une application In Memory Data Grid en production, je n&#8217;y crois plus, je dirais plutôt que la RAM, c&#8217;est comme les spectacles d&#8217;assiettes chinoises au cirque <img
src='http://blog.xebia.fr/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /></p><p><img
src="http://dakarblog.info/images/assiettes.jpg" width="100"/><br
/> This is RAM !</p> ]]></content:encoded> </item> <item><title>Par : Cyrille Le Clerc</title><link>http://blog.xebia.fr/2010/04/21/nosql-europe-tour-dhorizon-des-bases-de-donnees-nosql/#comment-103213</link> <dc:creator>Cyrille Le Clerc</dc:creator> <pubDate>Wed, 14 Dec 2011 14:25:38 +0000</pubDate> <guid
isPermaLink="false">http://blog.xebia.fr/?p=4457#comment-103213</guid> <description>@Dominique,
J&#039;ai eu la même impression que toi il y a un an. Nati Shalom (Gigaspaces) m&#039;a convaincu et je pense aujourd&#039;hui que &lt;strong&gt;les In Memory Data Grids (IMDG) resteront &quot;in memory&quot; sur la niche de l&#039;hyper-performance alors que le NoSQL &quot;sur disque&quot; prendra le non-relationnel à performances &lt;i&gt;normales&lt;/i&gt; et les fortes volumétries (BigData)&lt;/strong&gt;. Les cultures disque et mémoire sont trop différentes.
Nous demanderons à Nati de nous expliquer sa motivation fin Janvier lors de la soirée &quot;Concevez une application Data-Grid/NoSQL hautement scalable avec Nati Shalom, fondateur et CTO Gigaspaces&quot; qui dérape sur le planning mais aura bien lieu. Merci de votre indulgence pour ce retard :-)
Pourquoi je pense que les In Memory Data Grid et les NoSQL ne convergeront pas :
* Dans le monde relationnel, les base de données mémoire (&lt;a href=&quot;http://en.wikipedia.org/wiki/TimesTen&quot; rel=&quot;nofollow&quot;&gt;TimesTen&lt;/a&gt;, &lt;a href=&quot;http://en.wikipedia.org/wiki/SolidDB&quot; rel=&quot;nofollow&quot;&gt;SolidDB&lt;/a&gt;, ...) n&#039;ont pas convergé avec les bases de données &lt;i&gt;classiques&lt;/i&gt; sur disque.
* Les In Memory Data Grid sont cantonnées à un marché de niche du fait de leur coût et complexité d&#039;utilisation. Très grande complexité aussi bien côté DEV que côté OPS :
** DEV : bouleversement culturel de mettre du traitement au coeur de la donnée, défi de l&#039;évolutivité des données (POF en Coherence, etc), difficulté des tests, ...
** OPS : manager des dizaines de petites JVMs (ca devrait changer bientôt ...), perpetuel défi du &lt;i&gt;full GC&lt;/i&gt; qui prend trop de temps, déploiement noeud après noeud pour ne pas avoir à recharger les données, ...
** DevOPS : le chargement &#039;initial&#039; de la grille qui n&#039;arrive pas qu&#039;une fois car les déploiement dans la vraie vie se font en général par un arrêt complet. Cette réalité interdit les scénarios d&#039;IMDG de centaines de Go au commun des mortels.
* Les IMDG actuelles (Coherence, Gigaspaces, Gemfire &amp; Websphere eXtreme Scale) n&#039;ont pas été &lt;i&gt;designées&lt;/i&gt; pour supporter la lenteur d&#039;un accès disque lors de leurs traitements. Elles ont été &lt;i&gt;designée&lt;/i&gt; pour l&#039;hyper vitesse. Oracle a trouvé une solution d&#039;offload avec des SSD.
** &lt;strong&gt;L&#039;offload SSD des In Memory Data Grid est une sorte de &quot;&lt;i&gt;panic button&lt;/i&gt;&quot; pour éviter la perte de données&lt;/strong&gt; des OutOfMemoryError, l&#039;esprit de ces produits n&#039;est pas de faire du traitement sur ces données offloadées. L&#039;offload SSD n&#039;est pas un mécanisme de pagination, c&#039;est une sécurité.
** Un cas où l&#039;offload SSD trouve sa place en fonctionnement nominal interactif : quand l&#039;IMDG est utilisée en &quot;distributed cache&quot; mais étant donné le prix et les complexités d&#039;exploitations, je regarderais alors des grosses distributed hashtables (Riak, Redis, etc).
Pour résumer, je pense que
** Le NoSQL &quot;sur disque&quot; traitera BigData et le non relationnel &quot;&lt;i&gt;classique&lt;/i&gt;&quot;, le non-relationnel qui n&#039;a pas besoin d&#039;hyper performance,
** les IMDG vont rester cantonnées à un marché de niche de l&#039;hyper performance (finance de marché, ecommerce à très fort traffic pour encaisser &lt;a href=&quot;http://en.wikipedia.org/wiki/Cyber_Monday&quot; rel=&quot;nofollow&quot;&gt;Cyber Monday&lt;/a&gt;, ...).
Nous pourrons en rediscuter plus en détails avec Nati Shalom en Janvier !
Cyrille qui a codé du Coherence ce matin encore :-)</description> <content:encoded><![CDATA[<p>@Dominique,</p><p>J&#8217;ai eu la même impression que toi il y a un an. Nati Shalom (Gigaspaces) m&#8217;a convaincu et je pense aujourd&#8217;hui que <strong>les In Memory Data Grids (IMDG) resteront &laquo;&nbsp;in memory&nbsp;&raquo; sur la niche de l&#8217;hyper-performance alors que le NoSQL &laquo;&nbsp;sur disque&nbsp;&raquo; prendra le non-relationnel à performances <i>normales</i> et les fortes volumétries (BigData)</strong>. Les cultures disque et mémoire sont trop différentes.</p><p>Nous demanderons à Nati de nous expliquer sa motivation fin Janvier lors de la soirée &laquo;&nbsp;Concevez une application Data-Grid/NoSQL hautement scalable avec Nati Shalom, fondateur et CTO Gigaspaces&nbsp;&raquo; qui dérape sur le planning mais aura bien lieu. Merci de votre indulgence pour ce retard <img
src='http://blog.xebia.fr/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /></p><p>Pourquoi je pense que les In Memory Data Grid et les NoSQL ne convergeront pas :</p><p>* Dans le monde relationnel, les base de données mémoire (<a
href="http://en.wikipedia.org/wiki/TimesTen" rel="nofollow">TimesTen</a>, <a
href="http://en.wikipedia.org/wiki/SolidDB" rel="nofollow">SolidDB</a>, &#8230;) n&#8217;ont pas convergé avec les bases de données <i>classiques</i> sur disque.</p><p>* Les In Memory Data Grid sont cantonnées à un marché de niche du fait de leur coût et complexité d&#8217;utilisation. Très grande complexité aussi bien côté DEV que côté OPS :<br
/> ** DEV : bouleversement culturel de mettre du traitement au coeur de la donnée, défi de l&#8217;évolutivité des données (POF en Coherence, etc), difficulté des tests, &#8230;<br
/> ** OPS : manager des dizaines de petites JVMs (ca devrait changer bientôt &#8230;), perpetuel défi du <i>full GC</i> qui prend trop de temps, déploiement noeud après noeud pour ne pas avoir à recharger les données, &#8230;<br
/> ** DevOPS : le chargement &#8216;initial&#8217; de la grille qui n&#8217;arrive pas qu&#8217;une fois car les déploiement dans la vraie vie se font en général par un arrêt complet. Cette réalité interdit les scénarios d&#8217;IMDG de centaines de Go au commun des mortels.</p><p>* Les IMDG actuelles (Coherence, Gigaspaces, Gemfire &#038; Websphere eXtreme Scale) n&#8217;ont pas été <i>designées</i> pour supporter la lenteur d&#8217;un accès disque lors de leurs traitements. Elles ont été <i>designée</i> pour l&#8217;hyper vitesse. Oracle a trouvé une solution d&#8217;offload avec des SSD.<br
/> ** <strong>L&#8217;offload SSD des In Memory Data Grid est une sorte de &laquo;&nbsp;<i>panic button</i>&nbsp;&raquo; pour éviter la perte de données</strong> des OutOfMemoryError, l&#8217;esprit de ces produits n&#8217;est pas de faire du traitement sur ces données offloadées. L&#8217;offload SSD n&#8217;est pas un mécanisme de pagination, c&#8217;est une sécurité.<br
/> ** Un cas où l&#8217;offload SSD trouve sa place en fonctionnement nominal interactif : quand l&#8217;IMDG est utilisée en &laquo;&nbsp;distributed cache&nbsp;&raquo; mais étant donné le prix et les complexités d&#8217;exploitations, je regarderais alors des grosses distributed hashtables (Riak, Redis, etc).</p><p>Pour résumer, je pense que<br
/> ** Le NoSQL &laquo;&nbsp;sur disque&nbsp;&raquo; traitera BigData et le non relationnel &laquo;&nbsp;<i>classique</i>&laquo;&nbsp;, le non-relationnel qui n&#8217;a pas besoin d&#8217;hyper performance,<br
/> ** les IMDG vont rester cantonnées à un marché de niche de l&#8217;hyper performance (finance de marché, ecommerce à très fort traffic pour encaisser <a
href="http://en.wikipedia.org/wiki/Cyber_Monday" rel="nofollow">Cyber Monday</a>, &#8230;).</p><p>Nous pourrons en rediscuter plus en détails avec Nati Shalom en Janvier !</p><p>Cyrille qui a codé du Coherence ce matin encore <img
src='http://blog.xebia.fr/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /></p> ]]></content:encoded> </item> <item><title>Par : Benoît Dissert</title><link>http://blog.xebia.fr/2010/04/21/nosql-europe-tour-dhorizon-des-bases-de-donnees-nosql/#comment-103185</link> <dc:creator>Benoît Dissert</dc:creator> <pubDate>Wed, 14 Dec 2011 12:53:54 +0000</pubDate> <guid
isPermaLink="false">http://blog.xebia.fr/?p=4457#comment-103185</guid> <description>@DominiqueDeVito
On en avait déjà parlé au NoSQL UG (et on a eu des présentation Gigaspace), les problématiques techniques sont, à la base, essentiellement les mêmes, sauf que :
- dans les DataGrid, on remplace les tuyaux réseaux par des bus mémoire
- les interfaces programmatiques sont, en générale natives Java (au lieu d&#039;API REST ou protocole/couche transport)
- on met les machines les plus proches les unes des autres, pour avoir des tout petits bus super rapides</description> <content:encoded><![CDATA[<p>@DominiqueDeVito</p><p>On en avait déjà parlé au NoSQL UG (et on a eu des présentation Gigaspace), les problématiques techniques sont, à la base, essentiellement les mêmes, sauf que :<br
/> &#8211; dans les DataGrid, on remplace les tuyaux réseaux par des bus mémoire<br
/> &#8211; les interfaces programmatiques sont, en générale natives Java (au lieu d&#8217;API REST ou protocole/couche transport)<br
/> &#8211; on met les machines les plus proches les unes des autres, pour avoir des tout petits bus super rapides</p> ]]></content:encoded> </item> <item><title>Par : Dominique De Vito</title><link>http://blog.xebia.fr/2010/04/21/nosql-europe-tour-dhorizon-des-bases-de-donnees-nosql/#comment-103182</link> <dc:creator>Dominique De Vito</dc:creator> <pubDate>Wed, 14 Dec 2011 12:40:26 +0000</pubDate> <guid
isPermaLink="false">http://blog.xebia.fr/?p=4457#comment-103182</guid> <description>@Michael Figuière
L&#039;écart semble se réduire entre data grids et bases NoSQL (bien qu&#039;il y ait des éléments de différenciation) comme l&#039;exprime bien Manik Surtani dans le post suivant:
Enterprise Caches Versus Data Grids Versus NoSQL Databases - myNoSQL
http://nosql.mypopescu.com/post/14129808043/enterprise-caches-versus-data-grids-versus-nosql
Il est vrai que Gemfire avait déjà commencé (IMHO) à bousculer cette frontière...</description> <content:encoded><![CDATA[<p>@Michael Figuière</p><p>L&#8217;écart semble se réduire entre data grids et bases NoSQL (bien qu&#8217;il y ait des éléments de différenciation) comme l&#8217;exprime bien Manik Surtani dans le post suivant:</p><p>Enterprise Caches Versus Data Grids Versus NoSQL Databases &#8211; myNoSQL<br
/> <a
href="http://nosql.mypopescu.com/post/14129808043/enterprise-caches-versus-data-grids-versus-nosql" rel="nofollow">http://nosql.mypopescu.com/post/14129808043/enterprise-caches-versus-data-grids-versus-nosql</a></p><p>Il est vrai que Gemfire avait déjà commencé (IMHO) à bousculer cette frontière&#8230;</p> ]]></content:encoded> </item> <item><title>Par : Tricosteryl</title><link>http://blog.xebia.fr/2010/04/21/nosql-europe-tour-dhorizon-des-bases-de-donnees-nosql/#comment-86288</link> <dc:creator>Tricosteryl</dc:creator> <pubDate>Fri, 21 Oct 2011 15:47:02 +0000</pubDate> <guid
isPermaLink="false">http://blog.xebia.fr/?p=4457#comment-86288</guid> <description>Merci infiniement :)</description> <content:encoded><![CDATA[<p>Merci infiniement <img
src='http://blog.xebia.fr/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /></p> ]]></content:encoded> </item> <item><title>Par : Benoît Dissert</title><link>http://blog.xebia.fr/2010/04/21/nosql-europe-tour-dhorizon-des-bases-de-donnees-nosql/#comment-86279</link> <dc:creator>Benoît Dissert</dc:creator> <pubDate>Fri, 21 Oct 2011 15:14:47 +0000</pubDate> <guid
isPermaLink="false">http://blog.xebia.fr/?p=4457#comment-86279</guid> <description>@Tricosteryl
J&#039;adore le bavardage de geek. Et la plupart des personnes qui suivent le blog de Xebia aussi je pense.
Le &quot;bavardage de geek&quot;, comme vous dites, c&#039;est une confrontation de points de vue sur des technologies. Si on ne s&#039;intéresse pas aux technologies, mais uniquement aux usages que l&#039;on prévoit, alors il n&#039;y aurait jamais d&#039;innovation technique, mais uniquement des innovations marketing.
Il est impossible d&#039;être architecte logiciel sans aimer le bavardage de geek (c&#039;est une condition sine qua none).
Le NoSQL n&#039;est pas un produit ou une solution, mais un mouvement, un ensemble de technologies de persistances (il me semble que l&#039;article est clair la dessus), qui ont uniquement en commun d&#039;essayer de ne pas respecter la contrainte d&#039;être des SGBDR, et qui, bénéficient grâce à cela de caractéristiques intéressantes, comme :
- de meilleures performances
- une tolérance au partitionnement réseau
- une meilleure adéquation entre la technologie et le besoin de persistance</description> <content:encoded><![CDATA[<p>@Tricosteryl</p><p>J&#8217;adore le bavardage de geek. Et la plupart des personnes qui suivent le blog de Xebia aussi je pense.</p><p>Le &laquo;&nbsp;bavardage de geek&nbsp;&raquo;, comme vous dites, c&#8217;est une confrontation de points de vue sur des technologies. Si on ne s&#8217;intéresse pas aux technologies, mais uniquement aux usages que l&#8217;on prévoit, alors il n&#8217;y aurait jamais d&#8217;innovation technique, mais uniquement des innovations marketing.</p><p>Il est impossible d&#8217;être architecte logiciel sans aimer le bavardage de geek (c&#8217;est une condition sine qua none).</p><p>Le NoSQL n&#8217;est pas un produit ou une solution, mais un mouvement, un ensemble de technologies de persistances (il me semble que l&#8217;article est clair la dessus), qui ont uniquement en commun d&#8217;essayer de ne pas respecter la contrainte d&#8217;être des SGBDR, et qui, bénéficient grâce à cela de caractéristiques intéressantes, comme :<br
/> &#8211; de meilleures performances<br
/> &#8211; une tolérance au partitionnement réseau<br
/> &#8211; une meilleure adéquation entre la technologie et le besoin de persistance</p> ]]></content:encoded> </item> <item><title>Par : Tricosteryl</title><link>http://blog.xebia.fr/2010/04/21/nosql-europe-tour-dhorizon-des-bases-de-donnees-nosql/#comment-85935</link> <dc:creator>Tricosteryl</dc:creator> <pubDate>Thu, 20 Oct 2011 15:47:56 +0000</pubDate> <guid
isPermaLink="false">http://blog.xebia.fr/?p=4457#comment-85935</guid> <description>J&#039;aimerai bien qu&#039;on nous explique avec des critères objectifs :
- Quels sont les objectifs de cette technologie : A quoi est-elle destinée
- Quelle est la plus-value par rapport aux SGBDR traditionnels : du point de vue de la pérénité des données, de leur sécurité, des performances, de leur utilisation par les applications...
Le reste c&#039;est du bavardage de geek !</description> <content:encoded><![CDATA[<p>J&#8217;aimerai bien qu&#8217;on nous explique avec des critères objectifs :<br
/> - Quels sont les objectifs de cette technologie : A quoi est-elle destinée<br
/> - Quelle est la plus-value par rapport aux SGBDR traditionnels : du point de vue de la pérénité des données, de leur sécurité, des performances, de leur utilisation par les applications&#8230;</p><p>Le reste c&#8217;est du bavardage de geek !</p> ]]></content:encoded> </item> <item><title>Par : Not Only SQL, la nouvelle tendence des bases de données&#124; Webmaster &#8211; Ressources et outils gratuits pour votre site internet &#8211; Free Tools&#124; Free Tools, Le meilleur des outils gratuits pour webmaster</title><link>http://blog.xebia.fr/2010/04/21/nosql-europe-tour-dhorizon-des-bases-de-donnees-nosql/#comment-35626</link> <dc:creator>Not Only SQL, la nouvelle tendence des bases de données&#124; Webmaster &#8211; Ressources et outils gratuits pour votre site internet &#8211; Free Tools&#124; Free Tools, Le meilleur des outils gratuits pour webmaster</dc:creator> <pubDate>Mon, 29 Nov 2010 04:58:25 +0000</pubDate> <guid
isPermaLink="false">http://blog.xebia.fr/?p=4457#comment-35626</guid> <description>[...] le sujet, je vous recommande fortement de lire l&#8217;article de Michael Figuiere, &#8220;NoSQL Europe : Tour d’horizon des bases de données NoSQL&#8220;, qui aborde notamment Les familles de NoSQL, à savoir &#8220;Les bases de données [...]</description> <content:encoded><![CDATA[<p>[...] le sujet, je vous recommande fortement de lire l&#8217;article de Michael Figuiere, &#8220;NoSQL Europe : Tour d’horizon des bases de données NoSQL&#8220;, qui aborde notamment Les familles de NoSQL, à savoir &#8220;Les bases de données [...]</p> ]]></content:encoded> </item> <item><title>Par : Dominique De Vito</title><link>http://blog.xebia.fr/2010/04/21/nosql-europe-tour-dhorizon-des-bases-de-donnees-nosql/#comment-25545</link> <dc:creator>Dominique De Vito</dc:creator> <pubDate>Wed, 05 May 2010 13:47:24 +0000</pubDate> <guid
isPermaLink="false">http://blog.xebia.fr/?p=4457#comment-25545</guid> <description>J&#039;ai posté ma vision des bases NoSQL ici: http://www.jroller.com/dmdevito/entry/thinking_about_nosql_databases_classification
J&#039;y redis, en partie, ce que j&#039;ai déjà dit plus haut.
D&#039;autre part, avant l&#039;étape du remplacement de la base du back-end tiers, je défends l&#039;introduction/l&#039;usage des bases NoSQL en les &quot;définissant&quot; comme bases à utiliser pour le middle tiers.
* Etape_1 : une base NoSQL pour le middle tiers et une base SQL pour le back-end tiers (voir qques exemples d&#039;usage dans mon post).
* Etape_2 : la base NoSQL du middle tiers &quot;monte en puissance&quot; et éventuellement, remplace même la base du back-end tiers.</description> <content:encoded><![CDATA[<p>J&#8217;ai posté ma vision des bases NoSQL ici: <a
href="http://www.jroller.com/dmdevito/entry/thinking_about_nosql_databases_classification" rel="nofollow">http://www.jroller.com/dmdevito/entry/thinking_about_nosql_databases_classification</a></p><p>J&#8217;y redis, en partie, ce que j&#8217;ai déjà dit plus haut.</p><p>D&#8217;autre part, avant l&#8217;étape du remplacement de la base du back-end tiers, je défends l&#8217;introduction/l&#8217;usage des bases NoSQL en les &laquo;&nbsp;définissant&nbsp;&raquo; comme bases à utiliser pour le middle tiers.</p><p>* Etape_1 : une base NoSQL pour le middle tiers et une base SQL pour le back-end tiers (voir qques exemples d&#8217;usage dans mon post).</p><p>* Etape_2 : la base NoSQL du middle tiers &laquo;&nbsp;monte en puissance&nbsp;&raquo; et éventuellement, remplace même la base du back-end tiers.</p> ]]></content:encoded> </item> <item><title>Par : Michael Figuiere</title><link>http://blog.xebia.fr/2010/04/21/nosql-europe-tour-dhorizon-des-bases-de-donnees-nosql/#comment-25260</link> <dc:creator>Michael Figuiere</dc:creator> <pubDate>Fri, 30 Apr 2010 14:10:16 +0000</pubDate> <guid
isPermaLink="false">http://blog.xebia.fr/?p=4457#comment-25260</guid> <description>HBase est une implémentation basée sur le &lt;a href=&quot;http://labs.google.com/papers/bigtable.html&quot; rel=&quot;nofollow&quot;&gt;&lt;em&gt;paper&lt;/em&gt; BigTable&lt;/a&gt;. BigTable est une base de données développée en C++ et utilisée en interne chez Google ; l&#039;implémentation n&#039;est pas disponible.
BigTable et HBase sont tous deux des bases de données orientées colonnes, parfois aussi appelées &lt;em&gt;wide column store&lt;/em&gt; du fait de l&#039;utilisation d&#039;un grand nombre de colonnes dans ces BDD.
Selon moi, cette famille de base de données NoSQL est la plus complexe à maitriser car il s&#039;agit d&#039;une manière de modéliser les données totalement différente. Je reviendrai sur ces problématiques dans un article à venir.
Michael Figuière (Xebia)</description> <content:encoded><![CDATA[<p>HBase est une implémentation basée sur le <a
href="http://labs.google.com/papers/bigtable.html" rel="nofollow"><em>paper</em> BigTable</a>. BigTable est une base de données développée en C++ et utilisée en interne chez Google ; l&#8217;implémentation n&#8217;est pas disponible.<br
/> BigTable et HBase sont tous deux des bases de données orientées colonnes, parfois aussi appelées <em>wide column store</em> du fait de l&#8217;utilisation d&#8217;un grand nombre de colonnes dans ces BDD.</p><p>Selon moi, cette famille de base de données NoSQL est la plus complexe à maitriser car il s&#8217;agit d&#8217;une manière de modéliser les données totalement différente. Je reviendrai sur ces problématiques dans un article à venir.</p><p>Michael Figuière (Xebia)</p> ]]></content:encoded> </item> <item><title>Par : Nicolas</title><link>http://blog.xebia.fr/2010/04/21/nosql-europe-tour-dhorizon-des-bases-de-donnees-nosql/#comment-25244</link> <dc:creator>Nicolas</dc:creator> <pubDate>Fri, 30 Apr 2010 09:03:13 +0000</pubDate> <guid
isPermaLink="false">http://blog.xebia.fr/?p=4457#comment-25244</guid> <description>Et BigTable dans tout ça ? Dans quelle famille le classer ?</description> <content:encoded><![CDATA[<p>Et BigTable dans tout ça ? Dans quelle famille le classer ?</p> ]]></content:encoded> </item> <item><title>Par : Michael Figuiere</title><link>http://blog.xebia.fr/2010/04/21/nosql-europe-tour-dhorizon-des-bases-de-donnees-nosql/#comment-25034</link> <dc:creator>Michael Figuiere</dc:creator> <pubDate>Tue, 27 Apr 2010 07:52:59 +0000</pubDate> <guid
isPermaLink="false">http://blog.xebia.fr/?p=4457#comment-25034</guid> <description>La question du classement des indexes de recherche parmi ces solutions NoSQL revient régulièrement et mérite en effet de s&#039;y attarder !
Clairement les indexes Lucene ne sont pas une solution de persistance à part entière. En effet, bien qu&#039;il soit possible d&#039;utiliser certains champs pour le stockage via &lt;code&gt;Field.Store.YES&lt;/code&gt;, leur utilisation doit idéalement être restreinte au stockage d&#039;informations nécessaire pour retourner les résultats d&#039;une recherche à l&#039;utilisateur.
L&#039;implémentation de ces indexes a été pensée avant tout pour la recherche et ne les rend guère adaptés aux problématiques de base de données :
* Les données insérées dans l&#039;index n&#039;apparaitront pas à la lecture avant la prochaine opération &lt;code&gt;IndexReader.reopen()&lt;/code&gt;. Et à moins d&#039;utiliser le mode &lt;em&gt;near-realtime&lt;/em&gt; &lt;a href=&quot;http://blog.xebia.fr/2009/09/28/revue-de-presse-xebia-126/#Lucenevolueetprparelavenir&quot; rel=&quot;nofollow&quot;&gt;introduit dans Lucene 2.9&lt;/a&gt;, il sera également nécessaire d&#039;effectuer une opération &lt;code&gt;commit()&lt;/code&gt; sur l&#039;&lt;code&gt;IndexWriter&lt;/code&gt; ou de le fermer.
* Toutes ces opérations sont couteuses en temps car Lucene est optimisé pour favoriser la latence de recherche et non celle d&#039;indexation.
* L&#039;opération &lt;code&gt;updateDocument()&lt;/code&gt; de Lucene consiste en une suppression puis un ajout de document. Ceci n&#039;est pas réellement gênant dans un contexte d&#039;index de recherche, mais l&#039;est pour une utilisation de type base de données puisque l&#039;opération n&#039;est pas atomique.
* Les 3 points précédents montrent que l&#039;indexation ne peut être assimilée à une opération d&#039;insertion dans une base de données.
* Les &lt;code&gt;documentId&lt;/code&gt; de Lucene ne sont que des identifiants propres à Lucene qui changent au cours du temps, par exemple lorsque les segments d&#039;index sont mergés. Il sera donc nécessaire de définir un champs &lt;code&gt;Id&lt;/code&gt; spécifique dont la valorisation devra être gérée par le code applicatif.
* Lucene n&#039;offre pas de mécanisme de réplication. &lt;a href=&quot;http://lucene.apache.org/solr/&quot; rel=&quot;nofollow&quot;&gt;Solr&lt;/a&gt; et &lt;a href=&quot;http://www.hibernate.org/subprojects/search.html&quot; rel=&quot;nofollow&quot;&gt;Hibernate Search&lt;/a&gt; proposent une réplication asynchrone, du &lt;em&gt;master&lt;/em&gt; vers les &lt;em&gt;slaves&lt;/em&gt;, qui introduira une latence de plusieurs minutes entre l&#039;indexation d&#039;un document et son apparition dans les résultats de recherche, ce qui là encore est parfaitement acceptable pour un index de recherche mais probablement pas pour une base de données.
Cette liste, non exhaustive, montre que les indexes Lucene ne peuvent être considérés comme une solution de persistance à part entière.
Michael Figuière (Xebia)</description> <content:encoded><![CDATA[<p>La question du classement des indexes de recherche parmi ces solutions NoSQL revient régulièrement et mérite en effet de s&#8217;y attarder !</p><p>Clairement les indexes Lucene ne sont pas une solution de persistance à part entière. En effet, bien qu&#8217;il soit possible d&#8217;utiliser certains champs pour le stockage via <code>Field.Store.YES</code>, leur utilisation doit idéalement être restreinte au stockage d&#8217;informations nécessaire pour retourner les résultats d&#8217;une recherche à l&#8217;utilisateur.<br
/> L&#8217;implémentation de ces indexes a été pensée avant tout pour la recherche et ne les rend guère adaptés aux problématiques de base de données :</p><p>* Les données insérées dans l&#8217;index n&#8217;apparaitront pas à la lecture avant la prochaine opération <code>IndexReader.reopen()</code>. Et à moins d&#8217;utiliser le mode <em>near-realtime</em> <a
href="http://blog.xebia.fr/2009/09/28/revue-de-presse-xebia-126/#Lucenevolueetprparelavenir" rel="nofollow">introduit dans Lucene 2.9</a>, il sera également nécessaire d&#8217;effectuer une opération <code>commit()</code> sur l&#8217;<code>IndexWriter</code> ou de le fermer.</p><p>* Toutes ces opérations sont couteuses en temps car Lucene est optimisé pour favoriser la latence de recherche et non celle d&#8217;indexation.</p><p>* L&#8217;opération <code>updateDocument()</code> de Lucene consiste en une suppression puis un ajout de document. Ceci n&#8217;est pas réellement gênant dans un contexte d&#8217;index de recherche, mais l&#8217;est pour une utilisation de type base de données puisque l&#8217;opération n&#8217;est pas atomique.</p><p>* Les 3 points précédents montrent que l&#8217;indexation ne peut être assimilée à une opération d&#8217;insertion dans une base de données.</p><p>* Les <code>documentId</code> de Lucene ne sont que des identifiants propres à Lucene qui changent au cours du temps, par exemple lorsque les segments d&#8217;index sont mergés. Il sera donc nécessaire de définir un champs <code>Id</code> spécifique dont la valorisation devra être gérée par le code applicatif.</p><p>* Lucene n&#8217;offre pas de mécanisme de réplication. <a
href="http://lucene.apache.org/solr/" rel="nofollow">Solr</a> et <a
href="http://www.hibernate.org/subprojects/search.html" rel="nofollow">Hibernate Search</a> proposent une réplication asynchrone, du <em>master</em> vers les <em>slaves</em>, qui introduira une latence de plusieurs minutes entre l&#8217;indexation d&#8217;un document et son apparition dans les résultats de recherche, ce qui là encore est parfaitement acceptable pour un index de recherche mais probablement pas pour une base de données.</p><p>Cette liste, non exhaustive, montre que les indexes Lucene ne peuvent être considérés comme une solution de persistance à part entière.</p><p>Michael Figuière (Xebia)</p> ]]></content:encoded> </item> <item><title>Par : Benoît Dissert</title><link>http://blog.xebia.fr/2010/04/21/nosql-europe-tour-dhorizon-des-bases-de-donnees-nosql/#comment-24980</link> <dc:creator>Benoît Dissert</dc:creator> <pubDate>Mon, 26 Apr 2010 15:47:30 +0000</pubDate> <guid
isPermaLink="false">http://blog.xebia.fr/?p=4457#comment-24980</guid> <description>LDAP, soit. Qu&#039;en est-il de Lucene ? Peut-on considérer qu&#039;un stockage dans Lucene est d&#039;une certaine manière une persistance NoSQL ?</description> <content:encoded><![CDATA[<p>LDAP, soit. Qu&#8217;en est-il de Lucene ? Peut-on considérer qu&#8217;un stockage dans Lucene est d&#8217;une certaine manière une persistance NoSQL ?</p> ]]></content:encoded> </item> <item><title>Par : Dominique De Vito</title><link>http://blog.xebia.fr/2010/04/21/nosql-europe-tour-dhorizon-des-bases-de-donnees-nosql/#comment-24888</link> <dc:creator>Dominique De Vito</dc:creator> <pubDate>Fri, 23 Apr 2010 16:06:25 +0000</pubDate> <guid
isPermaLink="false">http://blog.xebia.fr/?p=4457#comment-24888</guid> <description>@Michael Figuière
Merci pour cette réponse.
Oui, je comprends et j&#039;avais déjà identifié JBoss Infinispan comme concurrent de Oracle Coherence, JBoss Infinispan dont la roadmap est effectivement prometteuse.
Reste que, qui peut le plus peut le moins, et quelqu&#039;un va bien finir par s&#039;apercevoir qu&#039;il y a déjà beaucoup de chose dans Cassandra et que ce serait intéressant de partir de là pour offrir une (autre) offre de grilles de données ; plutôt que de réaliser un développement de zéro, comme Hazelcast par ex (autre fournisseur d&#039;une grille de données, mais avec une &quot;force de frappe&quot; largement inférieure à Oracle ou Red Hat).</description> <content:encoded><![CDATA[<p>@Michael Figuière</p><p>Merci pour cette réponse.</p><p>Oui, je comprends et j&#8217;avais déjà identifié JBoss Infinispan comme concurrent de Oracle Coherence, JBoss Infinispan dont la roadmap est effectivement prometteuse.</p><p>Reste que, qui peut le plus peut le moins, et quelqu&#8217;un va bien finir par s&#8217;apercevoir qu&#8217;il y a déjà beaucoup de chose dans Cassandra et que ce serait intéressant de partir de là pour offrir une (autre) offre de grilles de données ; plutôt que de réaliser un développement de zéro, comme Hazelcast par ex (autre fournisseur d&#8217;une grille de données, mais avec une &laquo;&nbsp;force de frappe&nbsp;&raquo; largement inférieure à Oracle ou Red Hat).</p> ]]></content:encoded> </item> <item><title>Par : Michael Figuière</title><link>http://blog.xebia.fr/2010/04/21/nosql-europe-tour-dhorizon-des-bases-de-donnees-nosql/#comment-24886</link> <dc:creator>Michael Figuière</dc:creator> <pubDate>Fri, 23 Apr 2010 15:23:53 +0000</pubDate> <guid
isPermaLink="false">http://blog.xebia.fr/?p=4457#comment-24886</guid> <description>Merci à tous pour ces commentaires très constructifs.
@Lorber Sebastien: En effet les différents acteurs du monde du NoSQL s&#039;accordent à bien définir ces technologies en tant que &quot;Not Only SQL&quot; et non en tant que &quot;No SQL&quot;. Ainsi Facebook, le créateur de Cassandra, possède également l&#039;une des plus grosse installation Memcached+MySQL au monde. Il s&#039;agit donc clairement d&#039;utiliser la bonne solution de persistance pour chaque type de données, le tout bien sûr en tenant compte des contraintes d&#039;exploitation que les entreprises connaissent dans le monde réel...
@Fanf: Ces arguments en faveur de LDAP sont en effet tout à fait louables. Je pense que LDAP n&#039;est pas considéré parmi ces options de stockage alternatives liées au NoSQL en raison de sa complexité d&#039;une part et de sa nature &lt;em&gt;read mostly&lt;/em&gt; d&#039;autre part. En effet un annuaire LDAP n&#039;est pas la solution de stockage adaptée à des données qui évoluent régulièrement. Cassandra, Riak ou encore MongoDB se comportent très bien avec des ratios de lectures / écritures différents.
@Dominique De Vito: Johnatan Ellis, le &lt;em&gt;projet leader&lt;/em&gt; de Cassandra, affichait lors de la conférence de meilleurs performances en écriture qu&#039;en lecture pour Cassandra. Les retours de Twitter sur Cassandra, où encore l&#039;utilisation qu&#039;en fait Digg, tendent à montrer qu&#039;il est raisonnable de le considérer comme un stockage &lt;em&gt;globalement tolérant&lt;/em&gt; à divers types de ratio lecture / écriture. En outre, notons que les performances de Cassandra sont en évolution permanentes depuis plusieurs versions.
Les retours d&#039;expérience sur Cassandra suivront dans d&#039;autres articles la semaine prochaine. Et idéalement nous publierons quelques retours de nos propres expérimentations plus tard sur ce blog.
En ce qui concerne la comparaison à Oracle Coherence et aux &lt;em&gt;datagrids&lt;/em&gt; de manière générale, il apparaît que les cas d&#039;utilisations sont différents bien que se recoupant légèrement. En effet Coherence est adapté au stockage d&#039;information en mémoire, et bien qu&#039;il offre des mécanismes optionnels de persistance sur disque ou dans un SGBDR lors de chaque écriture, il semble raisonnable de le considérer plutôt comme une solution de persistance non durable, et donc mieux adapter aux données &lt;em&gt;live&lt;/em&gt;.
L&#039;alternative Open Source comparable à Coherence me semble plutôt être &lt;a href=&quot;http://www.jboss.org/infinispan&quot; rel=&quot;nofollow&quot;&gt;JBoss Infinispan&lt;/a&gt;, évolution de JBoss Cache en &lt;em&gt;datagrid&lt;/em&gt;, dont le &lt;em&gt;project leader&lt;/em&gt; &lt;a href=&quot;http://asylum.libsyn.com/index.php?post_id=562565&quot; rel=&quot;nofollow&quot;&gt;affiche des objectifs très ambitieux&lt;/a&gt;.
On peut considérer ces nuances de catégorisation des solutions de persistance comme minimes, mais vu l&#039;importance capitale de cette problématique en entreprise, il est intéressant de pouvoir trouver des produits répondant très exactement au besoin requis, lorsqu&#039;une telle exigence est de mise.
Michael Figuière (Xebia)</description> <content:encoded><![CDATA[<p>Merci à tous pour ces commentaires très constructifs.</p><p>@Lorber Sebastien: En effet les différents acteurs du monde du NoSQL s&#8217;accordent à bien définir ces technologies en tant que &laquo;&nbsp;Not Only SQL&nbsp;&raquo; et non en tant que &laquo;&nbsp;No SQL&nbsp;&raquo;. Ainsi Facebook, le créateur de Cassandra, possède également l&#8217;une des plus grosse installation Memcached+MySQL au monde. Il s&#8217;agit donc clairement d&#8217;utiliser la bonne solution de persistance pour chaque type de données, le tout bien sûr en tenant compte des contraintes d&#8217;exploitation que les entreprises connaissent dans le monde réel&#8230;</p><p>@Fanf: Ces arguments en faveur de LDAP sont en effet tout à fait louables. Je pense que LDAP n&#8217;est pas considéré parmi ces options de stockage alternatives liées au NoSQL en raison de sa complexité d&#8217;une part et de sa nature <em>read mostly</em> d&#8217;autre part. En effet un annuaire LDAP n&#8217;est pas la solution de stockage adaptée à des données qui évoluent régulièrement. Cassandra, Riak ou encore MongoDB se comportent très bien avec des ratios de lectures / écritures différents.</p><p>@Dominique De Vito: Johnatan Ellis, le <em>projet leader</em> de Cassandra, affichait lors de la conférence de meilleurs performances en écriture qu&#8217;en lecture pour Cassandra. Les retours de Twitter sur Cassandra, où encore l&#8217;utilisation qu&#8217;en fait Digg, tendent à montrer qu&#8217;il est raisonnable de le considérer comme un stockage <em>globalement tolérant</em> à divers types de ratio lecture / écriture. En outre, notons que les performances de Cassandra sont en évolution permanentes depuis plusieurs versions.<br
/> Les retours d&#8217;expérience sur Cassandra suivront dans d&#8217;autres articles la semaine prochaine. Et idéalement nous publierons quelques retours de nos propres expérimentations plus tard sur ce blog.</p><p>En ce qui concerne la comparaison à Oracle Coherence et aux <em>datagrids</em> de manière générale, il apparaît que les cas d&#8217;utilisations sont différents bien que se recoupant légèrement. En effet Coherence est adapté au stockage d&#8217;information en mémoire, et bien qu&#8217;il offre des mécanismes optionnels de persistance sur disque ou dans un SGBDR lors de chaque écriture, il semble raisonnable de le considérer plutôt comme une solution de persistance non durable, et donc mieux adapter aux données <em>live</em>.<br
/> L&#8217;alternative Open Source comparable à Coherence me semble plutôt être <a
href="http://www.jboss.org/infinispan" rel="nofollow">JBoss Infinispan</a>, évolution de JBoss Cache en <em>datagrid</em>, dont le <em>project leader</em> <a
href="http://asylum.libsyn.com/index.php?post_id=562565" rel="nofollow">affiche des objectifs très ambitieux</a>.<br
/> On peut considérer ces nuances de catégorisation des solutions de persistance comme minimes, mais vu l&#8217;importance capitale de cette problématique en entreprise, il est intéressant de pouvoir trouver des produits répondant très exactement au besoin requis, lorsqu&#8217;une telle exigence est de mise.</p><p>Michael Figuière (Xebia)</p> ]]></content:encoded> </item> <item><title>Par : Dominique De Vito</title><link>http://blog.xebia.fr/2010/04/21/nosql-europe-tour-dhorizon-des-bases-de-donnees-nosql/#comment-24868</link> <dc:creator>Dominique De Vito</dc:creator> <pubDate>Fri, 23 Apr 2010 10:36:04 +0000</pubDate> <guid
isPermaLink="false">http://blog.xebia.fr/?p=4457#comment-24868</guid> <description>Quid de la convergence Cassandra/grille de données ?
imho, Cassandra se rapproche de plus en plus d&#039;une grille de données comme Coherence.
Cassandra inclut des tables de hachage distribuées, partitionnement, haute disponibilité/tolérance aux pannes, map, reduce, select, etc.
J&#039;ai lu/recu des avis divergents à ce sujet :
- Certains indiquant que Cassandra fonctionne bien avec un ratio lecture/écriture de 10, voire plutôt de 100 et que Cassandra devait être envisagée uniquement pour des To de données (MySQL Cluster pouvant être utilisée quand il s&#039;agit de traiter des Go).
- D&#039;autres indiquant que Cassandra fonctionne bien aussi quand ce ratio n&#039;est pas atteint, et même pour des Go, voir http://linuxfr.org/2010/04/16/26743.html
Perso, je crois que la techno Cassandra devrait/va finir par se rapprocher encore plus du fonctionnement d&#039;une grille de données, et pourrait être envisagée comme alternative à Oracle Coherence.
Quel est votre avis à ce sujet ?
Merci
Avez-vous évalué Cassandra ?
Sous l&#039;angle d&#039;une grille de données ?</description> <content:encoded><![CDATA[<p>Quid de la convergence Cassandra/grille de données ?</p><p>imho, Cassandra se rapproche de plus en plus d&#8217;une grille de données comme Coherence.<br
/> Cassandra inclut des tables de hachage distribuées, partitionnement, haute disponibilité/tolérance aux pannes, map, reduce, select, etc.</p><p>J&#8217;ai lu/recu des avis divergents à ce sujet :<br
/> - Certains indiquant que Cassandra fonctionne bien avec un ratio lecture/écriture de 10, voire plutôt de 100 et que Cassandra devait être envisagée uniquement pour des To de données (MySQL Cluster pouvant être utilisée quand il s&#8217;agit de traiter des Go).<br
/> - D&#8217;autres indiquant que Cassandra fonctionne bien aussi quand ce ratio n&#8217;est pas atteint, et même pour des Go, voir <a
href="http://linuxfr.org/2010/04/16/26743.html" rel="nofollow">http://linuxfr.org/2010/04/16/26743.html</a></p><p>Perso, je crois que la techno Cassandra devrait/va finir par se rapprocher encore plus du fonctionnement d&#8217;une grille de données, et pourrait être envisagée comme alternative à Oracle Coherence.</p><p>Quel est votre avis à ce sujet ?<br
/> Merci</p><p>Avez-vous évalué Cassandra ?<br
/> Sous l&#8217;angle d&#8217;une grille de données ?</p> ]]></content:encoded> </item> <item><title>Par : Dominique De Vito</title><link>http://blog.xebia.fr/2010/04/21/nosql-europe-tour-dhorizon-des-bases-de-donnees-nosql/#comment-24867</link> <dc:creator>Dominique De Vito</dc:creator> <pubDate>Fri, 23 Apr 2010 10:32:48 +0000</pubDate> <guid
isPermaLink="false">http://blog.xebia.fr/?p=4457#comment-24867</guid> <description>Ah, les bases NoSQL...
Il y a un non-dit dans le domaine des bases de données.
Ce non-dit concerne : les bases de données objet !
Apparemment, elles sont frappées d&#039;ormeta.
Pour moi, la situation est claire : les bases NoSQL, voire les data grids, sont, en gros, un revamping des bases objet !
Détaillons la situation:
* Les bases NoSQL clé-valeur = stockage BLOB d&#039;une base objet
* Les bases NoSQL orientées document = stockage normal d&#039;une base objet
* Les bases NoSQL orientées colonnes = stockage colonne d&#039;une base objet
* Les bases NoSQL orientées graphe = stockage normal d&#039;une base objet
Idem, une data grid = espace de stockage objet + trigger + requêtage possible (select)
Une data grid, c&#039;est, pour moi, une base de données objet distribuée sans mécanisme transactionnel (encore que cela va arriver dans la v3.6 de Oracle Coherence).
On réinvente la roue, mais sous une forme légèrement différente, et avec une autre nom.
Et cela fonctionne mieux car on ne prend que les fonctionnalités/contraintes qui répondent à tel ou tel besoin.
Je rejoins donc &quot;Fanf&quot; quand il indique de ne pas passer à la trappe les annuaires LDAP dans cette affaire !
Et je m&#039;étonne, et je trouve dommage, que les fournisseurs d&#039;annuaires LDAP et de base objet n&#039;aient pas senti le vent tourner pour revamper leurs solutions, en solutions NoSQL...</description> <content:encoded><![CDATA[<p>Ah, les bases NoSQL&#8230;</p><p>Il y a un non-dit dans le domaine des bases de données.<br
/> Ce non-dit concerne : les bases de données objet !<br
/> Apparemment, elles sont frappées d&#8217;ormeta.</p><p>Pour moi, la situation est claire : les bases NoSQL, voire les data grids, sont, en gros, un revamping des bases objet !</p><p>Détaillons la situation:<br
/> * Les bases NoSQL clé-valeur = stockage BLOB d&#8217;une base objet<br
/> * Les bases NoSQL orientées document = stockage normal d&#8217;une base objet<br
/> * Les bases NoSQL orientées colonnes = stockage colonne d&#8217;une base objet<br
/> * Les bases NoSQL orientées graphe = stockage normal d&#8217;une base objet</p><p>Idem, une data grid = espace de stockage objet + trigger + requêtage possible (select)<br
/> Une data grid, c&#8217;est, pour moi, une base de données objet distribuée sans mécanisme transactionnel (encore que cela va arriver dans la v3.6 de Oracle Coherence).</p><p>On réinvente la roue, mais sous une forme légèrement différente, et avec une autre nom.<br
/> Et cela fonctionne mieux car on ne prend que les fonctionnalités/contraintes qui répondent à tel ou tel besoin.</p><p>Je rejoins donc &laquo;&nbsp;Fanf&nbsp;&raquo; quand il indique de ne pas passer à la trappe les annuaires LDAP dans cette affaire !</p><p>Et je m&#8217;étonne, et je trouve dommage, que les fournisseurs d&#8217;annuaires LDAP et de base objet n&#8217;aient pas senti le vent tourner pour revamper leurs solutions, en solutions NoSQL&#8230;</p> ]]></content:encoded> </item> <item><title>Par : Fanf</title><link>http://blog.xebia.fr/2010/04/21/nosql-europe-tour-dhorizon-des-bases-de-donnees-nosql/#comment-24761</link> <dc:creator>Fanf</dc:creator> <pubDate>Wed, 21 Apr 2010 19:54:19 +0000</pubDate> <guid
isPermaLink="false">http://blog.xebia.fr/?p=4457#comment-24761</guid> <description>@Lorber Sebastien : tous les problèmes ne sont pas adaptés au stockage en base de données relationnelles. Donc, en effet, ca demande de prendre un peu de recul sur les différents cas d&#039;utilisations, et c&#039;est là qu&#039;est la plus grosse difficulté.
Voici un exemple de cas d&#039;utilisation mixte SGBD/&quot;NoSQL&quot; dans la vrai vie: http://debasishg.blogspot.com/2009/12/case-for-hybrid-sql-nosql-stack.html
Et de façon plus générale, un exemple de système hétérogène: http://debasishg.blogspot.com/2010/01/new-way-to-think-of-data-storage-for.html
@Xebia: une remarque: on oublie systématiquement les annuaires LDAP comme base de données NoSQL. Pourtant, ils ont de nombreux avantages, qui complètent bien le paysage (typiquement, pour les parties API publiques, avec pourquoi pas de la gestion de droits complexes, vu que c&#039;est donné):
- ils ont une organisation semi-structuré en arbre, avec des schémas pour les entrées (donc à mi-chemin d&#039;une base de données orienté document et d&#039;une base orientée graphe),
- LDAP est un protocole normalisé, répandu et pour lequel il existe au moins un client/une bibliothèque pour chaque langage/OS/etc,
- les annuaires ont des années d&#039;existence et de débuggage derrière eux,
- ils ont été parmi les premiers à faire pencher le compromis performance/complexité des requete vers les premières : un annuaire OpenLDAP sur un serveur correct a permis de créer une base de 6 *milliards* d&#039;entrées, avec des dizaines de milliers de requêtes par secondes traitées - malheureusement pas de sources sur le sujet, les plus récente que je trouve date d&#039;une éternité (2006), mais restent parlantes: http://www.openldap.org/pub/hyc/LDAPcon2007.pdf ).
Bémols: pas de transaction, pas de langage de requêtes avec join - mais apparemment, depuis que le mouvement NoSQL prend de l&#039;ampleur, on se rend compte que le trade-off peut être intéressant.
Pour continuer dans l&#039;ouverture :)</description> <content:encoded><![CDATA[<p>@Lorber Sebastien : tous les problèmes ne sont pas adaptés au stockage en base de données relationnelles. Donc, en effet, ca demande de prendre un peu de recul sur les différents cas d&#8217;utilisations, et c&#8217;est là qu&#8217;est la plus grosse difficulté.</p><p>Voici un exemple de cas d&#8217;utilisation mixte SGBD/&nbsp;&raquo;NoSQL&nbsp;&raquo; dans la vrai vie: <a
href="http://debasishg.blogspot.com/2009/12/case-for-hybrid-sql-nosql-stack.html" rel="nofollow">http://debasishg.blogspot.com/2009/12/case-for-hybrid-sql-nosql-stack.html</a><br
/> Et de façon plus générale, un exemple de système hétérogène: <a
href="http://debasishg.blogspot.com/2010/01/new-way-to-think-of-data-storage-for.html" rel="nofollow">http://debasishg.blogspot.com/2010/01/new-way-to-think-of-data-storage-for.html</a></p><p>@Xebia: une remarque: on oublie systématiquement les annuaires LDAP comme base de données NoSQL. Pourtant, ils ont de nombreux avantages, qui complètent bien le paysage (typiquement, pour les parties API publiques, avec pourquoi pas de la gestion de droits complexes, vu que c&#8217;est donné):<br
/> - ils ont une organisation semi-structuré en arbre, avec des schémas pour les entrées (donc à mi-chemin d&#8217;une base de données orienté document et d&#8217;une base orientée graphe),<br
/> - LDAP est un protocole normalisé, répandu et pour lequel il existe au moins un client/une bibliothèque pour chaque langage/OS/etc,<br
/> - les annuaires ont des années d&#8217;existence et de débuggage derrière eux,<br
/> - ils ont été parmi les premiers à faire pencher le compromis performance/complexité des requete vers les premières : un annuaire OpenLDAP sur un serveur correct a permis de créer une base de 6 *milliards* d&#8217;entrées, avec des dizaines de milliers de requêtes par secondes traitées &#8211; malheureusement pas de sources sur le sujet, les plus récente que je trouve date d&#8217;une éternité (2006), mais restent parlantes: <a
href="http://www.openldap.org/pub/hyc/LDAPcon2007.pdf" rel="nofollow">http://www.openldap.org/pub/hyc/LDAPcon2007.pdf</a> ).</p><p>Bémols: pas de transaction, pas de langage de requêtes avec join &#8211; mais apparemment, depuis que le mouvement NoSQL prend de l&#8217;ampleur, on se rend compte que le trade-off peut être intéressant.</p><p>Pour continuer dans l&#8217;ouverture <img
src='http://blog.xebia.fr/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /></p> ]]></content:encoded> </item> <item><title>Par : Lorber Sebastien</title><link>http://blog.xebia.fr/2010/04/21/nosql-europe-tour-dhorizon-des-bases-de-donnees-nosql/#comment-24746</link> <dc:creator>Lorber Sebastien</dc:creator> <pubDate>Wed, 21 Apr 2010 16:10:54 +0000</pubDate> <guid
isPermaLink="false">http://blog.xebia.fr/?p=4457#comment-24746</guid> <description>Et concrètement cela veut dire quoi?
Que l&#039;on devrait conserver son SGBD traditionnel pour la gestion et mettre en parallèle d&#039;autres bases NoSQL pour des besoins plus spécifiques comme un cache ou un réseau social?</description> <content:encoded><![CDATA[<p>Et concrètement cela veut dire quoi?<br
/> Que l&#8217;on devrait conserver son SGBD traditionnel pour la gestion et mettre en parallèle d&#8217;autres bases NoSQL pour des besoins plus spécifiques comme un cache ou un réseau social?</p> ]]></content:encoded> </item> </channel> </rss>
