📜  Azure COSMOS数据库

📅  最后修改于: 2021-01-07 04:59:20             🧑  作者: Mango

Azure COSMOS数据库

Azure Cosmos DB是NoSQL数据存储。它不同于传统的关系数据库,在传统的关系数据库中我们有一个表,并且该表将具有固定的列数,并且表中的每一行都应遵循该表的方案。在NoSQL数据库中,您根本没有为表定义任何模式,表中的每个项目或行可以具有不同的值,也可以具有不同的模式本身。

Cosmos DB的优点

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

Cosmos数据库结构

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

Cosmos帐户: Azure Cosmos帐户是全球分发和高可用性的基本单位。为了在多个Azure区域之间全局分布数据和吞吐量,我们可以随时从Azure Cosmos添加或删除Azure区域。

容器:Azure Cosmos容器是预配置吞吐量和项目存储的可伸缩性单位。容器被水平分区,然后跨多个区域复制。

全球分布和分区

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

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

一致性类型

Azure Cosmos数据库将数据一致性视为一系列选择,而不是两个极端。最终将具有强大的兼容性和最终的一致性,但是在频谱范围内有许多一致性选择。

一致性级别与区域无关。无论读取和写入的服务区域,与我们的Azure Cosmos帐户关联的区域数或我们的帐户配置了一次还是多次写入,无论是从何处进行读取和写入,都可以保证我们的Azure Cosmos帐户的一致性级别地区。

请求单位

  • 我们为我们提供的吞吐量和我们每小时使用Azure Cosmos DB消耗的存储空间付费。
  • 所有数据库操作的成本均由Azure Cosmos DB标准化,并以请求单位(RU)的形式表示。读取1 KB项目的价格为1个请求单位(1 RU)。类似地,所有其他数据库操作均以RU为单位分配成本。
  • 消耗的RU数量将取决于操作类型,项目大小,数据一致性,查询模式等。

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

使用Azure门户创建Azure Cosmos DB

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

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

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

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

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