MongoDB
 sql >> Base de données >  >> NoSQL >> MongoDB

Outil pour créer une visualisation à partir de MongoDB existant

Cela dépend vraiment de vos exigences en matière de "visualisation". Généralement, la plupart des aspects visuels les plus intéressants d'un diagramme pour une base de données relationnelle sont les relations de haut niveau et les contraintes d'intégrité (1:1, 1:many, clé primaire, clés étrangères, etc.).

MongoDB est flexible schéma, en ce sens que les documents d'une collection donnée n'ont pas à respecter un format prédéterminé. Cela ne signifie pas que les données sous-jacentes ne peuvent pas avoir une certaine organisation... juste qu'il n'y a pas de schéma unique imposé à une collection (comme ce serait le cas dans une base de données relationnelle traditionnelle).

Dans MongoDB, de nombreux détails intéressants à visualiser nécessiteront une analyse en inspectant tout ou partie des documents d'une collection OU en examinant le code.

Révision du code

Si votre application utilise un ODM (Object Document Mapper) tel que Mongoose (Node.js) ou Morphie (Java), le code d'application peut fournir une vue rapide et descriptive du schéma prévu (ou au moins la dernière version du schéma prévu). Un outil de documentation de langage approprié tel que jsdoc ou javadoc peut être utile pour générer un aperçu raisonnable de vos classes de modèles. Vous devrez probablement ajouter des annotations de documentation pour de meilleurs résultats.

Analyse de schéma

L'analyse de schéma est une approche plus brutale qui consiste à examiner les données afin de déduire un schéma observé. Une approche courante pour cela consiste à utiliser Map/Reduce .

Il existe plusieurs mongo coquille des aides qui vous donneront une idée de la structure générale des collections (par exemple, les types de champs/données et leur couverture dans les documents sources) :

Celles-ci ne sont pas visuelles (au sens graphique), mais les résultats de l'analyse du schéma donnent un aperçu de la forme attendue des données et des variations courantes.

Relations

Le serveur MongoDB ne prend pas en charge les relations de clé étrangère, ce qui supprime de nombreuses annotations visuelles potentiellement intéressantes.

Il existe différentes approches de pilote client pour créer des références de base de données (DBRefs) , mais celles-ci suivent des conventions d'utilisation plutôt qu'une fonctionnalité de serveur. Afin de déterminer les relations entre les collections à l'aide de DBRefs, certains ou tous les documents d'une collection doivent être numérisés. L'inférence de relations n'est prise en charge par aucune des deux variety ou schema.js encore.

Contenu

Pour avoir une meilleure idée du contenu réel, vous pouvez essayer l'une des Admin UIs .