Sql Azure - 单独的服务器?

时间:2011-04-20 21:53:52

标签: sql-server azure instance azure-sql-database

让我先说这个问题,说我既不是数据库也不是Azure专家。

MS似乎按Sql Azure dbase的大小和数量收费,而不是按服务器数量收费。因此,在每个服务器实例上放置一个dbase似乎是可行的。我的理解是,有时将数据库放在单独的物理服务器上而不是在高使用场景中的一台机器上更有利。是否/可能同样适用于Sql Azure虚拟服务器?以下是我可以找到的有关Sql Azure服务器实例的信息:

  

SQL Azure服务器是一个逻辑数据库组,充当多个数据库的中央管理点。每个SQL Azure服务器都包含与您所在场所SQL Server实例类似的登录。“(SQL Azure Provisioning Model

我还要补充一点,虽然所有数据库都将由相同的Web角色访问和使用,但没有一个数据库会直接相互需要数据。

9 个答案:

答案 0 :(得分:7)

您的数据库的物理位置和服务器的数量完全无关。你有10个服务器和10个数据库或1个服务器和10个数据库,它们是相同的。最后,您将拥有10个数据库,这些数据库实际上位于云的各个部分中,您可以完全无法控制。他们可能在同一个物理主机上都是10(不太可能),或者每个人在一个单独的主机上(更有可能),你将无法控制,也无法真正找到它。

答案 1 :(得分:6)

每个人都说天蓝色数据库服务器只是一个不需要担心的逻辑概念,但是,在门户网站,服务器列表中存在一些限制,它实际上告诉您可用的配额在那台服务器上,这意味着你不能在1台服务器上真正放置太多数据库,所以,我们不能真正认为它只是一个逻辑概念,否则,为什么会有一个限制。例如,现在你不能在一台服务器上放置3个P3层数据库,因为一台服务器的最大DTU只有1600 DTU,1个p3层数据库需要800个DTU。

因此,我不能只将azure数据库服务器视为管理凭据的逻辑概念服务器。如果那里存在限制,我想一定会有某些因素影响性能。

除非有人可以帮助解释该限制的来源。

实际上,对于退役的网络/商业轮胎,一个糟糕的社区会影响你的数据库性能,这让人更加疑惑服务器真的只是一个逻辑概念吗?

答案 2 :(得分:2)

除非你预计会有很高的负荷(我认为每秒大约有500笔交易,但我无法在任何地方找到这方面的参考)我认为你不太可能从中获益将数据库放在不同的服务器上。

SQL Azure通过各种各样的魔术来传播您的数据。即使两个数据库位于同一台服务器上,它们很可能在不同的机器上运行(并且每个数据库可能在多台机器上进行负载平衡)

将数据库分布在不同的服务器上确实会产生稍高的管理开销,多组用户,防火墙规则等。

答案 3 :(得分:2)

服务器是虚拟/逻辑概念。位于同一服务器中意味着您位于同一数据中心,但并不意味着您位于同一物理服务器上。您拥有的每个数据库最终都会冗余地分布在几个不同的物理服务器上(这样您就不会在发生硬件故障时受到影响)并且它们最终不会像我们的数据中心那样容纳相同的物理服务器服务器。

只有当您想要位于不同的数据中心或者想要逻辑分离时,才应使用其他服务器。我不知道有任何与性能或负载相关的原因来使用不同的服务器。

(在某些情况下,目前存在性能/负载相关的原因需要单独的数据库。)

答案 4 :(得分:1)

SQL azure服务器是一个逻辑实体;因此,不同的服务器并不一定意味着不同的物理服务器,它们很可能是同一物理服务器上的分离虚拟机。

答案 5 :(得分:1)

将所有数据库放在一台服务器上有一些限制。每个数据库服务器最多可支持150个数据库(包括主数据库)。

另一个要考虑的问题是,您的服务器或服务器的VM是否开始出现技术或性能问题和/或正在进行更新。如果将数据库放在不同的服务器上,则可能有助于降低某些风险,就好像其中一个数据库服务器已关闭,并非所有数据库都处于脱机状态。

参考:http://msdn.microsoft.com/en-us/library/ee336245.aspx#dcasl

答案 6 :(得分:0)

根据我的个人经验,存储方面存在一些问题,我有一个服务器S1,我在该服务器下创建了两个数据库,这两个数据库都是基本数据库。

现在,明智的存储方式是在两个之间划分/共享空间。如果有三个,则分为三个。

因此,我建议创建单独的服务器,而不是在一台服务器下创建数据库。

答案 7 :(得分:0)

如果将一个数据库放在SQL Server上,则可以通过使用elastic pools

在它们之间共享资源来节省资金。
  

SQL数据库弹性池是一种简单,经济高效的解决方案,用于   管理和扩展具有不同功能的多个数据库   不可预测的使用需求。弹性池中的数据库位于   单个Azure SQL数据库服务器并共享一定数量的资源   以固定价格。 Azure SQL数据库中的弹性池启用SaaS   开发人员优化一组数据库的价格性能   在规定的预算范围内,同时提供绩效弹性   每个数据库。

这个问题比Azure弹性池的发布早了五年(2016年是generally available!)

另一个答案与您如何管理安全性设置有关。 Azure具有服务器级防火墙和数据库级防火墙。请参见Azure SQL Database and Azure SQL Data Warehouse IP firewall rules。这可能会影响您要在哪里设置数据库。

答案 8 :(得分:-4)

如果您希望在另一台服务器上使用相同的数据库名称,则需要分开,因为1台服务器在同一台服务器上不能有2个数据库......