485 votes

MongoDB ou CouchDB - fit pour la production?

Je me demandais si quelqu'un peut me dire si MongoDB ou CouchDB sont prêts pour une production de l'environnement.

Je suis maintenant à la recherche de ces solutions de stockage (je suis en favorisant MongoDB pour le moment), mais ces projets sont assez jeunes et donc je pense que je vais devoir travailler très dur de convaincre mon manager que nous devrions adopter cette nouvelle technologie.

Ce que j'aimerais savoir, c'est:

  1. Qui est à l'aide de MongoDB ou CouchDB aujourd'hui dans un environnement de production?

  2. Comment êtes-vous à l'aide de MongoDB/CouchDB?

  3. Quels sont les problèmes (le cas échéant) avez-vous rencontré au moment de l'adoption de ce nouveau mécanisme de stockage (et comment les avez-vous surmontés)?

  4. Comment avez-vous traiter toutes les questions de migration que vous avez eu affaire avec?

  5. Avez-vous des bonnes/mauvaises expériences avec l'une de ces solutions que vous aimeriez partager?

110voto

Matt Aimonetti Points 753

La BBC et meebo.com utiliser CouchDB dans la production et ainsi de ne un de mes clients. Voici une liste des autres personnes à l'aide de Canapé: CouchDB dans la nature

Le défi majeur est de savoir comment organiser vos documents et de cesser de penser en termes de données relationnelles.

44voto

dormsbee Points 1

SourceForge utilise MongoDB. Voir cette présentation ou de lire ici.

34voto

okurow Points 519

Nous sommes en cours d'exécution CouchDB comme un remplacement pour MySQL pour nos magasins (70.0000 articles/boutique, un total de 4 millions d'attributs de tous les objets, liaisons transversales entre les éléments).

Nos objectifs étaient les suivants:

  1. Facile de réplication à partir d'un maître-db pour plusieurs clients dans différents documents.

  2. Rapide pré-données calculées comme "combien de pièces que j'ai avec cet attribut, et que filtre, montage à ces conditions"

faits:

  1. Nos boutiques sont maintenant en cours d'exécution beaucoup plus rapide qu'avec MySQL (et mysql-base de données nécessaire en outre de 1 à 3 jours de pré-calcul (donc la mise à jour a été deux fois par mois), ce qui rend les données prêt pour le produit de comptage et de filtrage, CouchDB besoin de 5 heures, nous avons donc pu mettre à jour des données de produit tous les soirs)
  2. Mise en place (filtré) de distribution de données et les sauvegardes à la boutique de noeuds est rapide et facile

mais aussi:

  1. La compréhension de map/reduce et les limites de ne pas avoir rejoint est assez dur
  2. Aucune opération sur les données comme "biffer" ou "le jour où", sans programmes externes
  3. La réplication fonctionne bien, sauf s'il y a un problème, alors il est vraiment difficile de savoir quelle était la raison (pour les débutants)
  4. L'installation de CouchDB sans les binaires (oui, il y a quelques dans la nature, mais pas pour tous les OS/version) pourrait être difficile, si vous n'êtes pas un connaisseur de Linux. Mais le CouchDB Communauté est utile (#couchdb), et, heureusement, il ya des entreprises là-bas (cloudant, iriscouch) qui offrent des services gratuit pour les grandes entreprises.
  5. CouchDB est aller de l'avant, donc il y a beaucoup de modifications (améliorations) en cours qui pourrait changer la façon de travailler. Mais des choses de base restent stables.

Comme un résultat: MySQL comme base de données pour la création de données et le maintien de est fiable et facile à comprendre et à manipuler. Je pense que nous n'allons pas changer cela. Mais je ne veux pas manquer le pouvoir de CouchDB points de vue et la facilité de configuration de réplication.

La Production de canapés parfois causé des problèmes après des mois de travail dû à une mauvaise configuration et oublié logrotates (point de vue construction prend trop de temps ou bloque, la réplication s'arrête), mais n'a jamais perdu de données, et de toujours pouvoir être facilement remis à zéro.

27voto

Sergio Tulentsev Points 82783

Je suis avec CouchDB dans la production. Actuellement, il stocke toutes ces "facultative" champs qui n'étaient pas dans l'original DB schéma. Et maintenant je suis à penser à déplacer toutes les données de CouchDB.

C'est assez risqué d'étape, je l'avoue. Tout d'abord, parce que ce n'est pas v1.0 encore. Et deuxièmement, parce qu'il est drivespace-faim. Selon mes calculs, CouchDB fichier (avec index) est de ~30 fois plus grand que la base de données MySQL avec les mêmes lignes. Mais je suis assez sûr que cela fonctionnera tout aussi bien.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X