你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

准备在 Azure 中选择数据存储

在为云计算采用准备登录区环境时,需要确定托管工作负载的数据要求。 Azure 数据库产品和服务支持各种数据存储方案和功能。 如何配置登陆区域环境以支持数据要求取决于工作负荷治理、技术和业务要求。

确定数据服务要求

在登陆区域评估和准备过程中,需要确定登陆区域需要支持的数据存储。 此过程涉及评估构成工作负荷的每个应用程序和服务,以确定其数据存储和访问要求。 确定并记录这些要求后,可以为登陆区域创建策略,以便根据工作负荷需求控制允许的资源类型。

对于部署到登陆区域环境的每个应用程序或服务,请使用以下信息作为起点来帮助确定要使用的适当数据存储服务。

功能要求

考虑数据的性质以及计划如何使用这些数据:

  • 数据格式: 结构化(表)、半结构化(JSON、XML 和键值)或非结构化(图像和文档)

  • 目的: 用于事务数据的联机事务处理(OLTP)或联机分析处理(OLAP),用于复杂的即席数据分析

  • 搜索需求: 索引功能或全文搜索功能

  • 专业: 用于高度互连数据的矢量存储或图形数据库

  • 数据关系: 联接、图形遍历或分层结构

  • 一致性模型: 强、最终或可配置一致性

  • 架构灵活性: 写入架构(刚性)与读取时架构(灵活)

  • 并发需求: 乐观与悲观锁定和高写入方案

  • 数据生命周期: 短期存档与长期存档,热数据与冷数据

  • 数据流动: 提取、转换和加载(ETL)要求;提取、加载和转换(ELT)要求;以及与管道的集成

非功能需求

评估性能和可伸缩性预期:

  • 延迟和吞吐量: 实时处理与批处理
  • 可伸缩性: 垂直缩放与水平缩放以及全局分布
  • 可靠性和可用性: 服务级别协议(SLA)要求和故障转移策略
  • 限制: 存储大小、吞吐量上限和分区约束

成本和管理注意事项

考虑运营开销和预算。

  • 托管与自承载: 平台即服务(PaaS)与基础设施即服务(IaaS)权衡
  • 区域可用性: 数据驻留和合规性需求
  • 成本优化: 分层存储、分区和缓存
  • 许可和可移植性: 供应商锁定和开放源代码兼容性

安全性和治理

确保与组织策略保持一致:

  • 加密: 静态和传输中加密
  • 身份验证和授权: 基于角色的访问和标识集成
  • 审核和监视: 活动日志、警报和诊断
  • 联网: 专用终结点、防火墙规则和虚拟网络集成

DevOps 和团队就绪情况

评估团队支持和改进解决方案的能力:

  • 技能: 熟悉查询语言、SDK 和工具
  • 客户端支持: 语言绑定和驱动程序可用性
  • 工具集成: 持续集成和持续交付(CI/CD)管道和可观测性工具

主要问题

回答以下有关工作负荷的问题,以基于 Azure 数据库服务决策树做出决策:

  • OS 和数据库引擎需要哪种级别的控制? 某些方案要求你对数据库工作负荷的软件配置和主机服务器拥有高度的控制或所有权。 在这些方案中,可以部署自定义 IaaS 虚拟机(VM),以完全控制数据服务的部署和配置。 你可能不需要此级别的控制,但可能尚未准备好迁移到完整的 PaaS 解决方案。 在这种情况下,托管实例可以提供与本地数据库引擎更高的兼容性,同时提供托管平台的优势。

  • 工作负荷是否会使用关系数据库技术? 如果是,请从 Azure SQL 数据库Azure Database for MySQLAzure Database for PostgreSQL 中进行选择,所有这些功能都提供托管 PaaS 数据库功能。

  • 您的工作负载是否使用 SQL Server? 在 Azure 中,工作负荷可以在 Azure 虚拟机上的 基于 IaaS 的 SQL Server 或基于 PaaS 的 SQL 数据库托管服务上运行。 选择取决于是要管理数据库、应用修补程序,还是备份,还是将这些作委托给 Azure。 某些方案需要 IaaS 托管的 SQL Server,因为功能要求。 有关详细信息,请参阅 Azure 中的“选择正确的 SQL Server”选项

  • 您的工作负载是否会使用键值数据库存储?Azure 管理的 Redis 是基于最新 Redis 企业版的托管内存数据存储。 它提供低延迟和高吞吐量。 Azure Cosmos DB 还提供键值存储功能。

  • 工作负载会使用文档或图形数据吗?Azure Cosmos DB 是一种多模型数据库服务,支持各种数据类型和 API。 它还提供文档和图形数据库功能。

  • 工作负荷是否使用列系列数据?适用于 Apache Cassandra 的 Azure 托管实例 提供托管的 Apache Cassandra 群集,可将现有数据中心扩展到 Azure 或充当仅限云的群集和数据中心。

  • 工作负荷是否需要高容量数据分析功能?Microsoft Fabric 是一个企业就绪的端到端分析平台。 它统一数据移动、数据处理、引入、转换、实时事件路由和报表生成。

  • 工作负载是否需要搜索引擎功能? 可以使用 Azure AI 搜索 生成可集成到应用程序中的 AI 增强型基于云的搜索索引。

  • 工作负荷是否会使用时序数据?Azure 数据资源管理器 是一个托管的高性能大数据分析平台,可近乎实时地分析大量数据。

注释

有关如何评估每个应用程序或服务的数据库选项的详细信息,请参阅 了解数据存储模型

常见数据库方案

下表列出了常见的使用方案要求和建议的数据库服务来处理它们。

您的目标 建议的数据库服务
构建可扩展应用,这些应用使用云中托管且智能的 SQL 数据库。 SQL 数据库
使用云中的最新管理 SQL 实例来现代化 SQL Server 应用程序。 Azure SQL 托管实例
将 SQL 工作负载迁移到 Azure,同时保持完整的 SQL Server 兼容性和 OS 级访问。 虚拟机上的 SQL Server
在开源 PostgreSQL 上构建可缩放的托管企业就绪应用,横向扩展具有高性能的单节点 PostgreSQL,或将 PostgreSQL 和 Oracle 工作负载迁移到云。 Azure Database for PostgreSQL
使用托管社区 MySQL 数据库服务或将 MySQL 工作负载迁移到云,为开源移动和 Web 应用提供高可用性和弹性缩放。 Azure Database for MySQL
构建保证在任何位置、任何规模的低延迟和高可用性的应用程序,或将 Cassandra、MongoDB、Gremlin 和其他 NoSQL 工作负载迁移到云。 Azure Cosmos DB
现代化现有的 Cassandra 数据群集和应用,并使用托管实例服务获得灵活性。 适用于 Apache Cassandra 的 Azure 托管实例
构建一个托管的弹性数据仓库,该数据仓库具有每个级别的安全性,无需额外费用。 Azure Synapse Analytics
为交付快速、可扩展的应用程序,使用兼容开源的内存数据存储。 用于 Redis 的 Azure 缓存

数据库功能比较

下表列出了 Azure 数据库服务中可用的功能。

功能 / 特点 SQL Database SQL 托管实例 Azure Database for PostgreSQL Azure Database for MySQL Azure Managed Instance for Apache Cassandra Azure Cosmos DB Azure 托管的 Redis Azure Cosmos DB for MongoDB
数据库类型 关系 关系 关系 关系 NoSQL NoSQL 内存中 NoSQL
数据模型 关系 关系 关系 关系 宽列式数据库 多模型:文档、宽列、键值、图形 键值 文档
分布式多主写入 是的 是的 是的 是的
虚拟网络连接支持 虚拟网络服务终结点 原生虚拟网络实现 虚拟网络注入(仅限灵活服务器) 虚拟网络注入(仅限灵活服务器) 本机虚拟网络实现 虚拟网络服务终结点 虚拟网络服务终结点 虚拟网络服务终结点

注释

Azure 专用链接服务 通过启用 Azure 服务通过专用网络进行通信,简化了网络设计。 所有 Azure 数据库服务都支持 Azure 专用链接服务。 对于托管实例数据库服务,这些实例部署在虚拟网络中,因此无需为其部署 专用终结点

区域可用性

Azure 可帮助你大规模提供服务,以便随时随地与客户和合作伙伴联系。 规划云部署时,确定用于托管工作负荷资源的 Azure 区域。

大多数 Azure 区域支持大多数数据库服务。 少数区域仅支持其中一部分产品,但它们主要面向政府客户。 在确定将数据库资源部署到哪些区域之前,请参阅 可用产品(按区域) 查看区域可用性的最新状态。

有关 Azure 全球基础结构的详细信息,请参阅 Azure 地理位置

数据驻留和合规性要求

与数据存储相关的法律和合同要求通常适用于工作负荷。 这些要求可能因组织的位置、托管数据存储的物理资产的管辖权以及适用的业务部门而异。 请考虑以下数据义务组件:

  • 数据分类
  • 数据位置
  • 共享责任模型中数据保护的责任

有关这些要求的信息,请参阅 使用 Azure 实现合规的数据驻留和安全性

合规性工作的一部分可能包括控制数据库资源的物理位置。 Azure 区域组织成称为 地理区域的组。 Azure 地理位置遵循地理和政治边界内的数据驻留、主权、合规性和复原能力要求。 如果工作负荷受数据主权或其他符合性要求的约束,则必须将存储资源部署到合规的 Azure 地理位置中的区域。

为数据库服务建立控制

在准备落地区域环境时,您可以建立限制用户能够部署的数据存储的控制措施。 控制可帮助你管理成本并限制安全风险。 开发人员和 IT 团队仍可以部署和配置支持工作负荷的资源。

确定并记录登陆区域的要求后,可以使用 Azure Policy 来控制允许用户创建的数据库资源。 控件可以允许或拒绝创建 数据库资源类型

例如,可以限制用户仅创建 SQL 数据库资源。 使用策略控制用户可以在创建资源时选择的选项。 例如,可以通过仅允许在 IaaS VM 上安装特定版本的 SQL Server 来限制用户可以预配的 SQL 数据库 SKU。 有关详细信息,请参阅 Azure Policy 内置策略定义

可以将策略应用于资源、资源组、订阅和管理组。 在 Azure 蓝图 定义中包含策略,并在云资产中重复应用策略。

后续步骤

使用以下文章选择专用数据存储: