有很多帖子讨论关系与文档数据库,但是它们都很通用。
我想通过一个具体的例子来了解它们的区别。
假设我们正在构建另一个面向 Scrum 的项目管理 Web 应用程序。
虽然我们想尝试一种新技术,但我们不想为了做一些炒作的新事物而牺牲设计并增加整体复杂性。我们希望做出正确的决定,即使这意味着使用旧技术。
所以,想想PivotalTracker。我们将存储项目、故事、故事评论、可能是罕见的附件,可能还有子任务(故事拆分为实际任务)。
也支持迭代,因此每个任务实际上都属于一个项目并且可以在迭代中。在迭代内部,任务需要按特定顺序排列。用户可以通过上下拖动来重新排列故事。
对于每个故事,我们还希望使用单独的时间条目来跟踪花费在其上的时间。
我可能想生成报告,但没有什么太花哨的(烧毁,可能与时间有关)
您将使用哪个数据库,关系数据库还是文档数据库?还是其他?为什么?
你会如何设计它的结构?例如,如果您要使用文档数据库,您会完全规范化吗?