Answers:
这是Dare Obasanjo最近的博客文章中的引用。
SQL数据库就像自动传输,而NoSQL数据库就像手动传输。切换到NoSQL后,您将负责系统在关系数据库系统中自动执行的许多工作。与您选择手动变速箱而不是自动变速箱时发生的情况类似。其次,NoSQL通过消除数据库层中关系数据库进行的大量完整性检查,使您可以从系统中获得更多性能。同样,这类似于通过驾驶手动变速箱与自动变速箱车辆来提高汽车的性能。
然而,最显着的相似之处在于,就像我们大多数人无法真正利用手动挡汽车的好处一样,因为我们的大部分驾驶行为都在上下班途中坐在交通中,因为大多数网站都没有Google或Facebook的规模,因此不需要Bigtable或Cassandra。
我只能添加从至少有经验的MySQL到没有经验的CouchDB的转换,这意味着您将不得不处理一系列全新的问题并学习不同的概念和最佳实践。虽然这本身很不错(我经常在MongoDB上玩,并且非常喜欢它),但是在估算该项目的工作量时,这是您需要计算的成本,带来了未知的风险,同时也带来了未知的收益。如果它基于您不知道的技术,将很难判断您是否能够按时完成项目并获得想要/需要的质量。
现在,如果您的团队中有NoSQL领域的专家,那么请务必仔细看一下。但是,如果没有团队的任何专业知识,请不要选择NoSQL进行新的商业项目。
更新:只是为了在开火时扔些汽油,这是SQL营人们的两篇有趣的文章。:-)
我等不及NoSQL死了(原始文章不见了,这是副本)
与NoSQL心态作斗争,尽管这不是反NoSQL的
最新更新:好吧,这是一篇有关NoSQL的有趣文章,使 NoSQL
更具意义
如今似乎只有真正的解决方案围绕着扩展或分片展开。所有现代数据库(NoSQL和NewSQL)都支持在数据库层开箱即用地进行横向扩展,而无需应用程序具有分片代码或其他内容。
不幸的是,对于值得信赖的古老MySQL,没有“开箱即用”提供分片。ScaleBase(免责声明:我在那儿工作)是一个完整的横向扩展解决方案的制造商,如果您愿意,可以使用“自动分片机”。ScaleBae可以分析您的数据和SQL流,在数据库节点之间拆分数据,并在运行时进行聚合-因此您不必这样做!它是免费下载。
不要误会我的意思,NoSQL很棒,它们是新的,新的是更多选择,选择永远都是好的!但是选择NoSQL需要付出一定的代价,请确保您能付得起...
您可以在此处看到有关MySQL,NoSQL ...的更多数据:http : //www.scalebase.com/extreme-scalability-with-mongodb-and-mysql-part-1-auto-sharding
希望能有所帮助。
最好的选择之一是选择支持可伸缩性的MongoDB(NOSql dB)。除了以SQL形式的行和表之外的文档形式存储大数据外,仅存储大数据,这是数据分片后的更快处理方法。确保数据保证维护以主数据库服务器为基础的多台服务器。语言无关。使用灵活