Существует довольно много постов, в которых обсуждаются отношения с базами данных документов, но все они довольно общие.
Я бы хотел понять их различия в конкретном примере.
Давайте представим, что мы создаем другое ориентированное на scrum веб-приложение для управления проектами.
Несмотря на то, что мы хотели бы поэкспериментировать с новой технологией, мы не хотим жертвовать дизайном и увеличивать общую сложность ради того, чтобы сделать что-то новое, ажурное. Мы хотим принять правильное решение, даже если это означает использование старой технологии.
Итак, подумайте о PivotalTracker . Мы будем хранить проекты, истории, комментарии к истории, возможно, редкие вложения и, возможно, подзадачи (история разделена на реальные задачи).
Также существует поддержка итераций, поэтому каждая задача фактически принадлежит проекту и может быть в итерации. Внутри итерации задачи должны быть расположены в определенном порядке. Пользователь может изменить порядок историй, перетаскивая их вверх и вниз.
Для каждой истории мы также хотим отслеживать время, потраченное на нее, используя отдельные записи времени.
Я мог бы захотеть генерировать отчеты, но ничего особенного (вылет, возможно, что-то связанное со временем)
Какую БД вы бы использовали, реляционную или документную? Или какой-то другой? И почему?
Как бы вы спроектировали его структуру? Например, если бы вы использовали документ DB, вы бы нормализовались вообще?