【发布时间】:2018-08-28 14:50:30
【问题描述】:
背景:
我正在尝试构建应用程序的后端服务。这个应用程序有用户可以加入的房间。当用户加入房间时,他/他可以通过套接字与其他用户交换一些数据。在房间外,用户可以查看他/她加入的房间内发生的交易的处理数据。房间列表、房间信息以及房间内的数据交易都应该存储在数据库中。
我的想法是用一个数据库创建一个项目,但是,一位经验丰富的开发人员建议将数据库分成两个:
- 使用 MongoDB 存储房间内发生的数据事务。
- 使用 MySQL 存储和返回房间列表、房间信息以及房间内发生的事情的分析。
我看到使用多个数据库的问题:
我做了一些研究,据我了解,不建议使用多个数据库,但如果数据不相关,则可以实施。显示分析需要处理房间内发生的数据交易,并显示房间的信息。如果我使用两个数据库的方法,我需要从两个数据库中检索数据才能实现这一点。
问题:
我个人认为使用单一数据库方法更容易,因为我不认为房间内外的数据是“不相关的”。我是否遗漏了关于何时使用多个数据库的重要信息?
提前致谢。祝你有美好的一天。
【问题讨论】:
-
为什么不使用一个数据库?建议在应用中使用最少的移动部件。
-
我实际上想使用一个数据库,但也想听听其他人对此的看法。我的朋友比我更有经验,所以我不想在不努力理解的情况下拒绝他的想法。
-
您的朋友正在尝试解决一个可能不存在的问题。使用一个数据库构建它,如果以后需要第二个数据库技术,那就去吧。不要沉迷于它。从一开始就拥有 2 个 DB 技术会减慢和过度复杂化您尚未构建的应用程序的开发。过度工程是针对傻瓜的。
-
是时候阅读一本介绍数据库管理的教科书了。数十个免费在线 PDF,还有免费的学术幻灯片和课程。 PS Plus 这是一个重复的问题。也跑题了,太笼统了。然而,一个常见问题解答,因为人们不努力(重新)搜索。 (请参阅向下投票箭头鼠标悬停文本和How to Ask 以及help center 上的其他链接。)
-
@philipxy 编辑了我的帖子。对困惑感到抱歉。是的,我现在正在尝试阅读有关 DBMS 的更多信息,同时等待我可以在这里获得的更多建议。谢谢你的建议:)
标签: mysql node.js mongodb transactional relational