mongodb ? hein ? quoi ?

mongodb ? hein ? quoi ? - SQL/NoSQL - Programmation

Marsh Posté le 02-02-2016 à 17:16:28    

Hello,
 
  Depuis le temps que j'en entendait parler, il fallait bien que je test. Et bien j'ai du passé à coté de quelque chose car je comprends pas bien l’Intérêt, tout du moins dans mon métier où j'ai beaucoup besoin de compter (group by, sum, count, where, having ...) et cela sur un volume important de données.
 
Voici un petit retour de bench, ca ne vaut pas un vrai test de laboratoire mais les écart de perf suffise à ce que je me fasse une idée. Le test se fait sur une de table 300 M de ligne, 2 colonnes.
 
SELECT count(*), device FROM donnees_lmd_pierre GROUP BY device;
db.donnees_lmd_pierre.aggregate({"$group" : {"_id":"$device" , "count" : {$sum:1 }} });
 
Mysql : 2 min 47
Mongodb : 7 min 06
monetdb : 2 sec  
 
en ajoutant un index sur la colonne device sur mongodb et mysql : (durée d'ajout sur mysql : 20 min  et mongodb : 35 min )
Mysql : 2 min 00
Mongodb : 6 min 45
monetdb : 2 sec  
 
Et avec un WHERE en plus : SELECT count(*), device FROM donnees_lmd_pierre WHERE id_unique > 42 GROUP BY device;
db.donnees_lmd_pierre.aggregate([ { $match : {id_unique : {$gt : 42 } } } , {"$group" : {"_id":"$device" , "count" : {$sum:1 }} }   ] )
Mysql : 3 min  
Mongodb : 7 min
Monetdb : 19 sec
 
Et je ne parle même pas du LOAD DATA, une dizaine de minutes sur mysql , 1h30 sur mongodb. Sur les forums cela s'explique pour convertir le CSV en json. Ca ma rappel tout d'un coup une vielle mode des bases de données XML :)
 
 
Mais an final ce je comprends pas c'est quoi ce buzz autour de mongodb c'est pour ca ??? J'ai l'impression d'avoir raté quelques choses.
 
Je veux bien des retours sur expérience de votre utilisation de mongodb
 
Merci
 
Pierre


Message édité par PierreC le 02-02-2016 à 18:49:19

---------------
Du tofu en Alsace : www.tofuhong.com
Reply

Marsh Posté le 02-02-2016 à 17:16:28   

Reply

Marsh Posté le 02-02-2016 à 17:34:20    

Le NoSQL est assez particulier et il ne faut pas essayer de prendre le même schéma d'un SGBDR et le "coller" à l'identique dans un SGBD NoSQL, sinon, en terme de perfs, ça le fait pas. penser une structure NoSQL, j'ai cru comprendre que ça nécessite une phase d'adaptation quand on vient des SGBDR et de la forme 3NF de Codd :o
 
Après, je suis pas expert de cette techno, pour l'instant, j'en suis au stade de la lecture de bouquins sur le sujet.
 
Edit : le NoSQL est surtout intéressant pour les montées en charge qui nécessitent plusieurs serveurs de BD (une architecture répartie donc). Pas sûr que sur du mono serveur ça soit très intéressant niveau gain en perfs :/ mais bon, encore une fois, je suis pas expert dans cette techno.


Message édité par rufo le 02-02-2016 à 17:36:29

---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
Reply

Marsh Posté le 02-02-2016 à 18:46:54    

et toujours rufo pour une première réponse :-)
 
J'attends l'avis d'autre personne et je te répondrais


---------------
Du tofu en Alsace : www.tofuhong.com
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed