探索 Azure Database for MySQL
为了帮助你确定你的组织是否可以从迁移到 Azure Database for MySQL 中获益,让我们先快速概览一下 DBaaS 数据库以及在 Azure 和 Azure Database for MySQL 上托管 MySQL 的合适选项。
什么是 DBaaS?
借助 DBaaS,组织可以在云中设置和访问数据库,而无需管理虚拟机 (VM) 和其他底层基础结构。 Azure Database for MySQL(一项完全托管的服务)通过支持 DBaaS 平台上的数据库应用程序的开发来体现这一点,所有配置和维护都由 azure Microsoft 处理。
注意
DBaaS 产品/服务属于更广泛的平台即服务 (PaaS) 产品/服务类别。
什么是 MySQL?
MySQL 是开发人员和企业级组织广泛使用的开源可靠数据库平台,用于托管 Web 应用程序和任务关键型系统。 它针对 Internet 规模的 OLTP 工作负载进行了优化,是 LAMP(Linux、Apache、MySQL、PHP)堆栈的关键部分,用于 Web 开发的最常用技术堆栈之一。
如何选择合适的托管选项
借助 Azure,你的 MySQL 工作负载可以在托管的 VM 基础结构即服务 (IaaS) 或托管的平台即服务 (PaaS) 中运行,也称为关系数据库即服务 (DBaaS)。 本模块涵盖的两个托管选项包括:
- Azure Database for MySQL 灵活服务器:Azure Database for MySQL - 灵活服务器是 Azure 上承载的完全托管的关系 DBaaS,基于开源的 MySQL Community Edition。 它提供多个可用性、维护、安全性和性能功能,开箱即用,几乎不需要管理,但也允许对数据库管理功能和配置设置进行精细控制和灵活性。
注意
贯穿这整个模块,当你看到“Azure Database for MySQL”时,我们指的是 Azure Database for MySQL - 灵活服务器。
- Azure VM 上的 MySQL:对于需要 IaaS 的用户,此选项提供在 Azure 的托管 VM 上管理 MySQL 的灵活性,适合不需要 DBaaS 优势的场景。
让我们更仔细地研究这些选项。
Azure Database for MySQL - 灵活服务器部署模式
Azure Database for MySQL 是完全托管的关系 DBaaS 平台,托管在 Azure 中。 该服务提供:
高可用性和灾难恢复选项,包括区域冗余配置、跨区域复制和通用异地还原。
使用自动备份和按需备份进行数据保护,以及长期保留的选项(预览期最长为 10 年)。
注意
Azure Database for MySQL 使用自动备份和时间点还原,最长 35 天,可以独立使用,也可额外用于长期保留。
以下组件自动维护,确保服务是最安全且最新的:
- 基础硬件
- OS
- 数据库引擎
通过该服务还可以灵活选择计划性维护时段。
可预测的性能,具有自动缩放 IOPS 和加速日志等功能,有助于满足工作负载需求。
弹性缩放和优化成本,具有启动/停止服务器和可突发计算层的功能。
企业级安全性和合规性功能,有助于保护静态和传输中的敏感数据。
高级安全功能,包括使用客户管理的密钥进行数据加密、使用 Azure 专用链接进行专用连接,以及使用 Microsoft Defender for Cloud 简化威胁防护。
监视和自动化工具,简化大规模部署的管理。
这些标准功能只需要很少的管理工作来实现和配置。
Azure Database for MySQL 支持 MySQL Workbench 等常用工具,并通过 MySQL 扩展与 Azure Data Studio 集成,为开发人员提供熟悉的工作流。 该服务使你能够灵活地使用你喜欢的工具、语言和框架开发应用程序,通过与 Azure 服务(如应用程序服务或 AKS)集成来更快地部署应用程序,并使用 GitHub 或 Azure DevOps 自动执行 CI/CD 任务。
考虑此部署模式,以支持以下类型的云原生应用和解决方案:
旨在通过足够的灵活性和对维护计划的控制来管理自动修补。
支持高可用性:
- 在单个可用性区域中
- 跨多个可用性区域
可以通过以下功能从成本优化控制中受益:
- 启动和停止服务器。
- 实现可突发计算。
提示
这些灵活的成本优化控制对于并不总是需要全部计算容量的工作负载非常有用。
要求数据库动态缩放其计算和存储。
需要现成的性能,以及控制和自定义 MySQL 配置设置的功能。
可以从简化的开发体验和与 Azure 生态系统的紧密互操作性中获益。
Azure VM 上的 MySQL
此托管选项归类为 IaaS,而不是完全托管的数据库服务。 它让你可以在 Azure 云平台上的托管 VM 内运行 MySQL。
提示
可以在托管 VM 中安装所有最新版本的 MySQL。
仅当需要 IaaS 部署提供的更高级别的控制并且可以放弃 DBaaS 平台中包含的易用性和其他优势时,才应考虑此选项。
托管选项有何不同?
可以通过不同方式在 Azure 上部署 MySQL。 下表列出了每种方法的关键特点。
托管选项 | 总结 |
---|---|
Azure Database for MySQL | 完全托管的 DBaaS 平台,具有广泛的用户配置和控制。 |
Azure VM 上的 MySQL | 基于 IaaS 的选项,可完全控制数据库实现。 |
下面是对功能差异的总结:
- MySQL 版本支持:
- Azure Database for MySQL 支持 MySQL 版本 5.7 和 8.0,并自动进行主版本和次要版本升级。
- Azure VM 上的 MySQL 允许任何 MySQL 版本安装,为旧版支持提供灵活性。
- 计算缩放:
- 这两个选项都提供可缩放的资源,以满足不同的负载需求。
- 网络连接:
- 这两个选项都支持:
- 具有服务器防火墙的公共终结点。
- 具有专用链接支持的专用访问。
- 具有虚拟网络集成的专用访问。
- 这两个选项都支持:
- SSL/TLS 连接性:
- 在这两种托管方法中都受支持,以确保安全的数据传输。
- 存储和 IOPS:
- Azure Database for MySQL 支持介于 5 GB (GiB) 和 32 TB (TiB) 之间的存储大小。 它还支持自动存储缩放和自动缩放 IOPS。
- Azure VM 上的 MySQL 支持介于 32 GiB 到 32,767 GiB 之间的存储大小,但不支持联机存储或 IOPS 缩放。
- 更新和修补 OS 和 MySQL:
- Azure Database for MySQL 为自动。
- 对于“Azure VM 上的 MySQL”,由最终用户进行管理。
- 高可用性:
- Azure Database for MySQL 支持多个可用性区域中的内置高可用性。
- “Azure VM 上的 MySQL”需要你自定义管理这些设置。
- 静态数据加密:
- Azure Database for MySQL 支持使用服务管理的或客户管理的密钥进行静态数据加密。
- 在 Azure VM 上为 MySQL 实施静态数据加密需要手动干预。
- 备份:
- Azure Database for MySQL 提供自动备份,保留期可配置,最长为 35 天,现在支持长达 10 年的长期保留。
- Azure VM 上的备份需要手动管理。 此外,Azure Database for MySQL 还附带了其他内置功能,例如监视和警报、横向扩展至 10 个只读副本、Microsoft Entra ID 身份验证,以及 Microsoft Defender for Cloud 支持,这些功能在 Azure VM 上运行 MySQL 时要么不可用,要么需要手动管理。
此外,Azure Database for MySQL 还附带了其他内置功能,例如监视和警报、横向扩展至 10 个只读副本、Microsoft Entra ID 身份验证,以及 Microsoft Defender for Cloud 支持,这些功能在 Azure VM 上运行 MySQL 时要么不可用,要么需要手动管理。
在下一单元中,你将更详细地研究 Azure Database for MySQL。