Azure SQL数据库弹性池和Azure SQL数据库托管实例有什么区别?

Jov*_*SFT 3 azure azure-sql-database azure-sql-managed-instance

Azure SQL数据库具有两种相似的风格-托管实例和弹性池。这两种方式都可以放置共享相同资源的多个数据库,并且在两种情况下都可以为实例/池内的整个数据库组更改cpu /存储。它们之间有什么区别?

Jov*_*SFT 9

Azure SQL数据库弹性池是用于单个Azure SQL PaaS数据库的共享资源模型,可实现更高的资源利用效率,并且弹性池内的所有数据库共享同一弹性池内的预定义资源。该产品的重点是针对多租户SaaS应用程序的简化的数据库范围的编程模型,该模型中的工作负载模式定义明确,在为许多租户提供服务时具有很高的成本效益。

SQL数据库托管实例提供了一个简化的实例范围的编程模型,就像本地SQL Server实例一样。受管实例中的数据库共享分配给受管实例的资源,并且受管实例还代表这些数据库的管理分组。此产品的重点是与本地SQL Server的编程模型高度兼容,以及对大多数SQL Server功能和随附工具/服务的开箱即用支持。

一些高级指南可能是:

  • 如果您需要对不需要单个SQL Server中存在的所有实例Transact-SQL功能的大量单个数据库进行分组,请使用弹性池。
  • 如果要迁移大量使用实例级功能(例如CLR,Service Broker,SQL Agent等)的SQL Server数据库,请使用托管实例。

在选择一种Azure SQL中查看更多信息

  • 我不知道自提供此答案以来情况是否有所改变,但托管实例现在的成本与相同大小的单个数据库相同,而弹性池会为相同容量增加额外费用。考虑到这一点,当托管实例更便宜并​​且具有更多功能时,为什么有人会选择弹性池。我错过了什么吗? (3认同)