MongoDB 2.0 disponible
Améliorations des performances, de la réplication et la concurrence pour la base de données NoSQL

Le , par Hinault Romaric, Responsable .NET
L’entreprise 10gen et la communauté MongoDB viennent d’annoncer la disponibilité de la version 2.0 de la base de données NoSQL.

La version finale de MongoDB 2.0 apporte de nombreuses nouvelles fonctionnalités, des améliorations aux fonctionnalités existantes et des améliorations de performance.

La nouvelle mouture de la base de données NoSQL inclut des améliorations de la concurrence. Selon les explications de 10gen, cette fonctionnalité marque le début d’un effort beaucoup plus important dans ce domaine. Fondamentalement, l’idée est de s’assurer que le serveur ne tiendra pas un verrou en écriture lorsqu’il effectue une lecture de données hors du disque.

MongoDB 2.0 permet de stimuler la performance globale de la base de données en rendant plus facile la sauvegarde des index en mémoire. Les développeurs de l’outil ont également optimisé le traitement des indices, de sorte que les recherches d’indices simples soient plus rapides de 25% en moyenne.

Par ailleurs, Mongo DB apporte un certain nombre de fonctionnalités « datacenter aware » à savoir : les priorités et le marquage.

Le marquage permettra aux administrateurs de tagger les machines et imposer l’écriture de données sur plusieurs répliques, serveurs ou Datacenters. Cette fonction permettra aux utilisateurs de mieux contrôler la réplication de leurs données et garantir la validation de certaines écritures importantes.

Les priorités, quant à elles, permettront de disposer de nœuds primaires si l’administrateur se trouve dans un environnement non homogène.

Au final, ces fonctionnalités rendent donc l’utilisation de cette nouvelle version de MongoDB plus facile dans un environnement de production par les entreprises.

Télécharger MongoDB 2.0

Source : Blog MongoDB

Et vous ?

Que pensez-vous de MongoDB?


Vous avez aimé cette actualité ? Alors partagez-la avec vos amis en cliquant sur les boutons ci-dessous :


 Poster une réponse

Avatar de FrontLine FrontLine - Membre habitué http://www.developpez.com
le 10/10/2011 à 13:06
Citation Envoyé par digitaldna  Voir le message
On pensait que la mode passerait mais étrangement elle se renforce et si c'est tellement bien la question est pourquoi aucune entreprise ne l'exploite ?

Tu as fais un sondage pour dire qu'aucune entreprise ne l'exploite ?
Dans ma boite on l'utilise, quelques projets sont en prod sous MongoDB.
C'est un peu prise de tête pour certains traitement complexe (surtout si le document n'est pas correctement pensé dès le départ) mais c'est un plaisir de bosser avec.

@Arnaud B. : De mon coté ce qui m'attire c'est :
- la performance
- Schema libre et évolutif à souhait
- la facilité à mettre en cluster
- la syntaxe, je préfère travailler directement avec les objets de données
Avatar de Arnaud B. Arnaud B. - Membre confirmé http://www.developpez.com
le 14/10/2011 à 16:47
Mais qu'est ce qui empêche de faire un schéma évolutif dans un SGBDR classique ?
Il suffit de faire un méta-modèle : un modèle qui se décrit lui-même.

Ou de concevoir un modèle très souple dès le départ.

Ou de le faire évoluer classiquement par des ordres DDL. Il y a des SGBDR qui font ça à chaud, et dans une transaction.

Je peux me tromper car je n'ai jamais utilisé de bases NoSQL, et donc je ne maitrise pas l'utilisation que (par exemple) tu en fais, mais rien n'empêche dans un SGBDR d'avoir une seule table avec une colonne id, une colonne typeobjet, et une colonne qui stocke une donnée structurée style XML, JSON... si du moins c'est le but recherché...

Après, que ces bases aient été spécialement optimisées pour ce genre de donnée... peut être... mais alors ça n'aurait vraiment pas de sens de comparer SGBDR et NoSQL... car un SGBDR sert à faire 1000 fois plus de chose que ça...

Cdlt, Arnaud.

Citation Envoyé par FrontLine  Voir le message

@Arnaud B. : De mon coté ce qui m'attire c'est :
- la performance
- Schema libre et évolutif à souhait
- la facilité à mettre en cluster
- la syntaxe, je préfère travailler directement avec les objets de données

