Connecteur Mongo Postgresql

47f0a20a1f9df18484d7972fa41472b8[1]
TLDR; on a développé un connecteur permettant de déverser votre base mongo vers Posgresql disponible sur Github.

Depuis plusieurs années déjà on vous ressasse sans arrêt que vos données forment une grosse partie du capital d’une société. Et c’est encore plus vrai pour une startup web.
C’est même assez fréquent qu’une startup soit aujourd’hui capable de lever de l’argent par les données qu’elle possède sans être rentable intrinséquement.
Bien sûr beaucoup de vendeurs de solutions tentent par la même occasion de vous vendre des bases de données capable de supporter de gros volumes, des solutions de reporting etc…
Mais on ne peut ignorer le point, à l’heure du numérique savoir exploiter ces données est crucial :

  • pour rapidement faire un état des lieux de la santé de sa boite (analyse descriptive)
  • pour identifier des leviers de croissance par analyse (fouille de données)
  • pour prédire des comportements (pour soi ou pour les utilisateurs via des analyses prédictives)

Très bien. Sauf qu’il est possible que vous ayez intégré des solutions NoSql dans vos applications. Or ces bases sont souvent loin d’avoir le même écosystème mature que les bases relationnelles quand on veut utiliser des outils d’analyse de données.

Bref, ce billet ne va pas vous parler de BI, de nosql, de big data, de machine learning. Non, je vais juste vous présenter un connecteur mongo vers postgresql pour répondre en partie au problème.

… 

 

Recherche textuelle avec MongoDB

mongoIl y a maintenant 2 ans nous avions choisi d’utiliser MongoDB sur HopWork à l’issu d’une petite série d’expérimentation. Cette base m’avait séduit pour ces puissantes fonctionnalités de requêtage et sa facilité de mise en oeuvre. Dans ce billet j’aimerais revenir sur les fonctionnalités de recherche textuelles de MongoDB car, si elles sont puissantes, elles comportement aussi quelques pièges.

 

… 

 

Maintenir vos données avec Mongeez

mongoVous connaissez peut-être Liquibase, DBMaintain ou Flyway ? Si ce n’est pas le cas, je vous conseille d’y jeter un œil.

Le principe de ces outils est simple, il vous permet de versionner et d’exécuter les scripts permettant de faire évoluer vos schémas et vos données.

Une des applications de ces outils vous permet de déployer vos scripts de mises à jour en même temps que votre code applicatif évitant ainsi d’avoir un code applicatif qui change tandis que votre schéma n’est plus en accord avec celui-ci. Pour l’anecdote, c’est sur ce principe que Jira fonctionne par exemple. Lorsque vous mettez à jour le logiciel vous n’avez aucun script SQL à passer. C’est Jira qui s’occupe de mettre son schéma et ses données à jour au démarrage.

Je vous propose de découvrir Mongeez qui a pour but de fournir le même type de fonctionnalités pour MongoDB.

… 

 

Comparaison de moteurs de base de données pour du stockage de logs

Il y a un an je m’étais aventuré à tester plusieurs bases Nosql, l’objectif étant pour moi d’apprivoiser les moteurs, de comprendre leurs usages et de voir si nous pouvions en faire bon usage sur HopWork.

Cette mini étude était paru sur ce même blog :

Evidemment comme tout “bench” on pouvait y faire pas mal de critiques, j’utilisais un environnement Windows très éloigné de la prod, le jeu de données contenait peu de variations ce qui permettait aux différents maillons de la chaîne d’optimiser au maximum les appels que je faisais.

Si certains ont pris le bench au pied de la lettre, désolé, l’objectif pour moi c’était de me familiariser avec les API et de comprendre les cas d’usage et de voir si, grosso modo, c’était déconnant ou pas en terme de vitesse.

Et cette année j’ai eu la chance de travailler sur une architecture de collecte et traitement de logs pour laquelle j’ai refait des tests plus poussés dans de meilleures conditions sur :

  • Elasticsearch
  • MongoDb
  • Cassandra
  • Mysql

Sujet que je vous invite à lire ici.

… 

 

MongoDB : Utiliser les propriétés de vos ObjectId dans vos MapReduce

Je vous propose de voir deux fonctionnalités plutôt pratiques de MongoDB dans ce billet. D’une part je vais vous parler de certaines propriétés très intéressantes des ObjectId, la classe qu’utilise MongoDB pour générer les identifiants de vos entités, et ensuite je vais vous montrer comment utiliser cette propriété dans un exemple tout simple avec un MapReduce.

… 

 

Panorama Nosql

Voici quelques slides d’introduction sur Nosql.
Ces slides sont issu d’une formation que j’anime sur MongoDB et ont pour objectif de faire prendre du recul aux participants afin de mieux comprendre l’écosystème dans lequel ils ont mis les pieds. Car pour ceux qui en douteraient encore, le Nosql c’est avant tout beaucoup de pragmatisme.

 

…