dtu连接mysql_Azure SQL 数据库中的DTU和eDTU是什么

dtu连接mysql_Azure SQL 数据库中的DTU和eDTU是什么AzureSQL数据库中的DTU和eDTU是什么03/07/20177分钟可看完本文内容MaxShen沈云技术解决方案专家AzureSQL使用了数据库事务单位(DTU)和弹性数据库事务单位(eDTU)来作为一个计量单位。但是DTU和eDTU究竟是什么?在官方文档中是这样解释的:DTU是一个资源度量单位,表示保证可用于单一数据库服务层内特定性能级别的单个AzureSQL…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全家桶1年46,售后保障稳定

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

03/07/2017

7 分钟可看完

本文内容

Max Shen 沈云

技术解决方案专家

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倍。

8b4670e9eeabfa188cdd24bca98396af.png

而DTU的性能评估,可以参看下表:

d3b060e96c875ebb8f0a486108ba6fac.png

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

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

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

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

但是在云的时代就有一个典型的问题存在:所有应用几乎都会有峰值和低谷。而单一数据库一旦分配,资源就已经提供,没有高峰和低谷的区别。那么如何解决这样的问题呢。通常有两个选项:(1) 基于高峰使用情况过度设置资源,因此需要支付额外的费用,或者 (2) 为了节省成本而采用低配,但在高峰期间会出现性能下降而导致客户满意度降低。

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

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

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

431530213e55102988e1f4e34f4ddc35.png

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

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

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

c9f6fc75cc785e5f7d76df2d26675850.pnga0ddf3747f168c906300121cdbf66c69.png

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

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

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

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

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

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

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

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/231316.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • 浅析Promise用法[通俗易懂]

    浅析Promise用法[通俗易懂]浅析Promise用法要理解Promise要知道没有Promise的回调地狱如何插入一段漂亮的代码片Promise语法与then的用法所谓Promise,简单说就是一个容器,里面保存着某个未来才会结束的事件(通常是一个异步操作)的结果。从语法上说,Promise是一个对象,从它可以获取异步操作的消息。Promise提供统一的API,各种异步操作都可以用同样的方法进行处理。Promis…

  • AD18 net class设置「建议收藏」

    AD18 net class设置「建议收藏」今天使用AD18画原理图,想把天线相关网络归属为一类以便方便进行PCB规则设置。在原理图中设置NetClass,可省去在PCB阶段再重新分配NetClass。点击设置→指示→参数设置,调取参数设置符合。将参数设置符合放在要设定的网络上,查看参数设置符合的属性在label中可以重新命名原理图上显示的名称,在Class中点击add,即可新增NetClass,并需要对其进行命名。再将符合复…

  • arrayqueue源码_thinkphp源码分析

    arrayqueue源码_thinkphp源码分析愉快地聊一聊ArrayDeque的特点吧~(以下都是基于jdk1.8)一棵树ArrayDeque的继承树如下图:基本特点(1)双端队列,可从两端添加、删除元素。作为队列使用时,性能优于LinkedList。作为栈使用时,性能优于Stack。(2)底层使用可变数组Object[]elements,数组容量按需增长(3)不能存储null(4)支持双向迭代器遍历(5)线程不安全…

  • 最好用的java开发工具_应用开发工具

    最好用的java开发工具_应用开发工具Java开发者常常都会想办法如何更快地编写Java代码,让编程变得更加轻松。目前,市面上涌现出越来越多的高效编程工具。所以,以下总结了一系列工具列表,其中包含了大多数开发人员已经使用、正在使用或

  • 周鸿祎博客:谷歌Chrome不是浏览器 说的不错

    周鸿祎博客:谷歌Chrome不是浏览器 说的不错http://blog.sina.com.cn/s/blog_49f9228d0100aj4o.html?tj=1

  • C#.NET DataGridView 让部分单元格变成只读的例子程序「建议收藏」

    C#.NET DataGridView 让部分单元格变成只读的例子程序

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号