Azure SQL 数据库定价

Posted

技术标签:

【中文标题】Azure SQL 数据库定价【英文标题】:Azure SQL Database Pricing 【发布时间】:2019-05-12 01:05:17 【问题描述】:

我无法找到 Azure SQL 数据库的每笔交易成本。 https://docs.microsoft.com/en-us/azure/sql-database/sql-database-single-databases-manage

我知道 SQL Server 数据库每月大约 5 美元,但交易费用是多少?

如果我访问 Azure 定价计算器 (https://azure.microsoft.com/en-us/pricing/calculator/),他们似乎没有相关信息。他们将单个数据库的价格列为 187.77 美元,因此如果您使用上面的链接,这与您创建的服务不同。

【问题讨论】:

它取决于您的使用情况 @Ajay2707 但是“使用量”是如何定义和计算的呢?它主要是基于 IO 还是基于 CPU? DB 大小与 DB 读/写强度如何? 我正在尝试找出:假设我执行了 100 万次插入(事务)。我(大约)要花多少钱? 【参考方案1】:

这是基于您的要求,我使用的是single instance Azure SQL 数据库,所以基本上基于您的 CPU 成本和您的事务限制以及称为“DTU”的空间。这完全取决于您的要求。

如果它在 VM(虚拟机)中,则应用您的 vm 成本和 sqlserver 成本(如果您没有 sqlserver 许可证)。

费用https://azure.microsoft.com/en-us/pricing/calculator/

【讨论】:

【参考方案2】:

TL;DR:

Azure SQL 定价是“平价”:首先您为数据库选择具有固定成本的性能级别(例如,S6 为 580 美元/月或 S1 为 30 美元/月),这是按秒计费。 Azure 不会根据实际 IO/CPU 使用情况向您的帐户收费。

其余的:

没有单一的“每事务成本”,因为“事务”不是数据库服务器的单一统一工作量(例如,与具有索引的小表上的单个 SELECT 相比,IO 和 CPU 密集型显着减少MERGE 超过数百万行)。

在 Azure 中有三种不同类型的 Azure-SQL 部署,有各自不同的公式来确定每月成本:

单一数据库 (DTU) 单一数据库 (vCore) 弹性池 托管实例

我假设您对“单一数据库”部署类型感兴趣,因为“托管实例”是一个相当小众的应用程序,而“弹性池”是为了省钱,如果您有很多(想想:成百上千)较小的数据库。如果您有少量(例如,少于 100 个)较大的数据库(就磁盘空间而言),那么“单一数据库”可能适合您。我不会详细介绍其他部署类型。

如果您使用基于 DTU 的单一数据库部署(大多数用户都这样做),那么定价遵循以下通用公式:

Monthly-price = ( Instances * Performance-level )

其中Performance-level 是为您所需的最低性能水平选择的 SKU。您可以随时随意更改此级别,因为您按秒计费,而不是按月计费(但按秒计费很难纳入每月的价格估算)

“DTU”(数据库吞吐量单位)是一种计量单位,它代表 Microsoft 运行数据库的实际成本,然后以某种方式透明地传递给您(忽略 Microsoft 每个 DTU 的利润率,当然)。

在确定要为您的数据库获得什么性能级别时,您应该选择能够提供应用程序实际需要的最小 DTU 数量的性能级别(您可以通过分析和估计来确定这一点,通常从高性能开始几个小时的数据库(不会花费超过几美元)并运行您的应用程序代码 - 如果实际 DTU 使用量较低(例如,您获得“S6”400 DTU(~580 美元/月)数据库并查看如果您在正常负载下仅使用 20 个 DTU,那么您可以放心地将其保持在“S1”20DTU(~30 美元/月)性能水平

关于 DTU 究竟是什么的问题之前已被问过,因此为避免产生重复的答案,请在此处阅读 QA:Azure SQL Database "DTU percentage" metric

【讨论】:

好的。非常感谢

以上是关于Azure SQL 数据库定价的主要内容,如果未能解决你的问题,请参考以下文章

azure 是不是有可能制定强制执行定价层的政策?

Azure 定价详细信息 API

Microsoft Azure 公开定价

Azure 批量定价,可在一小时内进行纵向扩展和缩减

Azure中Active Directory中定价层的主要区别是什么?

Azure APIM 定价层和虚拟网络