Histórico
Estou fazendo o protótipo de uma conversão de nosso banco de dados RDBMS para MongoDB. Ao desnormalizar, parece que tenho duas opções, uma que leva a muitos (milhões) de documentos menores ou outra que leva a menos (centenas de milhares) de documentos grandes.
Se eu pudesse resumir em um simples análogo, seria a diferença entre uma coleção com menos documentos do cliente como este (em Java):
class Customer { nome da string privada; endereço de endereço privado; // cada cartão de crédito tem centenas de instâncias de pagamento Private Set <CreditCard> creditCards; }
ou uma coleção com muitos, muitos documentos de pagamento como este:
class Payment { cliente particular do cliente; cartão de crédito privado; data privada payDate; float privado payAmount; }
Pergunta
O MongoDB foi projetado para preferir muitos, muitos documentos pequenos ou menos documentos grandes? A resposta depende principalmente das consultas que pretendo executar? (ou seja, quantos cartões de crédito o cliente X possui? vs Qual foi o valor médio que todos os clientes pagaram no mês passado?)
Já procurei muito, mas não encontrei nenhuma das melhores práticas de esquema do MongoDB que pudesse me ajudar a responder à minha pergunta.
fonte