En la web de MongoDB o googleando podéis encontrar mucha información sobre las recomendaciones de cuando usar un modelado de documentos embebidos (Embedding) o bien referenciar a otro documento (Referencing).
En este post queremos hacer una lista rápida (de esas que no se olvidan 🙂 ):
Embedding:
- En general Datos 1:1 o 1:Many son candidatos a documentos embebidos pero no siempre es así…
Referencing:
- Cuando un documento es frecuentemente leído pero tiene un documento embebido que raramente es acceido: por ejemplo un Cliente con su Informe anual. En este caso Embedding incrementa la memoria, el flujo de datos a traer,…
- Cuando una parte del documento es frecuentemente actualizada y crece en tamaño mientras que el resto del documento es relativamente estático
- Cuando el documento excede el tamaño de 16 MB que tiene de límite actual MongoDB
- Cuando el objeto es referenciado desde diferentes fuentes
- Para representar relaciones complejas many-to-many
- Para data-set jerárquico.