Прежде чем погрузиться в MongoDB в глубокие времена, я подумал, что задаю довольно простой вопрос о том, нужно ли вообще погрузиться в него или нет. У меня нет опыта работы с nosql.
Я немного читал о некоторых преимуществах баз данных документов, и я думаю, что для этого нового приложения они будут действительно замечательными. Это всегда хлопот, чтобы делать фавориты, комментарии и т.д. Для многих типов объектов (много отношений m-to-m) и подклассов - это своего рода боль, с которой приходится иметь дело.
У меня также есть структура, которая будет больно определять в SQL, потому что она чрезвычайно вложенна и переводит на документ намного лучше, чем 15 разных таблиц.
Но я смущен несколькими вещами.
-
Желательно, чтобы ваша база данных была нормализована? Я действительно не хочу обновлять несколько записей. Это все еще, как люди подходят к дизайну базы данных в MongoDB?
-
Что происходит, когда пользовательские избранные книги и этот выбор все еще хранятся в пользовательском документе, но затем книга удаляется? Как отношения отделяются без внешних ключей? Я лично отвечаю за удаление всех ссылок?
-
Что произойдет, если пользователь воспользовался книгой, которая больше не существует, и я запрашиваю ее (какое-то соединение)? Должен ли я делать какую-либо отказоустойчивость здесь?