您好我们目前正在建立一个迷你公司管理和node.js中的社交网站 首先,我想提一下我是mongodb的新手,其次我想简要介绍一些数据库架构实体,以便你可以建议我或提出我应该在mongodb数据库。
该网站的特色:
这些是一些网站功能。目前我们用mysql和orm2(对象关系映射)实现了这个,但是我们认为mongodb会更方便。此外,上述大多数实体都合并在一张桌子中,使其变得庞大,让我相信这是一个不好的做法。(想象一下,存储100 + +用户的即时消息的表格以及帖子和评论及事件&任务...)
目前我正在考虑使用4-6个集合的mongodb数据库,使核心实体保持独立,例如在帖子集合中的相应帖子中合并注释等实体。
问题:在一个单独的表下合并实体,这是一个不好的做法(在我们的案例中是一个MySQL数据库innodb),这使得它在一段时间内变得非常大,这是否也适用于mongodb以及在多大程度上?我还读过文章,他们使用关系数据库作为用户角色和组,使用nosql数据库来存储大量数据。
PS:我很欣赏任何数据库收集/架构提案。
答案 0 :(得分:0)
合并实体称为非规范化和has pros and cons。通常建议非规范化以解决实际性能问题。
Use a relational database to store relational data。使用扁平结构存储平面数据。完全停止。即使卡车的马力比赛车还要多,也不要用卡车来比赛。