Azure SQL 使用了数据库事务单位 (DTU) 和弹性数据库事务单位 (eDTU)来作为一个计量单位。

但是DTU和eDTU是什么鬼啊?

官方文档这样解释

DTU 是一个资源度量单位,表示保证可用于单一数据库服务层内特定性能级别的单个 Azure SQL 数据库的资源。

DTU是一定比例的 CPU、内存和数据 I/O以及事务日志 I/O的混合度量值,该比例由 OLTP基准工作负荷决定(OLTP基准工作负荷代表真实的 OLTP工作负荷)。

这段话说起来非常的难于理解的,所谓的一定比例的CPU、内存和数据库I/O这个就摸不着头了。 然后这些资源的比例又是按照OLTP的基准工作负荷来决定。OLTP基准工作负荷这个又是一个新东西,参见:https://www.azure.cn/documentation/articles/sql-database-benchmark-overview/

其实DTU简单理解就是衡量Azure提供的SQL服务计算能力的一个指标。这个指标越大,SQL的计算能力越强。如100个DTU比5个DTU就应该是强20倍。


可以从上表上对应于本地数据库的性能采集的指标,可以估算出应该使用什么样级别的AZURE SQL。 当然服务层选择后仍然可以进行更改。

对于自己应用应该用多大规模的DTU,可以进行详细的评估,可以使用下面工具

Azure SQL Database DTU Calculator

关于如何评估,且听下回分解。

所以,DTU这个鬼来说就理解为Azure数据库的性能评估单位 。

那么问题又来了什么是eDTU,DTU虽然不太好理解,但是从构架来说,不外乎就是为应用提供数据库服务,也即是我们常用的模型,使用起来也简单。我们称之为单一数据库。要理解eDTU我们先要讲讲什么是Azure 弹性数据库。

但是在云的时代就有一个典型的问题存在:所有应用几乎都会有峰值和低谷。而单一数据库一旦分配,资源就已经提供,没有高峰和低谷的区别。那么如何解决这样的问题呢?

通常有两个选项:

(1) 基于高峰使用情况过度设置资源,因此需要支付额外的费用;

(2) 为了节省成本而采用低配,但在高峰期间会出现性能下降而导致客户满意度降低。

弹性数据库就是为了解决这样的问题而诞生。弹性池通过确保数据库在需要时获得所需的性能资源来解决此问题。它们在可预测的预算内提供简单的资源分配机制。

其实这样理解,我们可以创建一个弹性的数据库池,而多个数据库使用这个池,充分利用池的资源。池很适合具有特定使用模式的大量数据库。对于给定的数据库,此模式的特征是低平均使用量与相对不频繁的使用高峰。可以加入池的数据库越多,就可以节省更多的成本。具体取决于应用程序使用模式,你可能会看到与使用两个 S3 数据库相同的成本节约。

下图显示了一个数据库示例,该数据库有大量的闲置时间,但也会定期出现活动高峰。这是适合池的使用模式:


在所示的五分钟时间段内,DB1 高峰最高达到 90 个 DTU,但其整体平均使用量低于五个 DTU。在单一数据库中,运行此工作负荷需要 S3 性能级别,但在低活动期间,大多数资源都处在未使用的状态。

池可让这些未使用的 DTU 跨多个数据库共享,因此减少了所需的 DTU 数和总体成本。

以上一个示例为基础,假设有其他数据库具有与 DB1 类似的使用模式。在接下来的两个图形中,4 个数据库和 20 个数据库的使用量分层放在相同的图形上,以说明随时间推移,它们的使用率非重叠的性质:



在上图中,黑线表示跨所有 20 个数据库的聚合 DTU 使用量。其中表明聚合 DTU 使用量永远不会超过 100 个DTU,并指出 20 个数据库可以在此时间段内共享 100 个 eDTU。相比于将每个数据库放在单一数据库的 S3 性能级别,这会导致 DTU 减少 20 倍,价格降低 13倍。

由于以下原因,此示例很理想:

  • 每一数据库之间的高峰使用量和平均使用量有相当大的差异。

  • 每个数据库的高峰使用量在不同时间点发生。

  • eDTU 将在多个数据库之间共享。

池的价格取决于池的 eDTU。尽管池的 eDTU 单位价格比单一数据库的 DTU 单位价格多 1.5 倍,但池eDTU 可由多个数据库共享,因而所需的 eDTU 总数更少。定价方面和 eDTU 共享的这些差异是池可以提供成本节省可能性的基础。

所以eDTU一个池化DTU的概念,单一数据库性能可以动态的进行调节,而池中的数据库也可以进行添加删除。

更多相关信息和详细信息可以点击“阅读原文”查阅。

内容转载自公众号

