首先让我清楚一点,我不是来自网络背景,所以如果我对它的工作方式有任何了解是不正确的,请随时纠正我
假设我有一个网站,我想在云上托管,因为
- I don't want to take care of hardware
- I want to scale my website as needed
现在我对SQL Server
与SQL Azure
的角色在这种情况下的角色有点混淆。
普通网页寄存
当我想到一个普通的网站时,我知道我需要一个托管我的网站的主机/服务器。主持人应该能够支持SQL Server
。出于扩展目的,我将不得不在多个服务器上托管我的网站/ ASP页面。同样,如果我想扩展我的SQL Server
,我将不得不在多个服务器上托管它,并且必须通过某种机制确保所有服务器中的数据都是最新的。
基于云的主机
现在我想我也可以在Cloud/Azure
上设置类似的结构。如果是,在这种情况下我会使用云的真正功能吗?
或者我应该使用SQL Azure
而不是SQL Server
?在这种情况下我会得到什么好处?我是否还要负责扩展和数据的一致性?我知道我可以通过设置虚拟机/实例的数量来扩展网站,但是关于数据库的扩展呢?
修改
感谢Florin Dumitrescu
我想要使用的术语是Scaling Out
因为我更关心的是性能,而不是我的数据库在大小方面有多大。我更关心数据库如何在不同的服务器/系统之间扩展以适应负载,从而产生更好的性能
答案 0 :(得分:3)
正如Yossi所提到的,SQL Azure是一种数据库即服务。因此,您只需要配置它,发生魔术,并且您有一个数据库,从1GB扩展到5GB,10GB,一直到50GB(在SQL PASS上很快将为150GB,announced)。关于SQL Azure的好处:您不必担心任何基础架构,服务器,许可等。您只需连接您的连接字符串即可。 SQL Azure旨在可扩展以处理大量并发租户,因此您不必担心扩展。
SQL Azure还会在数据中心复制其数据,以提供“持久”存储。如果数据中心不可用(您可以使用Data Sync服务),您仍然需要设计灾难恢复方案。
至于您的网站本身:当您扩展到多个实例时,每个实例运行相同的代码并使用相同的资源。更进一步,您可以将静态(不变)Web内容(如图像和CSS)移动到Blob存储。与将其存储在网站本身相比,这有几个优点:
我强烈推荐Windows Azure Platform Training Kit,因为有些实验室会带您了解所有这些的基础知识,并提供完整的代码示例。这几乎每月更新一次,与最新的Windows Azure SDK和工具保持同步。
答案 1 :(得分:1)
如果您在云中托管您的网站,并且您需要一个数据库,那么SQL Azure几乎肯定是最佳选择。
SQL Azure是一个数据库即服务,所以你将创建你的数据库并从你的代码中反对它,但不必担心provisioninig,没有这样的服务器,它都被照顾
从应用程序的角度来看,它的外观和行为与SQL Server非常相似,因此最初所有更改都是连接字符串
答案 2 :(得分:1)
正如其他人所说,SQL Azure消除了您对设置和处理基础架构的担忧。这是Azure的一般前提,即提供平台而不仅仅是基础架构。
您为此付出的代价是对功能的一些限制(与常规SQL相比)。对大小的限制(至少在联邦可用之前)和延迟增加(因为您的数据库没有在您的应用程序的同一台服务器上运行)
Microsoft Teched有“SQL Azure Performance and Elasticity Guide”,你应该看看