37 votes

CouchDB les Sauvegardes et le Clonage de la Base de données

Nous sommes à la recherche à CouchdDB pour un CMS-ish application. Quels sont certains des modèles communs, les meilleures pratiques et les flux de travail des conseils entourant la sauvegarde de notre base de données de production? Je suis particulièrement intéressé par le processus de clonage de la base de données pour une utilisation dans le développement et les tests.

Est-il suffisant de simplement copier les fichiers sur le disque sous un live instance en cours d'exécution? Pouvez-vous clone données de base de données entre les deux instances en cours d'exécution?

Des conseils et une description des techniques que vous utilisez sera grandement apprécié.

37voto

Paul J. Davis Points 1151

Une autre chose à prendre en compte est que vous pouvez copier des fichiers de la vertu d'une base de données. Étant donné que vous pouvez avoir une grande base de données, vous pouvez simplement copier OOB de votre test/production machine à l'autre.

Selon l'écriture, à la charge de la machine, il peut être conseillé de déclencher une réplication d'après la copie de rassembler toutes les écritures qui ont été en cours lorsque le fichier a été copié. Mais la réplication de quelques enregistrements serait encore plus rapide que la réplication de la base de données entière.

Pour référence, voir: http://wiki.apache.org/couchdb/FilesystemBackups

31voto

Marc Gear Points 2503

CouchDB prend en charge la réplication, il suffit donc de répliquer à une autre instance de CouchDB et de sauvegarde à partir de là, éviter de perturber où vous écrire les changements sur le.

http://wiki.apache.org/couchdb/FrequentlyAskedQuestions#how_replication

Vous avez littéralement envoyer une requête POST à votre instance de CouchDB dire où à reproduire à, et ça marche(tm)

EDIT: Vous pouvez simplement cp les fichiers de sous la base de données aussi longtemps que vous pouvez accepter les I/O hit.

7voto

Jan Lehnardt Points 343

J'aimerais deuxième Paul suggestion: juste cp vos fichiers de base de données sous le serveur live si vous pouvez prendre l'i/o-charge de frapper. Si vous exécutez une copie répliquée de toute façon, vous pouvez en toute sécurité copie de cette trop, sans impact sur votre maîtrise de la performance.

7voto

mdorseif Points 7473

CouchDB fonctionne aussi très bien avec le système de fichiers instantanés offerd par les systèmes de fichiers modernes comme ZFS. Depuis le fichier de base de données est toujours dans un état cohérent, vous pouvez prendre l'instantané du fichier à tout moment, sans affaiblir l'intégrité des garanties fournies par couchdb.

Il en résulte presque pas d'e/s. Dans le cas où vous avez par exemple acidentially supprimé un document à partir de la base de données, vous pouvez déplacer l'instantané d'une autre machine et extracty les données manquantes là. Vous pourriez même être en mesure de reproduire de retour à la base de données de production, mais je n'ai jamais essayé.

Mais assurez-vous toujours que vous utilisez exactement le même couchdb révisions lors du déplacement de la base de données des fichiers. Le format du disque est encore en évolution incompatibles façons.

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