MySQL-vs-MongoDB-构建a时的利弊

为项目选择合适的数据库是规划和开发中极其重要的一步。 选择错误的设置会花费相当多的时间和金钱,并且在这个过程中会给你留下许多不安的用户。 MongoDB和MySQL都是很好的数据库,但是哪一个更适合建立社交网络呢?

MongoDB是一个NoSQL数据库,这意味着相关数据被存储在单个文档中以便快速检索。 当数据不需要在多个文档中重复时(这会导致不一致),这通常是一个很好的模型。

MySQL-vs-MongoDB-构建a时的利弊

蒙古数据库文档的一个例子。 资料来源:蒙古数据库。

在这种情况下,MongoDB很容易扩展,因此数据库可以快速水平增长,同时自动保持有序。 当您有大量数据并且需要快速响应时间时,这一点尤其有用。

MySQL是一个关系数据库,这意味着数据被存储(最好)在标准化的表中,这样就不会有重复。 当您需要数据始终保持一致和可靠时(如个人信息或财务数据),这是一个很好的模型。

MySQL-vs-MongoDB-构建a时的利弊

MySQL表的一个例子。 来源:MySQL。

虽然水平扩展可能更困难,但它确实遵循ACID模型(原子性、一致性、隔离性、持久性),这意味着您对数据可靠性的担忧要少得多。

社交网络为人们提供了不同的联系方式。 无论是通过相互的友谊、商业伙伴,还是跟踪一个知名人士或企业的最新动态,通过社交网络获取信息的方法有很多。

关键要素在于连接:对于用户所连接或跟随的任何人来说,一旦登录到系统,该用户通常会看到来自所有这些连接的更新。

MySQL-vs-MongoDB-构建a时的利弊
数据库实时同步

社交网络关系图示例。 资料来源:SarahMei。com。

鉴于社交数据有各种各样的关系,特别是对用户来说,随着时间的推移,它会更适合关系数据库。 尽管像MongoDB这样的NoSQL解决方案看起来是一种快速检索大量数据的好方法,但是社交网络中用户的关系特性会导致大量的重复。

随着时间的推移,这种重复使数据变得不一致和/或不可靠,或者如果删除重复,查询变得更加难以处理(因为文档可能需要指向其他文档,这对于NoSQL类型的数据库来说并不是最佳的)。

因此,MySQL将是更好的推荐,因为它将拥有处理众多用户之间的交互和关系所必需的数据可靠性和关系工具。 您也可以决定同时使用MySQL和MongDB来利用每个数据库的最佳特性。

无论您决定使用一个还是两个数据库,Morpheus都可以跨私有云和公共云(甚至是混合云)无缝地调配和管理SQL和NoSQL数据库。 凭借其易于使用的界面,您可以在几秒钟内创建并运行一个新的数据库实例。

今天就访问莫斐斯网站,创建一个免费账户或注册一个演示!