Skip to main content

什么是Azure SQL Database?

分类:  Azure入门 标签:  #Azure #基础 #Azure入门 #入门 发布于: 2023-06-15 14:25:25

Azure SQL Database是基于Azure PaaS平台的数据库引擎,利用PaaS的优势,该服务帮助用户处理大多数的关键任务:

  • 更新
  • 打补丁
  • 备份
  • 监控

等等各种管理任务,而无需用户参与, 让用户专注于业务领域而无需分心在其他的领域。同时Azure SQL Database总是运行最新发布的稳定版本的SQL引擎。

Azure SQL Database能够帮助用户在其应用中创建高可用,高性能的数据存储层和方案。同时它也是大多现代应用的优选方案,它除了支持传统的关系型数据库之外,也支持很多No-SQL的数据,例如GraphsJsonXML等等数据。

Azure SQL Database的定价模型

Azure SQL Database通过两种定价模型为用户提供更为灵活的选择,用户可以根据自己的性能需求,成本综合考量使用这两个定价模型:

  • 基于V-Core的定价模型: 该模型和用户在本地架构SQL Server最为接近,通过衡量架构系统所使用到的硬性指标参数来定价,例如:机器的CPU个数(核数), 内存的容量,IO的读写能力以及存储等等来和基于云的Azure SQL DB一一对标。
  • 基于DTU的定价模型: 该模型是预配模型,评估定价时使用概念Database transaction unit来打包算力,内存,IO等等衡量参数,转为使用DTU来衡量,并计价。
  • Serverless mode定价层:无服务器定价层最大的特定是在特定的条件下最暂停数据库,在暂停期间仅仅是收取存储的费用,同时需要注意数据暂停之后,回复到正常是需要一定的时间,目前该定价层仅仅只能针对基于Single Database部署模型,服务器硬件要求5代硬件。

Azure SQL DB的部署模型

在部署上Azure SQL DB支持如下的部署模型:

  • Single Database部署模型:该模型的特点是每个数据库都是独立的于其他数据,不和其他数据共享资源(例如CPU, 内存,IO等等。)
  • Elastic Pool部署模型:该模型是多个共享资源的数据库集合,例如共享CPU,内存等等,Single Database可以移进移出一个Elastic Pool

支持的服务层

目前Azure SQL DB支持三种服务层,服务层适用于定义资源集合适合各种类型的应用。

  • 标准/通用服务层:标准/通用服务层主要服务于普通的工作负载。
  • 关键业务/Premium服务层: 主要针对于高交易量,低延迟IO的工作负载,例如OLTP应用。
  • Hyperscale服务层:针对于更大型的OLTP数据库,同时提供自动缩放的存储层和可缩放的计算单位。

Azure SQL DB监控和报警工具

Azure SQL DB提供了很多工具,这些工具可以应用于监控,事件报警,以及故障排除等等管理任务。

  • Azure SQL DB自带的监控工具,可以帮助用户查看实时的性能数据。
  • PaaS平台提供的监控工具,也可以帮助用户监视和故障排除。

Query StoreAzure SQL DB内置的一个用用于监控的工具,该工具记录用户实时运行sql的性能指标,识别可能存在的性能问题,找到最大的资源消耗对象。并支持自动基于查询回归性能以及丢失或者重复对象,自动为用户提供优化建议。在Query store里用户可以使用DMVsXEvent来监控负载的性能。(DMV, 动态管理视图,是Query Store的工具)。

Azure提供内置的性能监视和警报工具,将它们与性能评分相结合,可以监视数千个数据库的状态。 使用这些工具,可以根据当前的或预计的性能需求,快速评估纵向扩展或纵向缩减产生的影响。 此外,Azure SQL DB可发出指标和资源日志,以方便进行监视。 可配置 Azure SQL DB,将资源使用情况、辅助角色和会话以及连接性存储到以下Azure资源之一:

  • Azure存储:用于低价存档大量遥测。
  • Azure事件中心:用于将Azure SQL DB遥测与自定义监视解决方案或热门管道集成。
  • Azure Monitor日志:用于具有报告、警报和缓解功能的内置监视解决方案。

高可用性

部署在本地的SQL Server为了保证高可用性,至少要在本地部署两个节点,这两个节点之间需要保持严格的同步维护,数据备份等等,为了保证单机发生故障时保证业务的高可用,虽然多个节点利用该技术可以保证保证高可用性,但是这种方案仍然无法应对某些情况下对数据中心的破坏,在这种极端情况也无法保证高可用性。

Azure SQL DBPremiumBusiness Critical服务层,Azure已经为了用户做了类似本地设置的高可用功能(通过availability Group可用组), 低与这个服务层Azure通过Storage的冗余达到同样的功能。另外Azure SQL DB提供的active geo-replication特性向用户提供了跨数据中心或者跨域灾备的功能。

Azure Availability Zones Azure 可用性区域使得在Azure上单个数据数据中心不会因为整个数据中心发生事故而导致业务宕机,这个特性作为一个IT基础功能用于保护用户的各种基础设施相关的服务。Azure SQL DB可以使用这个特性,将数据的replicas放置于不同的区域,作为灾备的一个特性来使用。

另外Azure SQL DB也提供内置的business continuity and global scalability特性,包括:

  • Automatic Backups
  • Point-in-Time restore
  • Active geo-repliation
  • auto-failover groups
  • Zone-redundant Database

内置的智能技术

Azure SQL DB提供内置的智能技术帮助用户极大减少运行和管理数据的成本,最大化用户应用的性能和安全性。Azure SQL DB通过运行大量的用户的工作负载,通过收集的遥测数据,采用多种算法对这些数据进行评估,训练更好的模型,从而利用该模型给客户提供反馈。

其他特性:

  • 自动性能监控和调试:关于性能调试主要包括:自动索引管理和自动执行计划检查。
  • 自适应查询处理
  • 高级安全保障
  • 高级安全防护
  • 数据加密
  • 数据发现和标记
  • Azure Active Directory集成和多重认证
  • Easy-to-use工具