2014-07-04 3 views
2

J'ai une très grande base de données couchDB que j'héberge sur Cloudant. L'une des premières erreurs de Noob que j'ai faites était de garder toutes mes vues sous un seul document de conception. Lorsque je modifiais le document de conception en ajoutant une nouvelle vue, il compilait à nouveau le document de conception et rendait la base de données indisponible pendant un certain temps. Après avoir parlé à Cloudant, ils m'ont dit que c'est une bonne pratique d'avoir plusieurs documents de conception, et après avoir fait quelques lectures, il semble que CouchDB exécute un serveur de vue par document de conception.Conventions de dénomination pour les documents de conception dans une grande base de données CouchDB

Maintenant comme dans le vrai mode de démarrage, nous ajoutons constamment de nouvelles fonctionnalités et donc de nouvelles mises à jour de la base de données (qui est en production). Chaque fois que je souhaite ajouter une nouvelle vue, je crée un nouveau document de conception et y ajoute la vue.

Avec ce fond deux questions.

  1. Est-ce la bonne approche?
  2. Quel schéma de dénomination dois-je suivre mes documents de conception?
+0

Peut être sur le sujet à http://programmers.stackexchange.com/ –

Répondre

2

Vous pouvez avoir un document de conception maître qui fournit un rewrite à un autre document de conception qui contient la vue réelle que vous souhaitez exécuter. Le document de conception maître ne doit pas avoir de vues, vous pouvez donc le mettre à jour aussi souvent que nécessaire. Avec cette approche, la convention de dénomination vous appartient à condition que vous la référenciez correctement dans les règles de réécriture du document de conception principal.

0

Ce n'est certainement pas une mauvaise approche. Étant donné que les vues d'un document de conception sont traitées ensemble, davantage de documents de conception vous offrent un plus grand parallélisme lors de la création de vues (en supposant que le cluster puisse le gérer). Vous pouvez également utiliser Cloudant Query qui fournit une couche d'abstraction sur la carte/réduire afin que vous n'ayez pas besoin de vous soucier de vos noms de document de conception.

En général, je conseille de donner des noms significatifs à vos documents de conception - si vous avez besoin d'ajouter de nouvelles vues à un document de conception existant, vous pouvez utiliser this trick.

Questions connexes