SQL Server 与 NoSQL [英] SQL Server vs. NoSQL

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

问题描述

所以我有一个网站,最终可能会获得相当高的流量.我的数据库实现目前在 SQL Server 2008 中.我真的只有 2 个表和一些存储过程.大多数数据库都可以重新设计,无需加入即可工作(尽管当我可以在 SQL Server 中如此轻松地加入时,这没有意义).

So I have a website that could eventually get some pretty high traffic. My DB implementation is in SQL Server 2008 at the moment. I really only have 2 tables and a few stored procs. Most of the DB could be re-designed to work without joining (although it wouldn't make sense when I can join so easily within SQL Server).

我听说像 Digg 和 Facebook 这样的网站使用 NoSQL 数据库来访问他们的许多基本数据.这是否值得研究,或者 SQL Server 不会真的减慢我的速度吗?

I heard that sites like Digg and Facebook use NoSQL databases for a lot of their basic data access. Is this something worth looking into, or will SQL Server not really slow me down that bad?

我在我的网站上使用分页(尽管这可能会在未来发生变化),而且我还对大多数实时"内容使用 AJAX 数据访问,因此它似乎并不是真正的性能障碍现在,但我担心随着数据开始呈指数级增长.

I use paging on my site (although this might change in the future), and I also use AJAX'd data access for most of the "live" stuff, so it doesn't really seem to be a performance hindrance at the moment, but I'm afraid it will be as the data starts expanding exponentially.

迁移到 NoSQL 后我会获得很多性能吗?老实说,现在我什至不完全了解 NoSQL,所以任何关于如何这将帮助我改进的提示.

Am I going to gain a lot of performance my moving to NoSQL? Honestly, right now I don't even completely understand NoSQL, so any tips on how this will help me improve the better.

谢谢各位.

推荐答案

实际上 Facebook 在其核心使用关系数据库,请参阅 SOCC 主题演讲:构建 Facebook:大规模性能.许多其他网络规模的站点也是如此,请参阅 为什么 Quora 使用 MySQL 而不是 Cassandra、MongoDB、CouchDB 等 NoSQL 作为数据存储?.还有一个关于如何将 SQL Server 缩放到 web-scale 大小的讨论,参见 大型站点和应用程序如何保持基于 SQL 的状态? 基于 MySpace 的架构(更多详情请访问 使用 Reliable Messaging 横向扩展 SQL Server).我并不是说 NoSQL 没有它的用​​例,我只是想指出在白色和黑色之间有许多灰色阴影.

Actually Facebook use a relational database at its core, see SOCC Keynote Address: Building Facebook: Performance at Massive Scale. And so do many other web-scale sites, see Why does Quora use MySQL as the data store instead of NoSQLs such as Cassandra, MongoDB, CouchDB etc?. There is also a discussion of how to scale SQL Server to web-scale size, see How do large-scale sites and applications remain SQL-based? which is based on MySpace's architecture (more details at Scale out SQL Server by using Reliable Messaging). I'm not saying that NoSQL doesn't have its use cases, I just want to point out that there are many shades of gray between white and black.

如果您担心您当前的解决方案无法扩展,那么也许您应该查看阻碍您当前解决方案可扩展性的因素是什么.测试数据的生成成本很低,加载呈指数增长"的数据量并运行您的测试工具,看看它在哪里破裂.NoSQL 解决方案都不会带来神奇的现成可扩展性,它们都需要您了解如何有效地使用它们并正确部署它们.如果您想确保大规模成功,它们还要求您进行大量测试.传统的关系解决方案也是如此.

If you're afraid that your current solution will not scale then perhaps you should look at what are the factors that prevent scalability with your current solution. Test data is cheap to produce, load the 'exponentially increased' data volume and run your test harness, see where it cracks. None of the NoSQL solutions will bring magic off-the-shelf scalability, they all require you to understand how to use them effectively and deploy them correctly. And they also require you to test with large volumes if you want to ensure success at scale. Same for traditional relational solutions.

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

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