Я заметил, что решения NoSQL, предоставляемые такими гигантами, как Google NoSQL, Firestore и DynamoDB, не имеют запросов на соединение (я не включаю в это MongoDB и RethinkDB).
Мне нравится идея использовать их для простоты и экономичности.
Мне нравятся базы данных документов в стиле JSON, и я не хочу возвращаться к темным дням VARCHAR и т. Д. Поэтому мне интересно, насколько жизнеспособным является создание 99% баз данных для Интернета.
Возьмите этот сценарий:
Пользователь может быть участником многих проектов, он может видеть свои проекты на странице списка проектов и переходить к проекту.
Страница сведений.
Относительно это было бы просто:
user: { ..., projects: [projectId1, ...] }
project: { ..., users: [userId1, ...] }
Затем вы можете объединиться, чтобы показать некоторые основные сведения о списке проектов и т. Д.
Но как быть с нереляционной NoSQL? Как бы мы денормализовали это?
Вы бы просто имели:
user: { no project IDs },
project: { users: [userId1, ...] }
И затем для страницы списка проектов или страницы сведений о проекте вы просто запускаете фильтр для каждого проекта и возвращаете те, членом которых является пользователь? Это то, что NoSQL процветает с точки зрения эффективности? Я не имею дело с огромными наборами данных здесь, я ожидаю, что проекты будут <10k и не будут большими документами. Спасибо. </p>