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

查看数据选项

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

确定数据服务要求

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

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

主要问题

请回答以下有关工作负荷的问题,这样有助于你根据 Azure 数据库服务决策树做出决策:

  • 所需的 OS 和数据库引擎控制级别是什么? 在某些情况下,你需要对数据库工作负荷的软件配置和主机服务器拥有高度控制权或所有权。 在这些情况下,你可以部署自定义基础结构即服务 (IaaS) 虚拟机,以完全控制数据服务的部署和配置。 你可能不需要此级别的控制,但可能尚未准备好迁移到完整的平台即服务 (PaaS) 解决方案。 在这种情况下,托管实例可以提供与本地数据库引擎的更高兼容性,同时提供完全托管平台的优势。
  • 工作负荷是否使用关系数据库技术? 如果是,你计划使用哪种技术? Azure 为 Azure SQL 数据库MySQLPostgreSQLMariaDB 提供托管 PaaS 数据库功能。
    • Azure Cosmos DB 支持 MongoDBPostgreSQL API,以利用 Azure Cosmos DB 提供的许多优势,包括自动高可用性和即时可伸缩性。
  • 工作负荷是否使用 SQL Server? 在 Azure 中,你可以在基于 IaaS 的 Azure 虚拟机上的 SQL Server 中或基于 PaaS 的 Azure SQL 数据库托管服务上运行工作负荷。 选择使用哪种选项主要取决于你是要管理数据库、应用修补程序以及进行备份,还是要将这些操作委派给 Azure。 在某些情况下,兼容性问题可能需要使用 IaaS 托管的 SQL Server。 有关如何为工作负荷选择正确选项的详细信息,请参阅在 Azure 中选择正确的 SQL Server 选项
  • 工作负载是否使用键/值数据库存储?Azure Cache for Redis 提供了高性能缓存键/值数据存储解决方案,可支持快速、可缩放的应用程序。 Azure Cosmos DB 还提供通用键/值存储功能。
  • 你的工作负载是否将使用文档或图形数据?Azure Cosmos DB 是支持多种数据类型和 API 的多模型数据库服务。 Azure Cosmos DB 还提供文档和图形数据库功能。
  • 你的工作负载是否将使用列系列数据?Azure Managed Instance for Apache Cassandra 提供完全托管的 Apache Cassandra 群集,可将现有数据中心扩展到 Azure 或充当仅限云的群集和数据中心。
  • 你的工作负荷是否需要高容量数据分析功能? 可以使用 Azure Synapse Analytics 来有效存储和查询结构化 PB 级数据。 对于非结构化大数据工作负荷,可以使用 Azure Data Lake 来存储和分析 PB 大小的文件和数万亿个对象。
  • 工作负荷是否需要搜索引擎功能? 可使用 Azure 认知搜索来构建可集成到应用程序中的基于云的 AI 增强搜索索引。
  • 工作负载是否使用时序数据?Azure 时序见解用于存储、可视化和查询大量时序数据(例如 IoT 设备所生成的数据)。

注意

Azure 应用程序体系结构指南中详细了解如何评估每个应用程序或服务的数据库选项。

常见数据库方案

下表列出了常见的使用场景要求和用于处理这些常见的推荐数据库服务。

如果你想要 使用此数据库服务
使用云中的托管和智能 SQL 数据库生成可缩放的应用。 Azure SQL 数据库
使用云中始终最新的托管 SQL 实例实现 SQL Server 应用程序的现代化。 Azure SQL 托管实例
将 SQL 工作负载迁移到 Azure,同时保持完整的 SQL Server 兼容性和操作系统级访问权限。 Azure 虚拟机中的 SQL Server
在开源 PostgreSQL 上构建可缩放、安全且完全托管的企业就绪应用,以高性能横向扩展单节点 PostgreSQL,或者将 PostgreSQL 和 Oracle 工作负载迁移到云。 Azure Database for PostgreSQL
使用托管的社区 MySQL 数据库服务为开源移动和 Web 应用提供高可用性和弹性缩放,或者将 MySQL 工作负载迁移到云。 Azure Database for MySQL
使用托管的社区 MariaDB 数据库服务为开源移动和 Web 应用提供高可用性和弹性缩放。 Azure Database for MariaDB
在任何位置、任何规模构建具有保证的低延迟和高可用性的应用程序,或者将 Cassandra、MongoDB、Gremlin 和其他 NoSQL 工作负载迁移到云。 Azure Cosmos DB
实现现有 Cassandra 数据群集和应用的现代化,并使用托管实例服务灵活、自由地操作。 适用于 Apache Cassandra 的 Azure 托管实例
构建完全托管的弹性数据仓库,每个规模级别均提供安全性,且不收取额外费用。 Azure Synapse Analytics
使用与开源兼容的内存中数据存储为快速、可缩放的应用程序提供助力。 用于 Redis 的 Azure 缓存

数据库功能比较

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

功能 Azure SQL Database Azure SQL 托管实例 Azure Database for PostgreSQL Azure Database for MySQL Azure Database for MariaDB 适用于 Apache Cassandra 的 Azure 托管实例 Azure Cosmos DB 用于 Redis 的 Azure 缓存 Azure Cosmos DB for MongoDB Azure Cosmos DB for Gremlin
数据库类型 关系 关系 关系 关系 关系 NoSQL NoSQL 内存中 NoSQL Graph
数据模型 关系 关系 关系 关系 关系 多模型:文档、宽列、键值、图形 宽列 键-值 文档 图形
分布式多主数据库写入 No No No No 是(企业层和仅闪存层)
虚拟网络连接支持 虚拟网络服务终结点 本机虚拟网络实现 虚拟网络注入(仅限灵活服务器) 虚拟网络注入(仅限灵活服务器) 虚拟网络服务终结点 本机虚拟网络实现 虚拟网络服务终结点 虚拟网络注入(仅限高级层、企业层和闪存层) 虚拟网络服务终结点 虚拟网络服务终结点

备注

专用链接服务简化了网络设计,使 Azure 服务能够通过专用网络进行通信。 它支持所有 Azure 数据库服务。 在托管实例数据库服务的情况下,这些实例部署在虚拟网络中,无需为它们部署专用终结点

区域可用性

Azure 让用户能够根据所需规模来提供服务,以覆盖客户和合作伙伴,无论他们位于何处。 规划云部署的一个关键因素是确定哪些 Azure 区域将托管工作负荷资源。

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

若要详细了解 Azure 全球基础结构,请参阅 Azure 地理区域。 有关每个 Azure 区域中可用的整体服务的特定详细信息,请查看按区域提供的产品

数据驻留和合规性要求

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

  • 数据分类。
  • 数据位置。
  • 共担责任模式下的数据保护责任。

若要在了解这些要求时需要帮助,请参阅使用 Azure 实现合规数据驻留和安全性

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

为数据库服务建立控件

准备登陆区域环境时,可建立控制措施来限制用户可部署哪些数据存储。 控制措施可帮助你管理成本并限制安全风险。 开发人员和 IT 团队仍然能够部署和配置支持工作负载所需的资源。

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

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

策略可划分为资源、资源组、订阅和管理组。 可在 Azure 蓝图定义中添加策略,并在云资产中重复应用它们。

后续步骤