Небольшое введение:
Я пытался разработать свой проект с использованием базы данных sql, entity framework, linq. У меня есть таблица «Пользователи», и, например, у меня есть список обучения пользователей. Я спрашиваю себя: «Сколько образования может иметь пользователь? 1, 2, 10 ... '? И кажется, в 99% случаев не более 10. Поэтому для такого примера в sql мне нужно создать ссылочную таблицу «Образование». Правильно? Если мне нужно отображать образование пользователей и пользователей, мне нужно присоединиться к вышеупомянутым таблицам ... Но что, если у пользователя есть 10 или даже больше коллекций, не более 10 элементов в каждой? Мне нужно создать 10 ссылочных таблиц в sql? А чем присоединяться ко всем, когда мне нужно показать? Для лучшей производительности я создал денормированные таблицы с формой данных, которые мне нужно показать в пользовательском интерфейсе. И каждый раз, когда пользователь обновлялся, мне нужно обновлять денормилизованную структуру.
Теперь я переработал свой проект для использования базы данных документов ( MongoDB ). И я' я создал один документ для пользователя со всеми 10 коллекциями внутри.
Может я что-то потерял? Но, похоже, здесь выигрывает база данных документов. Это очень быстро и очень легко поддерживать. +1 к базе данных документов.
Итак, что вы думаете о том, что лучше использовать базу данных документов или базу данных sql?
Когда мне следует использовать базу данных документов и когда sql?