Avatar de FrontLine FrontLine - Membre habitué http://www.developpez.com
le 15/10/2011 à 2:06
Effectivement c'est largement possible de faire ça avec une base relationnelle. Changer les champs et la structure à chaud, etc
Le NoSQL n'apporte rien de révolutionnaire, c'est différent, prévu pour le schéma libre (les documents d'une collection (entendre table) peuvent être tous différent) et ça le fait bien

Dans les SGBD classique (MySQL en tout cas) pour chercher dans une colonne remplit de texte (xml ou Json par exemple) c'est du fulltext (ou like & co) et pour l'utilisation que j'en fais ce n'est pas précis.

Par exemple je stock direct les tags dans les articles :
Code : Sélectionner tout
$Article->find(array('tags' => 'mon tag'))->sort(array('published' => -1));
Si le champ "tags" n'existe pas dans certains documents je ne vais pas me prendre une erreur vue que c'est un fonctionnement normal de la chose.

idem pour les commentaire :
Code : Sélectionner tout
$Article->find(array('comment.$.author' => 'toto'))->limit(10);
On peut aussi chercher avec une regex.
Monter un cluster se fait assez simplement, bref c'est une question de goût et ce n'est pas comparable. Comme tu dis les SGBDR sont mieux équipés pour le traitement de données, tout dépend du besoin.
Avatar de Nithril Nithril - Membre régulier http://www.developpez.com
le 15/10/2011 à 14:00
Et si on devait faire la même chose en SGBDR ca serait aux developpeurs de le concevoir et de le maintenir. Mongodb existe et il le fait très bien.
Avatar de solisoft solisoft - Candidat au Club http://www.developpez.com
le 03/11/2011 à 9:17
Nous avons créé le site http://mongood.com qui vous permet de tester le service gratuitement ...

Merci pour vos retours.
Avatar de Webselect Webselect - Membre régulier http://www.developpez.com
le 09/11/2011 à 15:11
Voici un lien intéressant à lire sure le pourquoi NE PAS utilisé MongoDB : http://pastebin.com/raw.php?i=FD3xe6Jt
Avatar de Arnaud B. Arnaud B. - Membre confirmé http://www.developpez.com
le 09/11/2011 à 17:22
OK, je comprends mieux l'utilisation qu'on fait des bases NoSQL désormais.

J'ai le sentiment que ce sont des fonctionnalités que les SGBDR classiques auraient pu proposer sans trop bouleverser leur conception mais qu'ils n'ont pas su (ou pas voulu) adresser ces besoins.

Peut être que ca va évoluer.

Cdlt, Arnaud.

Citation Envoyé par FrontLine  Voir le message
Effectivement c'est largement possible de faire ça avec une base relationnelle. Changer les champs et la structure à chaud, etc
Le NoSQL n'apporte rien de révolutionnaire, c'est différent, prévu pour le schéma libre (les documents d'une collection (entendre table) peuvent être tous différent) et ça le fait bien

Dans les SGBD classique (MySQL en tout cas) pour chercher dans une colonne remplit de texte (xml ou Json par exemple) c'est du fulltext (ou like & co) et pour l'utilisation que j'en fais ce n'est pas précis.

Par exemple je stock direct les tags dans les articles :
Code : Sélectionner tout
$Article->find(array('tags' => 'mon tag'))->sort(array('published' => -1));
Si le champ "tags" n'existe pas dans certains documents je ne vais pas me prendre une erreur vue que c'est un fonctionnement normal de la chose.

idem pour les commentaire :
Code : Sélectionner tout
$Article->find(array('comment.$.author' => 'toto'))->limit(10);
On peut aussi chercher avec une regex.
Monter un cluster se fait assez simplement, bref c'est une question de goût et ce n'est pas comparable. Comme tu dis les SGBDR sont mieux équipés pour le traitement de données, tout dépend du besoin.

Avatar de Webselect Webselect - Membre régulier http://www.developpez.com
le 09/11/2011 à 19:27
Citation Envoyé par Arnaud B.  Voir le message
OK, je comprends mieux l'utilisation qu'on fait des bases NoSQL désormais.

J'ai le sentiment que ce sont des fonctionnalités que les SGBDR classiques auraient pu proposer sans trop bouleverser leur conception mais qu'ils n'ont pas su (ou pas voulu) adresser ces besoins.

Peut être que ca va évoluer.

Cdlt, Arnaud.

Va voir doctrine (http://www.doctrine-project.org/)
Avatar de JeitEmgie JeitEmgie - Membre expert http://www.developpez.com
le 10/11/2011 à 11:08
Citation Envoyé par Webselect  Voir le message
Voici un lien intéressant à lire sure le pourquoi NE PAS utilisé MongoDB : http://pastebin.com/raw.php?i=FD3xe6Jt

FYI

- la réponse de Eliot Horowitz, CTO de 10gen's à propos de ce post anonyme :
First, I tried to find any client of ours with a track record like this and have been unsuccessful. I personally have looked at every single customer case that’s every come in (there are about 1600 of them) and cannot match this story to any of them. I am confused as to the origin here, so answers cannot be complete in some cases.

(en résumé : contrairement aux affirmations du post, aucun rapport d'incident dans leur suivi client ne correspond à l'histoire racontée).

- MongoDB est supporté par le service CloudFoundry de VMWare : une société qui n'a pas la réputation de mettre en ligne des technologies à moitié abouties.

Conclusion :

testez MongoDB vous-même par rapport à vos besoins propres et avec vos critères, par ceux du voisin.
Avatar de FrontLine FrontLine - Membre habitué http://www.developpez.com
le 06/01/2012 à 18:01
Par contre le clustering (replica set et sharding) merde avec OpenVZ, ça c'est dommage.
Avatar de JeitEmgie JeitEmgie - Membre expert http://www.developpez.com
le 07/01/2012 à 9:05
Citation Envoyé par FrontLine  Voir le message
Par contre le clustering (replica set et sharding) merde avec OpenVZ, ça c'est dommage.

Voir https://jira.mongodb.org/browse/SERVER-1121

(c'est un problème OpenVZ pas MongoDB, et qui est résolu dans les versions de OpenVZ basées sur le noyau RHEL6).
Offres d'emploi IT
Stage IHMs et GWT (H/F)
Atos Technology Services - Provence Alpes Côte d'Azur - Nice
Ingénieur expert technique - sharepoint H/F
Régions - Centre de Services National Sogeti - Aquitaine - Toulouse (31000)
Ingénieur en Dévelopemment Python H/F
CLOUDWATT - Ile de France - Boulogne

Voir plus d'offres Voir la carte des offres IT
Contacter le responsable de la rubrique Accueil