SQL(MySQL)与 NoSQL(CouchDB)[关闭]
Posted
技术标签:
【中文标题】SQL(MySQL)与 NoSQL(CouchDB)[关闭]【英文标题】:SQL (MySQL) vs NoSQL (CouchDB) [closed] 【发布时间】:2011-02-03 07:16:44 【问题描述】:我正在设计一个必须存储大量数据的高度可扩展的应用程序。例如,它将存储很多关于用户的信息,然后是他们的很多消息、cmets 等。我以前一直使用 mysql,但现在我想尝试一些新的东西,比如 couchdb 或类似的东西,而不是 SQL。
有人对此有任何想法或指导吗?
【问题讨论】:
嘎,CW。我希望在这里获得一些真正的代表和一些街头信誉。 :-) 你能多解释一下你的数据集吗? 我希望不必关闭它。这些问题很重要,但出于某种原因,它们不属于 SO。 【参考方案1】:最好的选择之一是选择支持可扩展性的 MongoDB(NOSql dB)。与 sql 中的行和表不同,以文档的形式存储大量数据,但只存储大数据。这是数据分片后的速度更快.使用副本集来确保维护以主数据库服务器为基础的多个服务器的数据保证。语言无关。 使用灵活
【讨论】:
您应该将您的意见备份到“最佳”,因为 Couchbase、Cassandra、AeroSpike 等以及所有支持您提到的功能的数据库。【参考方案2】:这是最近blog post from Dare Obasanjo的引述。
SQL 数据库就像自动 传输和 NoSQL 数据库是 像手动变速箱。一旦您 切换到 NoSQL,你就变成了 负责很多工作 系统会自动处理 一个关系数据库系统。相似的 当您选择手动时会发生什么 超过自动变速器。其次, NoSQL 让您可以做更多事情 系统外的性能由 消除大量完整性检查 由关系数据库完成 数据库层。同样,这是相似的 如何获得更多性能 通过驾驶手册离开你的车 传输与自动 传输车辆。
然而,最显着的相似之处是 就像我们大多数人一样 利用的好处 手动挡车因为 我们大部分的驾驶都是坐着 在往返途中的交通中 工作,也有类似的严酷现实 因为大多数网站不在 Google 或 Facebook的规模,因此没有必要 对于 Bigtable 或 Cassandra。
我只能补充一点,从您至少有一些经验的 MySQL 切换到您没有经验的 CouchDB,这意味着您将不得不处理一系列全新的问题并学习不同的概念和最好的实践。虽然这本身很棒(我在家里玩 MongoDB 并且非常喜欢它),但这将是您在估算该项目的工作时需要计算的成本,并在承诺未知收益的同时带来未知风险。如果项目基于您不了解的技术,那么您是否能够按时完成项目并以您想要/需要的质量成功将很难判断。
现在,如果您的团队中有一位 NoSQL 领域的专家,那么一定要好好看看它。但是,如果团队没有任何专业知识,就不要在新的商业项目中使用 NoSQL。
更新:只是为了给你开始的火上浇油,这里有两篇来自 SQL 阵营人员的有趣文章。 :-)
I Can't Wait for NoSQL to Die(原文章不见了,这里是copy)Fighting The NoSQL Mindset, Though This Isn't an anti-NoSQL Piece更新:这里有一篇关于 NoSQL 的有趣文章Making Sense of NoSQL
【讨论】:
扩展 SQL 解决方案的过程是去除特征和关系的过程。所以我不认为这是一个完全公平的评估。另外,我不会像这样将 NoSQL 数据库组合在一起,例如 Cassanda 只关注扩展 up 而 CouchDB 关注扩展 api down 并使其易于使用并尝试让该 API 尽可能扩大规模。 这可能是引用的链接吗? 25hoursaday.com/weblog/2010/03/29/… 啊,确实。我错过了他也将其设为公开博客文章。我会更新帖子。 感谢您的帖子! “I Can't Wait for NoSQL to Die”链接对我不起作用,您可能需要检查一下。 “你已经用一个详细列举的限制和缺陷列表换取了一个更新的、了解甚少的限制和缺陷列表”-I Can't Wait for NoSQL to Die【参考方案3】:现在似乎只有真正的解决方案围绕横向扩展或分片展开。所有现代数据库(NoSQLs 和 NewSQLs)都支持开箱即用的水平扩展,在数据库层,不需要应用程序有分片代码或其他东西。
不幸的是,对于值得信赖的老式 MySQL,分片不是“开箱即用”的。 ScaleBase(免责声明:我在那里工作)是一个完整的横向扩展解决方案的制造商,如果你愿意的话,它是一个“自动分片机”。 ScaleBae 分析您的数据和 SQL 流,在 DB 节点之间拆分数据,并在运行时聚合 - 所以您不必这样做! 而且它是免费下载的。
不要误会,NoSQL 很棒,它们是新的,新的选择更多,选择总是好的!但是选择 NoSQL 是有代价的,确保你能付出代价......
您可以在这里查看更多关于 MySQL、NoSQL 的数据...:http://www.scalebase.com/extreme-scalability-with-mongodb-and-mysql-part-1-auto-sharding
希望有所帮助。
【讨论】:
以上是关于SQL(MySQL)与 NoSQL(CouchDB)[关闭]的主要内容,如果未能解决你的问题,请参考以下文章