sql >> Base de Datos >  >> NoSQL >> MongoDB

Herramienta para crear una visualización a partir de MongoDB existente

Esto realmente depende de sus requisitos de "visualización". Normalmente, la mayoría de los aspectos visuales más interesantes de un diagrama para una base de datos relacional son las relaciones de alto nivel y las restricciones de integridad (1:1, 1:varios, clave principal, claves externas, etc.).

MongoDB tiene flexibilidad esquema, en el sentido de que los documentos dentro de una colección dada no tienen que cumplir con un formato predeterminado. Eso no significa que los datos subyacentes no puedan tener alguna organización... simplemente que no existe un esquema único impuesto a una colección (como sería el caso en una base de datos relacional tradicional).

En MongoDB, muchos de los detalles interesantes para visualizar requerirán análisis inspeccionando algunos o todos los documentos en una colección O revisando el código.

Revisión de código

Si su aplicación utiliza un ODM (Mapeador de documentos de objetos) como Mongoose (Node.js) o Morphia (Java), el código de la aplicación puede proporcionar una vista rápida y descriptiva del esquema previsto (o al menos la última versión del esquema previsto). Una herramienta de documentación del idioma adecuada, como jsdoc o javadoc puede ser útil para generar una descripción general razonable de las clases de su modelo. Probablemente tendrá que agregar algunas anotaciones en la documentación para obtener mejores resultados.

Análisis de esquema

El análisis de esquema es un enfoque más de fuerza bruta que implica observar los datos para inferir un esquema observado. Un enfoque común para esto es usar Map/Reduce .

Hay algunos diferentes mongo concha ayudantes que le darán una idea de la estructura general de las colecciones (por ejemplo, campos/tipos de datos y su cobertura en los documentos de origen):

Estos no son visuales (en el sentido gráfico), pero los resultados del análisis del esquema brindan información sobre la forma esperada de los datos y las variaciones comunes.

Relaciones

El servidor MongoDB no admite relaciones de clave externa, lo que elimina muchas anotaciones visuales potencialmente interesantes.

Existen diferentes enfoques de controladores de clientes para crear Referencias de base de datos (DBRefs) , pero estos siguen convenciones de uso en lugar de una característica del servidor. Para determinar las relaciones entre colecciones usando DBRefs, se tendrían que escanear algunos o todos los documentos de una colección. La inferencia de relaciones no es compatible con variety o schema.js todavía.

Contenido

Para tener una mejor idea del contenido real, puede probar una de las Admin UI .