2011-05-15 6 views
26

¿Cuál sería el equivalente de ERD para una base de datos NoSQL como MongoDB?¿Equivalente de ERD para MongoDB?

+0

Entonces creo que mi pregunta debe ser revisada: ¿hay una herramienta para diseñar el esquema de una base de datos MongoDB? –

Respuesta

2

No conozco ningún medio estándar para diagramar "esquemas" orientados a documentos.

Estoy seguro de que podría usar un ERD para mapear sus esquemas pero dado que las bases de datos de documentos no son realmente compatibles o, más importante aún, imponen relaciones entre los datos, solo sería tan útil como su código fue disciplinado. hacer cumplir internamente tales relaciones.

1

También podría usar un diagrama de clase UML en su lugar también.

21

Parece que ha pedido similar question on Quora.

Como se mencionó allí, el ERD es simplemente un mapeo de los datos que pretende almacenar y las relaciones entre esos datos.

Aún puede hacer un ERD con MongoDB ya que aún desea rastrear los datos y las relaciones. La gran diferencia es que MongoDB no tiene combinaciones, por lo que cuando traduzca el ERD en un esquema real, tendrá que tomar algunas decisiones específicas sobre la implementación de las relaciones.

En particular, deberá tomar la decisión "embed vs. reference" al decidir cómo se almacenarán realmente estos datos. Las relaciones todavía están permitidas, simplemente no se aplican. Muchos de los contenedores para MongoDB en realidad ofrecen búsquedas en colecciones para abstraer parte de esta complejidad.

Aunque MongoDB no aplica un esquema, no se recomienda proceder completamente al azar. Modelar los datos que espera tener en el sistema sigue siendo una muy buena idea y eso es lo que el ERD le brinda.

Supongo que el equivalente al ERD es the ERD?

2

He estado pensando en el mismo problema durante bastante tiempo. Y llegué a la siguiente conclusión: Si las bases de datos NoSQL son generalmente sin esquema, en realidad no tiene un 'esquema' para ilustrar en un diagrama.

Por lo tanto, creo que debería adoptar un enfoque "por ejemplo". Puede dibujar algunos mapas mentales que ejemplifiquen cómo se verían sus datos cuando se almacenan en un DB NoSQL como MongoDB.

Y dado que estas bases de datos son muy dinámicas, también puede crear algunos mapas mentales derivados para mostrar cómo los datos de hoy podrían evolucionar en el tiempo.

Echa un vistazo a este tema también.

Confusion about NoSQL Design

Cuestiones relacionadas