2013-12-10 4 views
0

Я разрабатываю приложение для хранения содержимого формы. Для каждой формы могут быть потенциально миллионы записей.Оптимальный дизайн для базы данных MongoDB

Мое бэкэнд - .NET/MongoDB. В настоящее время я реализовал следующий проект, но не уверен, что это наиболее эффективное решение для такого количества контента.

[{ 
    formId: '12344', 
    records: [ { id: '12444543', customerName: 'Panda Express', ... } ] 
}, ...] 

Количество верхних форм «» на уровне не более чем 20, в большинстве случаев с записями для каждой формы в период между 1000 и миллион. Количество атрибутов в каждой «записи» не будет больше 100 в большинстве случаев.

Это самый эффективный способ сделать это в монго?

ответ

1

Для меня это не лучший дизайн. Хранение записей в одном документе не является хорошей идеей, если ваш документ быстро растет. Поскольку максимальный размер документа BSON составляет 16 МБ, это может вызвать проблемы, когда у вас есть миллионы записей.

Вместо этого вы можете хранить записи отдельно следующим образом.

коллекция запись:

id: '12444543', 
formId : '12345', 
customerName: 'Panda Express', 
... 
+0

То, как я начал, но думал, что фильтрация по форме идентификатора может быть лучше. Если это оптимально, я за это и для простоты! – amcdnl

+0

Поскольку вы сказали, что у вас не более 20 форм, вторым вариантом может быть хранение записей каждой формы в отдельной коллекции. Это избавит вас от фильтрации по formId. –

+0

Интересный ... так что отдельная коллекция для записей каждой формы ... – amcdnl

Смежные вопросы