comment
IRC Chat
play_arrow
Este sitio utiliza cookies propias y de terceros. Si continúa navegando consideramos que acepta el uso de cookies. OK Más Información.

Modelado de datos en MongoDB

  • 0 Respuestas
  • 3160 Vistas

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado Imaginario

  • *
  • Underc0der
  • Mensajes: 3
  • Actividad:
    0%
  • Reputación 0
    • Ver Perfil
« en: Julio 19, 2013, 05:01:48 pm »
Decisiones de Modelado de Datos

Las decisiones sobre modelado de datos involucran la determinación de cómo estructurar los documentos para modelar datos eficientemente. La decisión fundamental es cuándo usar embeds (incrustación) o cuándo usar references (referencias).

Embed (incrustación)

Guardar dos piezas de datos relacionadas en un solo documento denormaliza los datos.

Las operaciones sobre un documento son menos costosas para el servidor que las operaciones que involucran múltiples documentos.

En general, use datos embebidos cuando:
  • tiene relaciones "contiene" entre entidades. Ver No tienes permisos para ver links. Registrate o Entra con tu cuenta
  • tiene relaciones 1-N dónde los objetos N siempre aparecen con o son vistos en el contexto de sus documentos padres. Ver No tienes permisos para ver links. Registrate o Entra con tu cuenta

La incrustación (embed) nos provee de los siguientes beneficios:
  • generalmente mejor performance para operaciones de lectura.
  • la habilidad de solicitar y devolver datos relacionados en una sola operación.

Incrustar datos relacionados en documentos puede derivar en situaciones donde los documentos crecen de forma póstuma a su creación. Éste crecimiento puede impactar en la performance de escritura y derivar en la fragmentación de los datos. Además, los documentos en MongoDB deben ser más chicos que el No tienes permisos para ver links. Registrate o Entra con tu cuenta. Para documentos grandes, considera usar GridFs.

Ver también

    No tienes permisos para ver links. Registrate o Entra con tu cuenta for information on “reaching into” embedded sub-documents.
    No tienes permisos para ver links. Registrate o Entra con tu cuenta for more examples on accessing arrays.
    No tienes permisos para ver links. Registrate o Entra con tu cuenta for more examples on accessing subdocuments.

References (referenciando)

Para normalizar datos, guarde referencias entre dos documentos para indicar una relación entre la información representada en cada documento

En general, use modelado de datos normalizado:
  • cuando la incrustación resultaría en una duplicación de la información pero no nos proveería de suficientes ventajas al mejorar la  performance de lectura para equilibrar la implicancia de la duplicación.
  • para representar relaciones N-N más complejas.
  • para modelar grandes conjuntos de datos jerárquicos. No tienes permisos para ver links. Registrate o Entra con tu cuenta

Referenciar provee más flexibilidad que incrustar; sin embargo, para resolver las referencias, las aplicaciones en el lado cliente deben realizar un seguimiento de las consultas. En otras palabras, usar referencias requiere más idas y vueltas al servidor.

No tienes permisos para ver links. Registrate o Entra con tu cuenta

Atomicidad

MongoDB sólo provee operaciones atómicas en el nivel de un sólo documento. No tienes permisos para ver links. Registrate o Entra con tu cuenta Como resultado, la necesidad de operaciones atómicas influye en la decisión al momento de usar incrustación o referencias al modelar la información.

Embed fields that need to be modified together atomically in the same document. No tienes permisos para ver links. Registrate o Entra con tu cuenta
No tienes permisos para ver links. Registrate o Entra con tu cuenta   Document-level atomic operations include all operations within a single MongoDB document record: operations that affect multiple sub-documents within that single record are still atomic.

Patrones de modelado de datos

No tienes permisos para ver links. Registrate o Entra con tu cuenta
No tienes permisos para ver links. Registrate o Entra con tu cuenta
No tienes permisos para ver links. Registrate o Entra con tu cuenta
No tienes permisos para ver links. Registrate o Entra con tu cuenta
No tienes permisos para ver links. Registrate o Entra con tu cuenta
No tienes permisos para ver links. Registrate o Entra con tu cuenta
No tienes permisos para ver links. Registrate o Entra con tu cuenta
No tienes permisos para ver links. Registrate o Entra con tu cuenta
No tienes permisos para ver links. Registrate o Entra con tu cuenta
No tienes permisos para ver links. Registrate o Entra con tu cuenta

Fuente: No tienes permisos para ver links. Registrate o Entra con tu cuenta
« Última modificación: Julio 19, 2013, 05:15:57 pm por Imaginario »
Quizá en la muerte para siempre seremos,
cuando el polvo sea polvo,
esa indescifrable raíz,
de la cual para siempre crecerá,
ecuánime o atroz,
nuestro solitario cielo o infierno.

 JL Borges - Alguien

 

¿Te gustó el post? COMPARTILO!



[VIDEO] FIREBASE PARA TODOS. Una Base de Datos para aplicaciones Real Time

Iniciado por graphixx

Respuestas: 0
Vistas: 1348
Último mensaje Marzo 18, 2016, 03:28:58 am
por graphixx
Bases de datos con SQL Server 2000 - Transact SQL Jorge Moratalla

Iniciado por Snifer

Respuestas: 0
Vistas: 2272
Último mensaje Mayo 25, 2012, 12:32:13 pm
por Snifer
Gestores de Base de Datos. [Navicat & MySQL Front]

Iniciado por @ed33x

Respuestas: 6
Vistas: 3879
Último mensaje Agosto 31, 2013, 04:26:33 pm
por [L]ord [R]NA
Base de Datos MySQL (curso básico-intermedio)

Iniciado por graphixx

Respuestas: 1
Vistas: 2402
Último mensaje Abril 03, 2018, 07:12:17 pm
por crissk8
¿Cómo cambiar la codificación a una base de datos completa?

Iniciado por Yavi

Respuestas: 0
Vistas: 1494
Último mensaje Agosto 09, 2015, 11:17:11 pm
por Yavi