Antecedentes
Estoy creando un prototipo de una conversión de nuestra base de datos RDBMS a MongoDB. Mientras desnormalizo, parece que tengo dos opciones, una que conduce a muchos (millones) de documentos más pequeños o otra que conduce a menos (cientos de miles) documentos grandes.
Si pudiera resumirlo en un simple análogo, sería la diferencia entre una colección con menos documentos del Cliente como este (en Java):
clase Cliente { nombre de cadena privada; dirección de dirección privada; // cada CreditCard tiene cientos de instancias de pago privado Establecer tarjetas de crédito <CreditCard>; }
o una colección con muchos, muchos documentos de pago como este:
pago de clase { cliente cliente privado; CreditCard privada creditCard; fecha privada fecha de pago; payAmount flotante privado; }
Pregunta
¿MongoDB está diseñado para preferir muchos, muchos documentos pequeños o menos documentos grandes? ¿La respuesta depende principalmente de las consultas que planeo ejecutar? (es decir, ¿cuántas tarjetas de crédito tiene el cliente X? vs ¿Cuál fue el monto promedio que pagaron todos los clientes el mes pasado?)
He mirado mucho a mi alrededor, pero no encontré ninguna de las mejores prácticas de esquema de MongoDB que me ayudarían a responder mi pregunta.
fuente