Довідкова інформація
Я прототипую перетворення з нашої бази даних СУБД в MongoDB. Денормалізуючи, здається, ніби я маю два варіанти: один, який призводить до багатьох (мільйонів) менших документів, або той, що веде до меншої кількості (сотні тисяч) великих документів.
Якби я міг перегнати його до простого аналога, це була б різниця між колекцією з меншою кількістю документів Клієнта, подібних до цього (на Java):
клас Клієнт { ім'я приватного рядка; приватна адреса; // кожна CreditCard має сотні екземплярів платежів приватний набір кредитних карток <CreditCard>; }
або колекція з багатьма, багатьма платіжними документами, як це:
клас Оплата { приватний замовник; приватна CreditCard CreditCard; приватна дата оплати дати; private float payAmount; }
Запитання
Чи призначений MongoDB для того, щоб віддавати перевагу багатьом, багатьом дрібним документам або меншій кількості великих документів? Чи здебільшого відповідь залежить від того, які запити я планую виконати? (тобто скільки кредитних карток має клієнт X? проти Якої середньої суми сплатили всі клієнти минулого місяця?)
Я багато оглядався, але не натрапляв на жодну найкращу практику схеми MongoDB, яка допомогла б мені відповісти на моє запитання.