在 Web 应用程序上使用 NoSQL,而不是使用 SQL [关闭]

Posted

技术标签:

【中文标题】在 Web 应用程序上使用 NoSQL,而不是使用 SQL [关闭]【英文标题】:Using NoSQL on a web application, and not using SQL [closed] 【发布时间】:2012-04-18 04:58:25 【问题描述】:

将 NoSQL 数据库(如 MongoDb 等)完全用于旨在成为社交网站的 Web 应用程序有哪些优点和缺点。我的意思是,将用户帐户和其他凭据存储在 NoSQL 数据库中,而不是使用像 mysql 这样的 SQL 和 Hibernate 并完全依赖 NoSQL,这是一个好方法吗?如果没有,设计 MySQL 实体或域对象(通常是用户帐户等)“绑定”到 NoSQL 数据库(通常是帖子、消息等)的趋势是什么?

【问题讨论】:

您做过任何研究吗? (-1) 这可能会有所帮助 - ***.com/questions/3183067/so-this-nosql-thing。 【参考方案1】:

以下是您应该考虑的问题:

延迟

NoSQL 解决方案旨在在这里表现出色。他们通常将数据写入内存,然后批量刷新到磁盘。如果服务器在写入之前崩溃,数据可能会丢失。 MongoDB 有Journaling,这将有助于从崩溃中恢复。所以这里没有问题

可靠性

NoSQL 解决方案提供用于复制数据的内置解决方案。使用 MySQL,您必须自己完成此操作

对于社交网络场景,MongoDB 之类的文档存储是活动、cmets 相关信息的好主意。用户数据可以存储在 MySQL 数据库中

【讨论】:

是的,在我的应用程序中,我使用 MySQL 作为用户数据库,使用 MongoDB 作为其他数据。所以你是说最好还是把用户数据放在 SQL 中而不是 NoSQL 中? @xybrek 我说它是安全的。使用 NoSQL 系统,您应该知道幕后发生了什么——而且您可以做任何事情——甚至拥有用户数据。您可能还想考虑管理多个数据系统的复杂性

以上是关于在 Web 应用程序上使用 NoSQL,而不是使用 SQL [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

Web 应用程序的文件存储:文件系统、数据库和 NoSQL 引擎

我真的应该使用 NoSQL 吗?

NoSQL 数据库:何时使用 NoSQL 与 SQL?

Python工具箱系列(三十一)

NoSQL之一:Memcached

使用MSBuild / Web Deployment Project启动程序而不是等待它