Docs Menu
Docs Home
/ /
Modelos de datos

Diseño de modelos de datos

Los modelos de datos eficaces satisfacen las necesidades de su aplicación. La consideración clave para la estructura de sus documentos es la decisión de incrustar o usar referencias.

Con MongoDB, puede incrustar datos relacionados en una sola estructura o documento. Estos esquemas se conocen generalmente como modelos "desnormalizados" y aprovechan los documentos enriquecidos de MongoDB. Considere el siguiente diagrama:

Modelo de datos con campos incrustados que contienen toda la información relacionada.

Los modelos de datos embebidos permiten a las aplicaciones almacenar piezas relacionadas de información en el mismo registro de la base de datos. Como resultado, es posible que las aplicaciones deban emitir menos queries y actualizaciones para completar operaciones comunes.

En general, utilice modelos de datos integrados cuando:

  • Tienes relaciones de "contenido" entre entidades. Ver Modelar relaciones uno a uno con documentos integrados.

  • Existen relaciones uno a muchos entre entidades. En estas relaciones, los documentos "varios" o secundarios siempre aparecen con o se visualizan en el contexto de los documentos "uno" o principales.Consulte Modelar relaciones uno a muchos con documentos incrustados.

En general, la incrustación proporciona un mejor rendimiento en las operaciones de lectura, así como la capacidad de solicitar y recuperar datos relacionados en una sola operación de base de datos. Los modelos de datos incrustados permiten actualizar datos relacionados en una sola operación de escritura atómica.

Para acceder a los datos dentro de los documentos incrustados, utiliza la notación de punto para "entrar" en los documentos incrustados. Consulta query de datos en arreglos y query de datos en documentos incrustados para obtener más ejemplos sobre el acceso a datos en arreglos y documentos incrustados.

Los documentos en MongoDB deben ser más pequeños que el tamaño máximo del documento BSON.

Para datos binarios masivos, considere GridFS.

Los modelos de datos normalizados describen relaciones utilizando referencias entre documentos.

Modelo de datos que utiliza referencias para vincular documentos. Tanto el documento de "contacto" como el documento de "acceso" contienen una referencia al documento del "usuario".

En general, utilice modelos de datos normalizados:

  • cuando la incrustación daría como resultado la duplicación de datos pero no proporcionaría suficientes ventajas en el rendimiento de lectura para compensar las implicaciones de la duplicación.

  • para representar relaciones de muchos a muchos más complejas.

  • para modelar grandes conjuntos de datos jerárquicos.

Para unir colecciones, MongoDB proporciona las etapas de agregación:

MongoDB también proporciona referencias para unir datos entre colecciones.

Para un ejemplo de modelos de datos normalizados, vea Modelar relaciones de uno a muchos con referencias de documentos.

Para ejemplos de varios modelos de árbol, vea Modelar estructuras en forma de árbol.

Volver

Modelos de datos

En esta página