Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

  1. #1
    Expert éminent sénior
    CouchDB : la base de données NoSql arrive sur Windows. Il serait plus rapide et plus simple d'utilisation
    CouchDB : la base de données NoSql arrive sur Windows
    Ce projet open-source de la Fondation Apache serait plus rapide et plus simple d'utilisation que les SGBD classiques


    Le premier système de gestion de base de donnée non relationnel (ou NoSql) stable et prêt pour un usage en production vient d'être lancé. Il s'appelle «CouchDB», a annoncé mercredi la société Couchio, qui sponsorise le projet.

    Deux améliorations majeures ont valu à cette version 1.0 le chiffre rond : une nette amélioration des performances, et la compatibilité de la nouvelle version avec les systèmes Windows.

    A en croire les tests de benchmarking réalisés par l'entreprise, la nouvelle version serait jusqu'à 300% plus rapide en lecture et écriture, résultat d'un important travail sur l'optimisation du code source.

    Il s'agit de la première version de CouchDB entièrement fonctionnelle sous Windows, que ce soit Serveur et Desktop, les versions précédentes ne tournaient que sous Linux.

    Une variante développée par Google existe pour Android.

    CouchDB stocke les données dans de simples paires clés-valeurs JSON, format de données emprunté au Javascript.

    Une base CouchDB pourrait être interrogée via de simples requêtes HTTP.

    Cette technologie devrait intéresser les développeurs web, essentiellement pour la sauvegarde hors-ligne des données des applications web qui doivent fonctionner même sans accès internet.

    En outre, développer pour CouchDB serait plus facile que pour une base de données relationnelle. Il n'est pas nécessaire par exemple de savoir formuler des requêtes SQL pour insérer ou extraire les données d'une base.

    CouchDB repose sur une implémentation de Google MapReduce pour construire ses requêtes.

    Le développement de CouchDB a commencé en 2005 dans les laboratoires d'IBM comme projet pour Lotus Notes afin d'aider la réplication hors ligne des données.

    En 2008, le projet est devenu open-source et indépendant, avant que Couchio ne commence à assurer son support.

    CouchDB est un projet de la Fondation Apache. Le SGBD et son code source sont disponibles en téléchargement sur cette page.


    Source : Le site de Couchio



    Lire aussi :

    Des développeurs vous offrent une méthode d'utilisation de NoSQL, cette technologie est-elle un must ou un feu de paille ?

    Apache Cassandra en version 0.6.0 est disponible : gain de performances de 30 % pour la base de données NoSQL

    Faut-il en finir avec la mode NoSQL ? Ou est-ce plus qu'une simple mode passagère ?


    Les rubriques (actu, forums, tutos) de Développez :

    SGBD
    Windows
    Apache
    Développement Web
    Mobile


    Et vous ?

    Allez-vous tester cette version pour vos développement ?
    Sa sortie aidera-elle l'émergence du NoSql?


    En collaboration avec Gordon Fowler

  2. #2
    Membre expert
    Enfin une alternative à SQLite ?
    Une erreur fréquente que les gens font quand ils tentent de réaliser quelque chose à l'épreuve des imbéciles est de sous-estimer l'ingéniosité de ceux-ci. - Douglas Adams

  3. #3
    Membre régulier
    et enfin une implémentation de NoSql en windows, c'est bien pour remplacer l'ancien langage SQL
    Knoweledge Is Power In Digital World

  4. #4
    Membre expert
    Citation Envoyé par mitnick2006 Voir le message
    et enfin une implémentation de NoSql en windows, c'est bien pour remplacer l'ancien langage SQL
    Tout dépend de l'utilisation que tu en fais J'utilise certains types d'applications qui utilisent une base SQLite et pour lesquelles je pense que NoSQL aurait un peu plus d'intérêt, par contre d'autres pour lesquelles MySQL (que j'utilise) reste imbattable.
    Une erreur fréquente que les gens font quand ils tentent de réaliser quelque chose à l'épreuve des imbéciles est de sous-estimer l'ingéniosité de ceux-ci. - Douglas Adams

  5. #5
    Membre éclairé
    Je serais vivement intéressé par un tutoriel pour expliquer la mise en oeuvre d'une base NoSQL, notamment la construction des requêtes, et qui aborde aussi la théorie afin de comprendre comment ça tourne.

  6. #6
    Membre chevronné
    Citation Envoyé par verbose Voir le message
    Je serais vivement intéressé par un tutoriel pour expliquer la mise en oeuvre d'une base NoSQL, notamment la construction des requêtes, et qui aborde aussi la théorie afin de comprendre comment ça tourne.
    -> http://refcardz.dzone.com/refcardz/g...nosql-and-data

  7. #7
    Membre habitué
    c 'est moi ou on mélange tout ici ? ( réf à : Enfin un remplaçant de SQLite ? , c'est bien pour remplacer l'ancien langage SQL)

    parce que nosql est juste un base de donnée non relationnelle tandis que le sql est un language d'interrogation de base de données relationnelles.
    Bref ceux qui ont besoin de stoker des données de façon relationnelle le feront avec un bdd rel comme SQLite, et les autres pourront utiliser Nosql. Les premiers pourront utiliser le sql pour interroger leur bdd les autres un autre language (peut-on vraiment parler de language dans le cas de bdd non relationnel ?)

  8. #8
    Membre expert
    Citation Envoyé par zoonel Voir le message
    c 'est moi ou on mélange tout ici ? ( réf à : Enfin un remplaçant de SQLite ? , c'est bien pour remplacer l'ancien langage SQL)
    Non, j'ai certaines applis qui utilisent SQLite alors que NoSQL suffirait simplement, seulement à l'époque où ça a été conçu, NoSQL n'existait pas ou était totalement inconnu
    Une erreur fréquente que les gens font quand ils tentent de réaliser quelque chose à l'épreuve des imbéciles est de sous-estimer l'ingéniosité de ceux-ci. - Douglas Adams

  9. #9
    Membre actif
    hummm...

    Ça pourrait être intéressant dans le cadre de projet nécessitant le stockage d'information totalement paramétrable...

    NoSQL permet les transactions?

  10. #10
    Nouveau membre du Club
    Citation Envoyé par dtcSearch Voir le message
    hummm...

    Ça pourrait être intéressant dans le cadre de projet nécessitant le stockage d'information totalement paramétrable...

    NoSQL permet les transactions?
    A l'époque où je l'ai testée, Big Table (via google app engine) ne supportait que les single row transactions. C'est surement le prix a payer pour une base très scalable..

  11. #11
    Rédacteur

    Citation Envoyé par zoonel Voir le message
    Bref ceux qui ont besoin de stoker des données de façon relationnelle le feront avec un bdd rel comme SQLite, et les autres pourront utiliser Nosql. Les premiers pourront utiliser le sql pour interroger leur bdd les autres un autre language (peut-on vraiment parler de language dans le cas de bdd non relationnel ?)
    "Stocker des données de façon relationnelle" ? C'est à dire ?

    Parce qu' il est tout a fait possible de stocker un modèle de données contenant des relations dans une base NoSql. Google et Amazon font ca tout le temps.

    Pour moi, 90% du temps un développeur a juste besoin de stocker des données. Auquel cas, le coté "relationnel" du stockage c'est plus une contrainte technique qu'une nécessité.
    ALGORITHME (n.m.): Méthode complexe de résolution d'un problème simple.

  12. #12
    Nouveau membre du Club
    noSQL ne peut remplacer un sgbdr
    noSQL porte mal son nom, on devrait parler de noRelation. La question du langage SQL ne fait qu'en découler.
    Le modèle relationnel ne peut pas être implémenté avec un moteur noSQL. L'intérêt de noSQL est dans l'accès hyper-rapide et parallèle de données sans relations entre elles, ce qui est un besoin qui revient souvent dans domaine du web. Mais quand on a le besoin de rapprocher 2 données noSQL, la tentation est forte de réinventer la jointure en la codant.
    noSQL ne gère généralement pas les transactions. C'est une technologique jeune sans trop d'outillage. Elle garde son intérêt dans des cas particuliers (pas si particulier que ça dans le domaine du web)

  13. #13
    Membre actif
    Je trouve l'idée potentiellement intéressante pour des problématiques bien particulières, mais je ne vois pas pour l'instant l'intérêt qu'elle peut avoir au "quotidien".
    Je dois admettre que j'ai du mal à concevoir un modèle de données non relationnel ^^' (même pour du web oO )
    En même temps, je suis jeune, et la techno aussi
    Affaire à suivre donc, je testerai peut-être si j'ai le temps, mais je n'en fais pas une priorité.

  14. #14
    Membre du Club
    Le concept de NoSQl ou du moins pour le peu que j'ai compris semble assez interessant en effet si les tables n'ont aucunes relations entre elles. Même si je l'avoue, je n'en perçois pas trop l'intérêt s'il s'agit juste de stocker des données!
    Par contre je me demande s'il est possible de connecter deux BdD NoSQL à l'aide de MySQL sans devoir importer les tables de chaque base?
    Ou encore, peut-on constituer une BdD NoSQL à partir de tables prises individuellement (et n'ayant 2 à 2 aucunes relations) dans des BdD MySQL déjà existantes?

  15. #15
    Responsable .NET

    Citation Envoyé par susanoo Voir le message
    Le concept de NoSQl ou du moins pour le peu que j'ai compris semble assez intéressant en effet si les tables n'ont aucunes relations entre elles. Même si je l'avoue, je n'en perçois pas trop l'intérêt s'il s'agit juste de stocker des données!

    Il ne s'agit pas juste de stocker des données, un facteur très important dans une application est la rapidité hors avec NoSQL il y'a une certaine rapidité dans l'access en lecture comme en écriture.

    Citation Envoyé par susanoo Voir le message
    Par contre je me demande s'il est possible de connecter deux BdD NoSQL à l'aide de MySQL sans devoir importer les tables de chaque base?
    Ou encore, peut-on constituer une BdD NoSQL à partir de tables prises individuellement (et n'ayant 2 à 2 aucunes relations) dans des BdD MySQL déjà existantes?
    J'ose croire que tu demandes plutôt comment transférer les données d'une BD Mysql vers une BD NoSQL. Tu peux toujours faire un script qui transfert tes données de ta BD Mysql vers ta BD NoSQL.

    Etant habitué à manipuler des données semi structurées ou pas que je stockais au format XML(que je trouve trop verbeux et lourd des fois), je crois que NoSQL est une bonne alternative pour moi. Je vais sur le champs télécharger et tester le truc

    @++
    Vous souhaitez participer aux rubriques .NET ? Contactez-moi

    Si déboguer est l’art de corriger les bugs, alors programmer est l’art d’en faire
    Mon blog, Mes articles, Me suivre sur Twitter
    En posant correctement votre problème, on trouve la moitié de la solution

  16. #16
    Expert confirmé
    Personnellement, je n'en vois pas l'utilité. Même avec un sgbd normal on peut faire des tables non relationnelles. Le SQL est un langage performant et rapide, les SGBDR sont de plus en plus efficaces et sécurisés et leur gestion des données possède des temps de réponse pour des millions d'enregistrements de l'ordre de la seconde en restitution et en ecriture c'est guère plus lent..
    Je comprends que l'on puisse vouloir autre chose, mais je n'en vois pas l'intérêt.
    Rejoignez la communauté du chat et partagez vos connaissances ou vos questions avec nous

    Mon Tutoriel pour apprendre les Agregations
    Consultez mon Blog SQL destiné aux débutants

    Pensez à FAQ SQL Server Ainsi qu'aux Cours et Tuto SQL Server

  17. #17
    Membre actif
    Citation Envoyé par Lyche Voir le message
    Personnellement, je n'en vois pas l'utilité....
    Je comprends que l'on puisse vouloir autre chose, mais je n'en vois pas l'intérêt.
    Je comprends bien que tu ne comprends pas

    CouchDB est un concept assez diffèrent des bases de données relationnelles classiques. Ce n'est pas un «*concurrent*» mais simplement un concept diffèrent.

    L'idée de base consiste à résoudre la problématique de la gestion de volumes de données importantes dans un environnement pleinement distribué.

    Ceci inclut la répartition des calculs et la réplication des données sur N noeuds, problématiques incontournables lorsqu'on est dans un environnement virtualisé/clusterisé/cloudé ou tout simplement lorsqu'on souhaite faire une féderation de données sur plusieurs serveurs.

    CouchDB intègre la notion de réplication de données au coeur même du modèle de stockage en proposant un système de révision interne. Cela facilite la réplication, qu'elle soit simple (maitre/esclave) ou bien répartie (fully meshed).

    Avec CouchDB tu peux sereinement et facilement construire des clusters de données alors que c'est une vrai galère avec les moteurs traditionnels.

    D'ailleurs si les moteurs type MySQL sont performants en stand-alone, leur performances frisent le tragique dès lors qu'on est dans un cas de réplication (même simple) avec un volume important en écriture.

    CouchDB a aussi ses «*mauvais côtés*». En effet les bases de données relationnelles reposent sur le fait que les données sont structurées et complexes (relations, règles d’intégrité), alors que CouchDB n'est prévu que pour gérer des données simples ( en fait ce sont des couples clé/valeur, des simples hash-map ).

    Donc CouchDB n'est peut-être pas plus performant qu'un moteur relationnel dans certains cas et lorsqu'on utlise des données complèxes (les relations sont impléméntables, mais engendrent un surcroit de temps de calcul), mais lorsqu'on traite des données simples, ou alors qu'on peut se permettre de dupliquer une partie de celles ci, alors ses performances sont vraiement mises en valeurs.

    Pour revenir à ton interrogation, «*on veut autre chose*» que les moteurs relationnels quand il s'agit de gérer un énorme volume de données, repartis sur N noeuds, et avec un temps d'accès quasi constant et scalable et qu'on ne dispose pas d'une infrastructure hardware ultra performante ni d'une équipe de DBA avec 10 ans d’expérience dans le clustering .

    Par contre «*on veut*» du relationnel quand on fait une «*appi de gestion*» (au sens large), et qu'on est prêt à faire des concessions sur la distribution des traitements et des données.

    D'ailleurs, fort heureusement, les deux peuvent cohabiter sans aucun souci

    De plus les deux mondes vont aussi évoluer dans les années à venir. Il n'est pas dit que l'arrivée des bases NoSQL ne secouent pas un peu les concepts internes des moteurs classique. Et il est fort probable que les bases NoSQL évoluent aussi pour gérer de manière plus efficace des données complexes, tout en restant distribuables.

    Pour ceux que ça intéresse, il y a un livre "on line" qui explique les concepts de CouchDB et présente un use case classique sur http://books.couchdb.org/relax/

    Suite au succès de CouchDB dans le monde libre, les créateurs et principaux contributeurs ont crée Couch IO (http://www.couch.io), une société de conseil axée sur CouchDB, voir. Ceci est plutôt une très bonne nouvelle, car cela permettra de proposer des solutions commerciales autour de couch.

  18. #18
    Expert confirmé
    Merci pour cette explication
    Par contre, tu me parles de MySQL, mais honnêtement c'est loin d'être une référence pour moi en terme de SGBDR. J'aurais tendance à le déconseiller tant ce système est archaïque et à la masse question sécurité. (Je parle pour mon cas d'exploitation de sgbd, banque, banques d'affaires et de finances, BI et données gérées par Tera Octets)
    Rejoignez la communauté du chat et partagez vos connaissances ou vos questions avec nous

    Mon Tutoriel pour apprendre les Agregations
    Consultez mon Blog SQL destiné aux débutants

    Pensez à FAQ SQL Server Ainsi qu'aux Cours et Tuto SQL Server

  19. #19
    Membre éprouvé
    Facile?
    <<...serait plus facile que pour une base de données relationnelle. Il n'est pas nécessaire par exemple de savoir formuler des requêtes SQL...>>

    SQL est facile! Surtout comparé à n'importe quelle technologie moderne web qui ont toutes la particularité d'être complexe!

    Si on n'est pas capable de comprendre SQL je ne crois pas que grand chose soit possible.

    Mais bon je suppose que ce n'est la raison première de s'intéresser à cette chose et que la comparaison même avec SQL n'a pas de sens.
    C'est comme si MS-Word s'appelait MS-noExcel parce que c'est mieux pour faire du traitement de texte ou pas?

    Fred

  20. #20
    Membre du Club
    D'ailleurs à quand la section no-sql dans les forums ???

###raw>template_hook.ano_emploi###