首页 > 代码库 > Azure SqlDatabase 系列之1-- 概念及服务层
Azure SqlDatabase 系列之1-- 概念及服务层
1. 概念
目前在Azure上,使用数据库有两种方式,一种是在VM上安装数据库或部署已有数据库的VM,这种方式需要用户自己配置SLA,备份甚至部署;另一种是直接使用PaaS平台的SQL Database,无需部署,已有SLA保障,可直接配置,但是有DB的大小限制,最高为500G。
使用Azure SQL Database可以i避免采购和安装硬件的冗长周期 - 通过 Azure SQL Database,可随时创建和删除数据库,而不必等待采购订单获批、设备到达、电源和散热系统升级或安装完毕。Microsoft 通过根据我们每个数据中心内的总需求预先配置硬件,全盘处理这些难题,可大大缩短从创意到解决方案的时间。与手动采购和部署硬件相比,这样可为客户的业务节省数周或数月时间。
Microsoft 还在 Azure SQL Database 中加入许多自动管理功能,如自动 HA、负载平衡和内置管理。
自动高可用性 (HA)
Azure SQL Database 为每个用户数据库保留至少三个副本,并具有一种逻辑,可自动将每个更改同步地提交到副本仲裁。这样可确保任何单计算机故障均不会导致数据丢失。此外,每个副本均放在不同的硬件机架上,以使断电或网络交换机停运不会影响你的数据库。最后,还有一种逻辑,如果失去计算机,则自动重建副本,以使系统自动保留所需的运行状况属性,即使计算机的运行状况变得不正常也是如此。这些机制可避免当前在安装和配置高可用性解决方案时所需的漫长过程。通过为你的数据预先配置 HA 解决方案,可消除在使用传统方法生成任务关键型数据库解决方案时的另一个重大难题。
负载平衡
与传统虚拟机不同的是,Azure SQL Database 还包含一种机制,可自动将负载分摊到多个计算机上。负载平衡器动态观察群集的资源用量,并将数据库副本移至群集中的计算机,以便将负载动态、公平地分摊到多个用户上。这样即扩展数据库的按需扩容功能,并且用户可独立考虑每个数据库的容量要求,因为负载平衡器将可迁移繁忙的数据库,使此类数据库彼此远离。在创建跨越许多数据库的解决方案时,此逻辑提供一个抽象层,通过该层,客户可集中精力处理每个数据库的容量需要,而不必考虑虚拟机的具体大小限制。
内置管理
Azure SQL Database 以服务的形式运行。这意味着为每个数据库定义了运行时间目标,避免产生漫长的维护停机时间。Microsoft 对于服务提供单供应商解决方案,这意味着如有任何问题,只需致电一家公司即可。另外,Microsoft 不断更新服务、添加功能、提高容量并寻找在我们进行的每次更新中改善体验的方法。更新以透明方式进行,不产生停机时间,这意味着更新集成在我们正常的 HA 故障转移机制内。这样,我们一经宣布推出新功能,客户即可用上这些功能,而不必等待在未来某个停机时间内升级服务器。
2. 服务层
在Azure的SQL Database目前有五个服务层:基本、标准、高级、Web 和企业。但是从 2014 年 4 月 24 日算起的 12 个月内,Web 和企业服务层(版本)将被停用。
高级服务层通过严格控制 Azure SQL Database 及其辅助副本的资源量,使云应用程序的性能更有预测性。Azure SQL Database 将这种理念扩展到了新的标准服务层,使数据库具有更高的性能可预测性。基本服务层和标准服务层的性能要求更低,旨在满足较低开销数据库的性能要求。
基本、标准和高级的5个性能级别:
服务层 | 性能级别 |
基本 | 基本 |
标准 | S1 |
高级 | P1 |
服务层结构:
服务层/性能级别 | DTU | 最大数据库大小 | 最大 工作 线程数 | 最大 会话数 | 可预测性 |
基本 | 1 | 2 GB | 20 | 100 | 好 |
标准/S1 | 5 | 250 GB | 50 | 200 | 很好 |
标准/S2 | 25 | 250 GB | 100 | 500 | 很好 |
高级/P1 | 100 | 500 GB | 200 | 2,000 | 最好 |
高级/P2 | 200 | 500 GB | 400 | 4,000 | 最好 |
高级/P3 | 800 | 500 GB | 1,600 | 16,000 | 最好 |
服务层/性能级别 | DTU | 最大数据库大小 | 基准事务率 | 可预测性 |
基本 | 1 | 2 GB | 每小时 3,467 个事务 | 好 |
标准/S1 | 5 | 250 GB | 每分钟 283 个事务 | 很好 |
标准/S2 | 25 | 250 GB | 每分钟 1,470 个事务 | 很好 |
高级/P1 | 100 | 500 GB | 每秒 98 个事务 | 最好 |
高级/P2 | 200 | 500 GB | 每秒 192 个事务 | 最好 |
高级/P3 | 800 | 500 GB | 每秒 730 个事务 | 最好 |
PS: 每个服务层和性能级别的资源和能力数据库吞吐量单位 (DTU) 表示。DTU 可让你根据 CPU、内存以及每个性能级别提供的读取与写入速率的混合度量标准描述该性能级别的相对容量。数据库 DTU 等级翻倍就相当于数据库能力翻倍。借助该基准,我们可以通过执行实际的数据库操作,同时根据提供给数据库的资源按比例调整数据库大小、用户数和事务率,来评估每个性能级别提供的更高能力对数据库性能的影响。