- 核心服务:深入掌握Azure SQL Database、Azure Database for PostgreSQL、Azure Database for MySQL的架构、备份恢复、高可用性配置(如Geo-Replication、自动故障转移组、异地冗余备份)。
- 混合架构:熟悉Azure Arc(管理混合环境中的SQL Server)、Azure VM上的数据库部署与优化。
- 云原生概念:弹性扩展、无服务器数据库(如Azure Cosmos DB)、成本优化策略。
通过结合核心服务的可靠性、混合架构的灵活性及云原生的弹性,Azure提供了适应多样化需求的完整数据解决方案。
一、核心服务:数据库托管与高可用性
-
Azure SQL Database
- 架构:完全托管的PaaS服务,基于SQL Server引擎,提供单数据库、弹性池和托管实例三种部署模式。
- 备份与恢复:
- 自动备份:7天完整备份 + 差异备份 + 事务日志备份(支持时间点恢复)。
- 长期保留(LTR):可配置长达10年的备份存储。
- 高可用性:
- 本地冗余(LRS)与异地冗余(GRS):GRS将数据复制到配对区域,实现跨区域容灾。
- 自动故障转移组(Auto-Failover Groups):
示例:在东亚和东南亚区域配置故障转移组,主区域故障时,15秒内自动切换到次要区域。 - 活动异地复制(Active Geo-Replication):创建最多4个可读副本,用于负载均衡或手动故障转移。
-
Azure Database for PostgreSQL/MySQL
- 架构:基于开源数据库的托管服务,支持单服务器和灵活服务器(预览)部署模式。
- 高可用性:
- 内置HA(仅灵活服务器):通过主备架构自动故障转移(RTO < 60秒)。
- 跨区域只读副本(PostgreSQL):如在美国东部部署主实例,并在欧洲西部创建只读副本。
- 备份:自动备份保留7-35天,支持地理还原(从异地备份恢复)。
二、混合架构:跨环境统一管理
-
Azure Arc
- 功能:将本地、边缘或其他云的资源(如SQL Server)纳入Azure门户统一管理。
- 应用场景:
- 集中监控与策略:在Azure Portal中查看本地SQL Server的性能指标,并强制实施安全补丁策略。
- 自动化更新:通过Azure Policy自动修复不符合规范的本地数据库配置。
- 示例:企业本地数据中心运行SQL Server 2019,通过Azure Arc启用自动更新和漏洞评估。
-
Azure VM上的数据库优化
- 部署优化:
- 存储配置:为SQL Server选择Premium SSD或Ultra Disk,优化IOPS(如64KB块大小对齐)。
- 网络加速:启用加速网络(SR-IOV)降低延迟。
- 高可用方案:
- Always On可用性组:在多个VM间配置同步提交副本,实现RPO=0。
- 故障转移集群+共享磁盘:使用Azure Shared Disks实现跨VM的共享存储。
- 部署优化:
三、云原生:弹性与成本优化
-
弹性扩展
- 垂直扩展:Azure SQL Database支持动态调整服务层级(如从General Purpose升级到Business Critical)。
- 水平扩展:
- 分片(Sharding):使用Elastic Database Tools将数据分布到多个数据库。
- Cosmos DB自动分区:根据分区键自动分配数据,支持无限吞吐量扩展。
- 示例:电商平台在促销期间,Cosmos DB通过自动扩展从10,000 RU/s提升至50,000 RU/s。
-
无服务器数据库
- Azure Cosmos DB无服务器模式:按请求计费(每百万请求单位收费),适合突发流量场景。
- Azure SQL Database无服务器层:自动暂停计算资源,仅按存储计费,适合开发测试环境。
-
成本优化策略
- 预留容量:预购1年期的Cosmos DB预留RU/s,节省高达65%费用。
- 自动缩放:设置Azure SQL Database在非高峰时段自动缩减至基本层级。
- 冷热数据分层:Azure Database for PostgreSQL通过扩展(如Citus)将历史数据归档至低成本存储。
- 示例:企业使用Azure Hybrid Benefit将本地SQL Server许可证迁移至Azure VM,节省40%许可成本。
四、总结与场景对比
场景 | 推荐服务 | 关键优势 |
---|---|---|
需要全局低延迟读写 | Cosmos DB(多区域写入) | 自动分区、<5ms延迟 |
混合环境统一管理 | Azure Arc + SQL Server | 跨云/本地策略一致性 |
突发流量应用 | 无服务器Cosmos DB | 按请求计费,零闲置成本 |
长期运行的OLTP工作负载 | Azure SQL Database(业务关键层) | 内置内存优化列存储 |