我想了解Azure SQL数据库和Azure SQL管理实例之间的区别。在一个简单的层面上,我理解Azure SQL管理实例是在我们需要与本地SQL数据库兼容时使用的,但没有得到关于这两个产品的任何令人满意的解释。还有,在什么情况下使用它们。
功能比较才是正确的方法。
从我使用SQL MI的经验来看,就多租户场景的成本而言,伸缩选项不是很灵活。例如,磁盘I/O和吞吐量是由文件大小驱动的,因此如果您希望保持在通用服务层,则需要预先分配磁盘,使其属于特定的高级磁盘类别,以充分利用它。另一方面,带有弹性池的Azure SQL数据库将真正按需扩展。
我们的第二个重要考虑是DR - SQL MI支持故障转移组,与Azure SQL数据库的主动地理复制相比,它以更低的成本获得了最佳的RPO,RTO。最后,这取决于你的需求。
关于Azure SQL数据库。
Azure SQL数据库是托管在Azure上的关系数据库即服务,属于平台即服务(PaaS)的行业类别。
最适合想要使用最新稳定的SQL Server功能并且在开发和营销方面有时间限制的现代云应用程序。一个完全托管的SQL Server数据库引擎,基于最新稳定的SQL Server企业版。SQL数据库有两种部署选项,建立在微软拥有、托管和维护的标准化硬件和软件上。
在使用SQL数据库时,您可以随用随付,并选择扩展或扩展以获得更大的功能,而不会中断。SQL数据库有一些SQL Server中没有的附加功能,例如内置的高可用性(本地冗余,区域冗余和高级层的Read Scale Out),人工智能(自动调优,自动创建和删除索引,自动查询计划纠正),管理(自动备份,自动更新/升级),安全性(智能威胁检测)和数据治理(数据分类)。
Azure SQL数据库提供以下部署选项:
- 作为一个数据库,通过逻辑SQL服务器管理它自己的一组资源。单个数据库类似于SQL Server中的包含数据库。
- 弹性池,它是一组数据库,通过逻辑服务器管理一组共享资源。可以将单个数据库移入和移出弹性池。此选项针对多租户SaaS应用程序模式进行了优化。弹性池为管理具有可变使用模式的多个数据库的性能提供了一种经济有效的解决方案。
关于管理实例
Azure SQL Managed Instance属于平台即服务(PaaS)的行业类别,并且最适合大多数从SQL Server本地迁移到Azure的迁移,Azure SQL Managed Instance准备好了。
最适合新应用程序或现有的本地应用程序,这些应用程序希望使用最新的稳定SQL Server功能,并且以最小的更改迁移到云。SQL Managed instance的实例类似于Microsoft SQL Server数据库引擎的实例,为数据库提供共享资源和额外的实例作用域特性。
SQL Managed Instance支持从本地迁移数据库,几乎不需要更改数据库。此选项提供Azure SQL数据库的所有PaaS优势,但增加了以前仅在SQL Server虚拟机中可用的功能。这包括一个本地虚拟网络以及与本地SQL Server近乎100%的兼容性。SQL托管实例的实例提供完整的SQL Server访问和功能兼容性,以便将SQL Server迁移到Azure。
Azure SQL Database与SQL Server的兼容性不如Azure SQL Managed Instance。