Spring is hate...

Installer MongoDb sur Ubuntu Karmic

Voilà quelques temps que je fais mumuse avec les bases de données orientées document (du style Couchdb et/ou MongoDb). Pour CouchDb, son intégration est déjà incluse dans Karmic Koala pour la bonne raison qu'Ubuntu One s'appuie sur Couch.

En attendant que Mongodb débarque dans les dépôts officiels de Lucid, on peut toujours utiliser les dépôts tiers. Et quand bien même on serait arrivés dans l'ère du Lynx, utiliser ces dépôts permet d'utiliser une version plus récente que celle proposée dans les dépôts d'Ubuntu.

En terme de dépôt tiers, c'est un peu le top, puisque ce sont des dépôts fournis par 10gen (les développeurs à l'origine du projet). Pour ce faire, tutorial très simple.

ATTENTION !!! Installer des logiciels en-dehors des dépôts officiels peut mettre en péril la stabilité de ton système. Il est indispensable que tu saches parfaitement ce que tu fais avant de poursuivre.

1 - Se diriger vers la page qui annonce les dépôts

2 - Choisir le dépôt correspondant à ta version de distribution (Lucid, Karmic, Lenny, etc) En ce qui me concerne:

deb http://downloads.mongodb.org/distros/ubuntu 9.10 10gen

Pour ajouter ce dépôt à ta liste de sources, tu peux utiliser Synaptic ou Adept et choisir l'option de menu permettant d'ajouter cette source ; si les interfaces graphiques te rebutent, il te suffira de rajouter la ligne commençant par "deb" à ton fichier /etc/apt/sources.list/

3 - Importer la clé GPG qui signe le dépôt.

  • Tout d'abord, récupérer le contenu de la clé sur la page précédemment chargée, et l'enregistrer dans un fichier texte.
  • Garder ce fichier bien au chaud
  • Dans Synaptic il suffit d'aller dans le menu "Configuration / Dépôts" et aller dans l'onglet "Authentification". Y'a un petit signe "+" pour importer la clé. Y sélectionner le fichier précédemment sauvegardé.

C'est bon. On recharge les dépôts pour tout mettre à jour.

4 - Quel paquet installer ?

Tu pourras remarquer avec une petite recherche que désormais quatre paquets sont disponibles :

  • mongodb-oldstable
  • mongodb-snapshot
  • mongodb-stable
  • mongodb-unstable

La version que je conseillerai serait la version "stable". Dans le développement de ce gestionnaire de bases de données, deux versions coexistent : la stable et la "instable" (unstable). Chacune évolue en parallèle, et on voit des releases régulières pour chacune de ces "branches". Des avantages et des inconvénients pour chaque : la stable est, par définition, réputée plus solide. L'instable est certes plus hasardeuse à mettre en oeuvre (ce serait dommage de perdre ses données), mais elle porte en elle plus de fonctionnalités croustillantes.

La version "snapshot", c'est du grand délire : c'est une mise à jour quasi-quotidienne des développements. Tu es à la pointe. Mais tu peux te faire mal. À bon entendeur...

Je n'ai aucune idée de ce qu'est la version oldstable.

Libre à toi de choisir la version que tu veux mettre en place. Une fois le paquet et ses dépendances installées, tu peux lancer une interface en ligne de commande, et taper la commande :

$ mongo

Te voilà dans le monde mirobolique de MongoDb. Si tu aimes Python (sache que Python t'aime aussi), je te conseille PyMongo et MongoKit.

Et allez ! Codez jeunesse !

4 Avril 2010 - 11:02, par NiKo

J'adore mongo, vraiment. C'est un peu difficile de vendre ça à un client tant la techno est récente et change du tout au tout du paradigme relationnel... mais c'est clairement (une grosse partie de) l'avenir de la persistence des applis Web.

4 Avril 2010 - 11:55, par No'

en même temps, la techno, le client s'en fout parfois un peu. Tu peux fournir une appli au client sans qu'il sache que sa BDD soit du Postgresql, du MySQL, du MongoDb, du CouchDb ou des fichiers textes savamment arrangés. Il ne devrait y voir que du feu, puisque son contenu est géré via une interface, et pas directement dans la base. Bon, après, en fonction de l'appli, utiliser une BDD NoSQL peut même être un argument de vente, si les fonctionnalités désirées sont justement facilitées par cette technologie (même émergente).

C'est surtout ton DSI qu'il faut convaincre (ou le Sysadmin). Ou ton chef. Mais si tu es ton propre chef... ;op

4 Avril 2010 - 22:36, par Wosh

oldstable, ne serait-ce pas la version stable précédente ? Je dis ça, je dis rien, hein ?

4 Avril 2010 - 23:36, par No'

Wosh: nan mais oui, mais ça sert à quoi ce paquet ? tu t'imagines gérer un dépôt avec stable / oldstable / oldstablebefore / firstoldstable ?

cpold, c'est pourri


Toutes les balises HTML seront supprimées.
Tu peux ajouter des liens comme suit :
J'ajoute [a http://exemple.com "un joli lien"]
Tu peux aussi mettre *en gras* ou {en italique}.