【问题标题】:Azure SQL DB - Scale Up - vCore Hyperscale or Azure Managed Instance?Azure SQL DB - 向上扩展 - vCore 超大规模或 Azure 托管实例?
【发布时间】:2022-01-05 06:53:35
【问题描述】:
我们目前正在将 Azure SQL DB 用于我们的数据仓库项目。虽然它是一个 OLAP 应用程序,但它也具有部分 OLTP 功能。我们数据库的当前配置是基本的、基于 DTU 的。现在的要求是数据库大小可以增加到 10 TB。我们需要扩大数据库。哪种型号最合适?分析时,我发现有两个选项 - vCore(超大规模)或 Azure 托管实例?哪个最好?
【问题讨论】:
标签:
azure-sql-database
azure-managed-database
【解决方案1】:
请考虑每个选项不支持哪些功能:
- 地理复制不适用于两者。
- 您可以使用 Azure 门户将 Azure SQL 数据库中的现有数据库移动到超大规模。此时,这是一种单向迁移。除了导出和导入数据之外,您无法将数据库从超大规模移动到另一个服务层。对于概念证明 (POC),建议制作生产数据库的副本,并将副本迁移到超大规模。
- 超大规模不支持自动故障转移,但 Azure 托管实例支持。
- 您没有使用 Hyperscale 进行时间点数据库还原,但使用 Azure 托管实例却有。
- 内存优化表变量在超大规模上的支持有限,但在托管实例上完全支持。内存技术对分析和混合工作负载的性能有很大影响。正如 here 和 here 所述,托管实例是更好的选择。
其他注意事项:
- 如果您的数据库将是一个非常繁忙的数据库并且需要真正的日志写入吞吐量,那么超大规模是您的选择。
- 借助 Azure 托管实例,您可以通过使用 Azure 混合权益来节省资金。
- 使用 Hyperscale 可以更快地进行备份/恢复和纵向扩展/缩减。
- 非常适合 OLAP 工作负载的列存储索引适用于超大规模和托管实例。
- 两者都主要设计用于事务性或 OLTP 工作负载。不过,它们确实支持混合和 OLAP 工作负载