Azure COSMOS 数据库

17 Mar 2025 | 4 分钟阅读

Azure Cosmos DB 是一种 NoSQL 数据存储。它与传统的关联数据库不同,在关联数据库中我们有一个表,表将具有固定数量的列,并且表中的每一行都应遵守表的模式。在 NoSQL 数据库中,您根本不需要为表定义任何模式,并且表中的每个项目或行都可以具有不同的值,或者它本身具有不同的模式。

Cosmos DB 的优势

Azure COSMOS Database
  • 无模式和索引管理: Azure 数据库引擎完全与模式无关。因此,不需要模式和索引管理。我们也不必担心在迁移模式时应用程序停机。
  • 行业领先的全面 SLA: Cosmos DB 是第一个也是唯一一个提供行业领先的全面 99.99% 高可用性、99 百分位的读写延迟、有保证的吞吐量和一致性的服务。
  • 较低的总拥有成本: 由于 Cosmos DB 是一项完全托管的服务,我们不再需要管理和操作复杂的多数据中心部署,以及数据库软件的升级,支付支持、许可或运营费用。
  • 使用 NoSQL API 开发应用程序: Cosmos DB 直接在服务上实现了 Cassandra、MongoDB、Gremlin 和 Azure 表存储线协议。
  • 全球分发: Cosmos DB 允许我们随时只需单击一个按钮,即可向我们的 Cosmos 帐户添加或删除任何 Azure 区域。

Cosmos 数据库结构

数据库: 我们可以在我们的帐户下创建一个或多个 Azure Cosmos 数据库。数据库类似于命名空间,它是 Azure Cosmos 容器集的管理单元。

Azure COSMOS Database

Cosmos 帐户: Azure Cosmos 帐户是全球分发和高可用性的基本单元。为了在全球范围内分发我们的数据和吞吐量,我们可以随时从我们的 Azure Cosmos 中添加或删除 Azure 区域。

容器: Azure Cosmos 容器是预置吞吐量和项目存储的可伸缩性单元。容器在水平方向上被分区,然后在多个区域之间复制。

全球分发和分区

Cosmos DB 的工作方式与传统的关联数据库不同,在传统的关联数据库中我们有一个表,并且表中的所有行都将位于一个物理位置。对于 Cosmos DB,我们将在容器内创建逻辑分区,以便我们可以使用一个分区键拥有一定数量的项,并使用另一个分区键拥有一定数量的项。它们被称为逻辑分区,并且每个逻辑分区可以驻留在物理分区中。

Azure COSMOS Database

一个容器可以包含数百万个项目,我们可以使用分区键划分这数百万个项目并创建逻辑分区,每个逻辑分区将驻留在物理分区中。这就是容器的负载将在本地以及从此处分发数据的方式。

一致性类型

Azure COSMOS Database

Azure Cosmos 数据库将数据一致性作为一系列的选择,而不是两个极端。强兼容性和最终一致性处于两端,但在该范围内有很多一致性选择。

一致性级别与区域无关。我们的 Azure Cosmos 帐户的一致性级别是针对所有读取操作的保证,无论读取和写入来自哪个区域,与我们的 Azure Cosmos 帐户关联的区域数量无关,也与我们的帐户配置有单个或多个写入区域无关。

请求单元

  • 我们按预置的吞吐量付费,并且按小时为 Azure Cosmos DB 消耗的存储付费。
  • 所有数据库操作的成本都由 Azure Cosmos DB 规范化,并以请求单元 (RU) 的形式表示。读取 1-KB 项目的价格为 1 请求单元 (1 RU)。所有其他数据库操作也以 RU 的形式分配成本。
  • 使用的 RU 数量将取决于操作类型、项目大小、数据一致性、查询模式等。
Azure COSMOS Database

为了管理和规划容量,Azure Cosmos DB 确保给定数据集上给定数据库操作的 RU 数量是确定的。

使用 Azure 门户创建 Azure Cosmos DB

步骤 1: 单击创建资源并搜索 Azure Cosmos DB。之后,单击创建。

Azure COSMOS Database

步骤 2: 填写所有详细信息,然后单击审查以查看是否有任何详细信息缺失。

Azure COSMOS Database

步骤 3: 为 Azure Cosmos DB 配置网络。

Azure COSMOS Database

步骤 4: 最后,单击创建按钮以创建您的 COSMOS 数据库。

Azure COSMOS Database

步骤 6: 成功部署 Azure Cosmos DB 后,您将看到以下窗口。

Azure COSMOS Database
下一主题Azure 数据工厂