我正在设计一个高度可扩展的应用程序,它必须存储大量的数据.举个例子,它会存储很多关于用户的信息,然后是他们的很多消息、 comments 等.我以前一直使用MySQL,但现在我想try 一些新的东西,比如couchdb或类似的东西,而不是SQL.

有人对此有什么 idea 或指导吗?

推荐答案

这里引用了最近blog post from Dare Obasanjo年的一段话.

SQL数据库就像是自动的

然而,最显著的相似之处是

我只能补充一点,从MySQL(至少有一些经验)切换到CouchDB(没有经验),意味着你将不得不处理一系列全新的问题,学习不同的概念和最佳实践.虽然这本身很好(我在家里玩MongoDB,非常喜欢),但在判断该项目的工作时,这将是一个需要计算的成本,在promise 未知yield 的同时带来未知风险.如果这个项目是基于一种你不知道的技术,那么很难判断你是否能按时完成,以你想要/需要的质量成功.

现在,如果团队中有一位NoSQL领域的专家,那么一定要好好看看.但是如果团队中没有任何专业知识,就不要为新的商业项目使用NoSQL.

Update:下面是两篇来自SQL阵营的有趣文章,只是为了给你点燃的大火泼点汽油而已.:-)

I Can't Wait for NoSQL to Die (original article is gone, here's a copy)
Fighting The NoSQL Mindset, Though This Isn't an anti-NoSQL Piece
Update: Well here is an interesting article about NoSQL
Making Sense of NoSQL

Mysql相关问答推荐

如何在逗号分隔字符串值中使用LEFT函数

对具有依赖子查询结果的2列使用等式比较来优化连接

根据上一行S列结果计算列的查询

Ballerina SQL 中是否也应该考虑输入清理?

在MySQL的join查询中进行计算

MySql SELECT 查找包含数字的区间的时间复杂度是多少?

高效的 SQL 查询,用于计算半小时时间序列中已发生的行的一部分

多个 FULLTEXT 索引上的 MySQL SELECT.结果极其缓慢

获取 TEXT 类型行的百分比

从 mysql RDS 导出数据以导入 questDb

MySql中的可见索引和不可见索引是什么

如何在每个国家/地区查询 GHTorrent(类 SQL 语言)的最常用语言

查询以从约会表中获取可用空档

Golang Gorm没有从关联表中检索数据

MySQL:低基数/ Select 性列=如何索引?

是否可以在内部连接期间重命名连接列?

默认为空字符串的列

在另一个 where 语句(子查询?)中使用一个 sql 查询的结果

在 WHERE 子句中使用 mysql concat()?

设计用户角色和权限系统的最佳实践?