SQL(MySQL)与NoSQL(CouchDB) [英] SQL (MySQL) vs NoSQL (CouchDB)

查看:99
本文介绍了SQL(MySQL)与NoSQL(CouchDB)的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在设计一个高度可扩展的应用程序,该应用程序必须存储大量数据.例如,它将存储大量有关用户的信息,然后存储许多诸如消息,注释之类的信息.我以前一直使用MySQL,但现在我想尝试一些新的东西,例如couchdb或类似的SQL,而不是SQL.

I am in the middle of designing a highly-scalable application which must store a lot of data. Just for example it will store lots about users and then things like a lot of their messages, comments etc. I have always used MySQL before but now I am minded to try something new like couchdb or similar which is not SQL.

有人对此有任何想法或指导吗?

Does anyone have any thoughts or guidance on this?

推荐答案

以下是最近的来自Dare Obasanjo的博客帖子.

SQL数据库就像自动数据库一样 传输和NoSQL数据库是 像手动变速箱一样一旦您 切换到NoSQL,您将成为 负责很多工作 系统会自动照顾 关系数据库系统.相似的 当您选择手动时会发生什么 自动变速箱.其次, NoSQL让您更胜一筹 系统外的性能 消除了很多完整性检查 由关系数据库完成 数据库层.再次,这是相似的 如何获得更高的性能 驾驶手册将您从车中移出 变速箱与自动变速箱 传输车辆.

SQL databases are like automatic transmission and NoSQL databases are like manual transmission. Once you switch to NoSQL, you become responsible for a lot of work that the system takes care of automatically in a relational database system. Similar to what happens when you pick manual over automatic transmission. Secondly, NoSQL allows you to eke more performance out of the system by eliminating a lot of integrity checks done by relational databases from the database tier. Again, this is similar to how you can get more performance out of your car by driving a manual transmission versus an automatic transmission vehicle.

然而,最显着的相似之处是 就像我们大多数人一样, 充分利用 手动变速器的车辆,因为 我们大部分的驾驶都在坐着 往返交通途中 工作,也有类似的残酷现实 因为大多数网站都不在Google或 Facebook的规模,因此没有必要 Bigtable或Cassandra.

However the most notable similarity is that just like most of us can’t really take advantage of the benefits of a manual transmission vehicle because the majority of our driving is sitting in traffic on the way to and from work, there is a similar harsh reality in that most sites aren’t at Google or Facebook’s scale and thus have no need for a Bigtable or Cassandra.

我只能添加从至少有经验的MySQL切换到没有经验的CouchDB的意思,这意味着您将不得不应对一系列全新的问题,并学习不同的概念和最佳方法实践.虽然这本身很不错(我经常在MongoDB上玩,并且非常喜欢它),但是在估算该项目的工作量时,这是您需要计算的成本,带来了未知的风险,同时也带来了未知的收益.如果您基于不了解的技术,将很难判断您是否能够按时完成项目并获得想要/需要的质量.

To which I can add only that switching from MySQL, where you have at least some experience, to CouchDB, where you have no experience, means you will have to deal with a whole new set of problems and learn different concepts and best practices. While by itself this is wonderful (I am playing at home with MongoDB and like it a lot), it will be a cost that you need to calculate when estimating the work for that project, and brings unknown risks while promising unknown benefits. It will be very hard to judge if you can do the project on time and with the quality you want/need to be successful, if it's based on a technology you don't know.

现在,如果您的团队中有NoSQL领域的专家,那么请务必仔细看一下.但是,如果没有团队的任何专业知识,请不要选择NoSQL进行新的商业项目.

Now, if you have on the team an expert in the NoSQL field, then by all means take a good look at it. But without any expertise on the team, don't jump on NoSQL for a new commercial project.

更新:只是为了在开火时扔些汽油,这是SQL营的人们写的两篇有趣的文章. :-)

Update: Just to throw some gasoline in the open fire you started, here are two interesting articles from people on the SQL camp. :-)

我等不及NoSQL了死(原始文章不见了,这是复制)
与NoSQL心态作斗争,尽管这不是反NoSQL的事情
更新:好吧,这是有关NoSQL的有趣文章
了解NoSQL

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

这篇关于SQL(MySQL)与NoSQL(CouchDB)的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