【问题标题】:MongoDB vs CouchDB for NoSQL Copy of MySQL Database on LAMP Stack [closed]MongoDB vs CouchDB 用于 LAMP Stack 上 MySQL 数据库的 NoSQL 副本 [关闭]
【发布时间】:2011-11-08 14:55:04
【问题描述】:

我正在寻找喜欢 PHP、Javascript (JSON)、REST 和 MySQL 的人来告诉我哪个 NoSQL 数据库将是 LAMP 开发人员的更好选择。

特定应用程序正在创建一个 NoSQL 数据库,该数据库将包含少量键值对象,从而允许应用程序仅使用最重要和时间敏感的数据快速响应用户。唯一的实时 NoSQL 更新是记录用户访问时间戳。

高级流程:

  1. 用户与桌面或 Web 应用程序交互以处理存储在 MySQL 中的主要数据输入事务
  2. 应用程序将数据子集作为对象复制到 NoSQL 中,并以用户的 UUID 作为键。只有用户最近的事务存储在 NoSQL 中。
  3. 用户使用移动设备或语音连接到 NoSQL 数据以检查交易状态

问题: 对于 LAMP 开发人员而言,哪种 NoSQL 数据库更适合上述流程?为什么?

【问题讨论】:

  • 为什么不能把这些东西再存到 MySQL 里?
  • 我可以,而且我们都已经这样做了多年,但听起来像使用 Node.js(服务器 Javascript)这样的超快速工具支持的 NoSQL 会使应用程序的响应速度更快,甚至对用户来说在交通高峰期。我想在输入数据时运行一次复杂的 SQL 查询和表连接,而不是在每次有人需要快速只读查看他们的数据时再次要求它。
  • 那为什么不干脆完全放弃 MySQL 呢?
  • 我对 MySQL 很满意。大量的开发人员都非常了解它,安全性定义明确并且有效。现在我正在寻找改善最终用户体验的方法。
  • 不管是不是因为“内战”而关闭,也应该关闭,因为你懒得去read the tutorial。这就像三行。

标签: php mysql mongodb couchdb database


【解决方案1】:

MongoDb 和 CouchDb 非常相似。反正 MySQL 的响应速度也挺快的,为了提高性能,也许你可以看看 Memcached。

MongoDb

  • 面向文档的数据库,基于 BSON(类 JSON)文档
  • 键值数据库,但值可以是 BSON 文档
  • 读写操作的高性能
  • 可扩展(主从复制)
  • 自定义协议
  • 不适合需要数据完整性的应用程序(银行、电子商务、会计) -

沙发数据库

  • 面向文档的数据库,基于 JSON 文档
  • 键值数据库,但值可以是 JSON 文档
  • 读写操作的高性能
  • 可扩展(具有冲突解决方案的主-主复制)
  • REST 协议
  • 不适合需要数据完整性的应用程序(银行、电子商务、会计)——请参阅 Robert Newson 的评论——他认为文档更新完全符合酸要求,但它不支持多个事务文档更新仍然适合这种应用程序。 另外考虑到“文档”可以包含结构化信息,它比关系数据库记录更丰富。在再次更新这个问题之前,我会考虑一下。

【讨论】:

  • 感谢您的帮助。选择 master-slavemaster-master 进行复制会有什么影响?
  • 主从是传统的复制,写入是在一个服务器上完成的,所有其他服务器都复制它,并且只读。 master-master 是一个更复杂的场景,其中允许在多个服务器上进行写入。但是,我认为,对于您的用例,您可以使用 memcached 让您的网站运行起来,它用作内存中的密钥/存储缓存机制。您可以将所有数据保存在 MySQL 中,并使用 memcached 来缓存公共查询,甚至是现成的对象。
  • 这很有帮助!我没有意识到 memcached 这么有效
  • “不适合需要数据完整性的应用程序(银行、电子商务、会计)”——这是完全错误的(对于 CouchDB)。
  • @RobertNewson 你能看看接受的答案吗:stackoverflow.com/questions/299723/… 新的 couchdb 开发的论点是否仍然有效或已经过时?谢谢
猜你喜欢
  • 2011-03-23
  • 2011-02-03
  • 2017-03-19
  • 2021-02-28
  • 1970-01-01
  • 1970-01-01
  • 2012-01-30
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多