开发/数据库

  |  手机版

收藏网站

投稿QQ:1745232315

IT专家网,汇聚专业声音 解析IT潮流 IT专家网,汇聚专业声音 解析IT潮流

网络

专家视点在现场环球瞭望
IT专家网 > 开发/数据库

了解Azure SQL 数据库扩展性

作者:IT专家网出处:IT专家网2015-01-12 07:33

  微软Azure云的平台即服务解决方案(PaaS)主要优点之一就是简化了部署的扩展实现。这里的扩展既包括纵向扩展,也包括横向扩展。它支持你分别调整当前的报价层次(还包括相应的性能目标和相关辅助功能特性)和运行实例的并发数量。虽然SQL Database支持两种扩展方式,但是横向扩容一般更具有挑战性,这里讨论的是与其他Azure服务相比。在本文中,我们将简单介绍Azure SQL Database实现纵向扩展和横向扩展的方法。

  我们先从纵向扩展功能开始介绍。因为涉及到在报价层次和性能层次的切换,我们首先需要识别用来区分层次的标准。为了简化差异,微软引入了一种新的度量方式,称为数据库吞吐量单元(简称DTU),它的意图是代表一般的Azure SQL Database性能级别,会结合考虑处理器功率,可用内存量和I/O吞吐量。每个报价版本(以及其对应的性能级别)都会分配有一定数量的DTU。每种版本都有指定最大数据库容量限制,大小从2GB到500GB。此外,值得注意的是更高报价版本还提供额外的便利,支持异步复制已提交事务到4个Azure区,包括选择保留用于读访问的二级在线复制(这对报表和数据分析应用非常有用)。另一个区别项目是恢复能力。虽然所有的SQL Database都会定期自动备份(每周做全备份,每天做差异备份,每5分钟做增量备份),但是相应的恢复时间点能达到多久远就取决于报价级别了。

  Azure非常有效地提供给SQL数据库以下三种报价层次(取代了web层和业务层),每种结构都有不同的性能效果和弹性变化功能:

  基础版。该版本在预览门户中指定代号为“B”(Basic首字母),主要面向小规模的单用户数据库,通常对于开发和测试用户比较理想。性能指标限制在5DTU,空间不超过2GB,窗口恢复时点限制是7天。

  标准版。它是生产环境数据库最常见的选择,支持工作组和web应用。它可以扩展到250GB大小,支持标准Geo复制,窗口恢复时点可以达到14天。它还提供了三个性能级别,在预览门户中的代号是S0、S1和S2(S意为Standard首字母),分别提供10DTU、20DTU和50DTU的性能级别。

  增强版。主要针对高并发需求的企业级应用。空间可以扩展到500GB,支持活动Geo复制和35天的时点恢复。它的性能级别分为P1、P2和P3(预览门户可以看到,P为Premium首字母),分别对应100DTU、200DTU和800DTU性能级别。

  报价层次和性能级别可以在Azure管理门户和预览门户中更改(尽管用户在切换期间可能会感受到短暂的连接断开,但你可以在应用程序中处理一下让体验变得更友好)。这个过程可以利用“Set-AzureSqlDatabase PowerShell”命令行带上“-ServiceObjective 和-Edition”参数(代表性能级别和报价级别)自动完成。在收缩调整时,要记得确保数据库在新目标报价层的限制环境下不受影响(尤其是注意最大容量和复制范围)。

  除了纵向扩展(可以理解为受报价层次和性能级别影响的专项限制),你还可以选择横向扩展,把目标表分隔放到多个数据库实例中(也可以称为分区)。这种做法也被称为分片,如果不通过Azure平台的便利操作实现是非常有技术挑战的,但是在Azure平台中就简单多了,不需要定制设计和开发,频繁修改现有数据库结构和数据库结合的应用。通常有以下几种实现分片的方法:

  联邦。它定义了一种联合结构。其中包括联合分发主键,它又包含分区中使用的数据类型值的差异(比如客户ID和产品ID)。该主键决定了具体数据记录应该被分配到哪一个分区。联邦主键是联邦表主键的组成部分,联邦表拆分为独立数据库,它们构成了联邦。联邦元数据存储在联邦根数据库中,它作为应用访问联邦数据的逻辑终点(顺便说一下,一个根数据库就可以包含多个联邦的元数据)。实际数据的定位非常高效,从应用角度看是不受连带影响的。要注意,联邦成员个体数据库也包含非联邦表(也可以称为引用),它们不是联邦的组成部分。这些表通常存储联邦内容需要的其它数据。我们应该认识到基于Azure的联邦取消了传统的报价层次(Web层和业务层),这一点很重要。这样我们可以把另外两种横向扩展解决方案用于其它新部署的情况。

  定制分片。与联邦形式类似,它需要考虑设计和开发工作量,以便为数据分区、分发和连接路由实施定制的方法。你可以在微软Azure博客找到关于本话题的更多信息。

  弹性扩展。目前还在预览阶段,它利用模板纳入.NET库实现数据库管理基础设施,帮助你简化了数据分区流程(横向纵向两种都有效)和请求路由。实施方面可以通过PowerShell脚本和Azure自动服务自动完成。绑定数据的应用可以利用弹性扩展API访问分片数据库。该解决方案还包含有迁移工具,支持你从现有联邦部署迁移过去。

相关文章

关键词:Azure, SQL,数据库,扩展性

责任编辑:李容心

网警备案