微软中国MSDN
了解更多

Azure SQL的DTU和eDTU到底是个什么鬼相关推荐

  1. Azure Automation (5) 调整Azure SQL Database DTU

    <Windows Azure Platform 系列文章目录> 之前有客户提了需求,在9点以后,把Azure SQL Database DTU提高 在凌晨,把Azure SQL Datab ...

  2. Azure SQL 数据库中的DTU和eDTU是什么

    Max Shen 沈云技术解决方案专家 Azure SQL 使用了数据库事务单位 (DTU) 和弹性数据库事务单位 (eDTU) 来作为一个计量单位. 但是DTU和eDTU 究竟是什么? 在官方文档中 ...

  3. 一起来玩AZURE SQL(一)AZURE SQL 介绍

     1.什么是Azure SQL 在Azure上有PaaS层的SQL 服务,叫做AzureSQL数据库, AzureSQL是什么呢,简单讲就是,你需要使用数据库直接去申请,不关心后端怎么工作,不需要 ...

  4. 关于 Azure SQL 数据库你不知道的 5 件事

    点击上方蓝字关注"汪宇杰博客" 原文:Azure Tips and Tricks 翻译:汪宇杰 Azure SQL Database 如果您喜欢 SQL Server,那么您可能也 ...

  5. Azure SQL 数据库:服务级别与性能问答

    ShawnBice    2014 年 5 月 5 日上午 10:00 几天前,我发表了一篇文章,并就 4 月 24 日发布的适用于Windows Azure SQL 数据库的新服务级别提供了一些预料 ...

  6. azure不支持哪些语句 sql_排查 Azure SQL 数据库的常见连接问题 - Azure SQL Database | Microsoft Docs...

    您现在访问的是微软AZURE全球版技术文档网站,若需要访问由世纪互联运营的MICROSOFT AZURE中国区技术文档网站,请访问 https://docs.azure.cn. 排查 Azure SQ ...

  7. Azure SQL性能调优实践

    Azure SQL性能调优实践 注:blog具备时效性,所有内容都是在当前时间为准,截止时间2017-6-5 首先,创建了一个测试数据库 MaxAadventureWorkTest 使用了 示例数据库 ...

  8. 一起来玩AZURE SQL(四)AZURE SQL之逻辑服务器介绍

     注:blog具备时效性,所有内容都是在当前时间为准,截止时间2017-5-7 之前的blog中,已经提到过Azure SQL创建时候会先创建一个逻辑Azure SQL服务器,之前我创建了maxt ...

  9. azure云数据库_如何将MySQL表迁移到Microsoft Azure SQL数据库

    azure云数据库 介绍 (Introduction) Today, it is a common practice to migrate our local data to Azure. Somet ...

最新文章

  1. 中文短文本相似度:WMD
  2. 做最好的自己,人生十件事(事业,人生,情感)
  3. 今天开始SOA-阿里dubbo
  4. .NET Core微服务 权限系统+工作流(一)权限系统
  5. Python程序可打印今天的年,月和日
  6. 赵雅智:service_startService生命周期
  7. Android应用开发—FragmentManager如何管理fragments
  8. springboot 多线程_机密文档!阿里产出SpringBoot/Cloud,细节爆炸
  9. 《Web Hacking 101》中的链接整理
  10. java jsonobject date_如何将Json Passed Date Value分配给Java Date Object
  11. [转载]Informix平安特征庇护数据的详细方法
  12. JVM笔记1:Java内存模型及内存溢出
  13. Tomcat免安装版执行tomcat9.exe闪退
  14. java解析excel 哪个好_java解析excel
  15. 【图像评价】基于matlab图像去雾质量评价【含Matlab源码 066期】
  16. 锐起无盘找不到服务器,锐起无盘出现重启后连接不到服务器
  17. html遮罩层动画制作,教你用Flash遮罩层制作漂亮的文字效果
  18. H5唤醒Android App
  19. python中compile函数_Python compile函数有什么用?
  20. 【机器视觉】Halcon 18安装教程

热门文章

  1. XML--使用XML来将字符串分隔成行数据
  2. C# WPF中添加调试信息查看窗体
  3. 从代码角度揭示:华为鸿蒙的“套壳”真相!
  4. “工业互联网平台“将成为工业制造企业的标配
  5. NET问答: 如何给 ASP.NET Core 配置指定端口 ?
  6. 【源码解读】Vue与ASP.NET Core WebAPI的集成
  7. asp.net core中使用cookie身份验证
  8. 微服务模式下,实现前后端多资源服务调用
  9. .Net Core In Docker 在容器内编译并发布
  10. 用.NET进行客户端Web开发?看这个Bootstrap风格的BlazorUI组件库