9
votes

Conseils pour économiser de l'espace dans mongodb

Différents mètres de services de MongoDB par utilisation du disque. Quels sont quelques conseils pour économiser de l'espace lorsque vous travaillez avec MongoDB?

Merci.


1 commentaires

@Xenoterracide: J'espère certainement que vous feriez, c'était à la traîne et complètement inutiles


3 Réponses :


11
votes

Cette question est vraiment plutôt vague. Certaines choses qui peuvent ou non s'appliquer à vous (sans ordre particulier):

raccourcir les noms de champ verbose h3>

Ceci est mieux illustré avec un exemple: p>

{
    _id: <whatever>,
    name: "Mark Embling",
    email: "example@markembling.info",
    ///...
}


2 commentaires

Merci pour le grand post. Je comprends que les relations de documents sont un sujet populaire, mais pour le bien de cette réponse étant une ressource complète, pourriez-vous revenir à nouveau ici avec des exemples? Merci.


Etrange, je dis toujours une collection supplémentaire en tant que diskac de compromis pour une meilleure performance. Imaginez de vouloir interroger pour tous les articles de blog, commentaires, postes de forum, votes, etc. fabriqués par un certain utilisateur. (par exemple, graphique comme des requêtes). Cela fonctionne bien s'il existe une collection d'utilisateurs avec des références à toutes ces choses. Cela crée un peu de surcharge de disques, mais il semble donc y avoir beaucoup de place à l'amélioration de l'espace disque dans MongoDB en utilisant des identifiants plus efficaces, ainsi que de ne pas stocker les clés de texte pour compenser la perte. C'est comme tu veux...



0
votes

Essayez d'éviter de faire dupliquer des données et d'utiliser éventuellement une forme de compression si elle stocke de grandes quantités de données qui n'ont pas besoin d'être consultable.


3 commentaires

Toute suggestion concernant la compression?


Malheureusement, pas, je n'ai pas fait de compression d'une commission d'introduction.


Si vous vouliez stocker un corps de texte (par exemple), le Déflate Méthode de compression pourrait être approprié? Il semble relativement facile de trouver des ressources sur l'utilisation de différentes langues ( RUBY , .NET , php , ...). Pourrait vous convenir en fonction de ce que vous essayez de faire.



0
votes

Je pense que le bon moyen est d'utiliser un document pour les données connexes

Par exemple, si vous avez la collection utilisateur, vous pouvez donner un document à chaque utilisateur et dans ce document implant d'autres choses comme Avatar ou ACL et d'autres choses


0 commentaires