什么是 Cosmos DB(在 Azure 和 Fabric 中)

Cosmos DB 是一个分布式 NoSQL 数据库引擎,专为可预测的低延迟、弹性水平缩放和全球可用性而构建。 使用 Cosmos DB 通过自动索引、快速查询和支持类似 SQL 的查询、地理空间作、全文和矢量搜索来存储半结构化 JSON 数据。 本概述介绍了 Cosmos DB 如何帮助你在 Azure 和 Microsoft Fabric 中构建全球分布式低延迟应用程序的核心功能、设计目标。

核心设计目标和功能

引擎无需预定义架构即可处理灵活的嵌套 JSON 文档,从而启用与架构无关的存储和迭代。 引擎跨不同区域复制数据。 此设置将请求路由到最近的区域进行快速读取。 系统通过将数据拆分为逻辑分区进行缩放。 这些分区映射到物理分区。 此设计允许容器自行缩放吞吐量和存储。

应用程序可以从多个一致性模型中进行选择,以权衡延迟和正确性。 引擎使用请求单位(RU)模型,为读取、写入和查询提供可预测的吞吐量和成本抽象。 默认情况下,引擎会自动为所有数据编制索引。 可以创建自定义索引策略来优化查询性能。 这些策略支持范围索引、空间索引、复合索引和矢量索引。 丰富的查询引擎支持声明性类似于 SQL 的查询、聚合、标量函数,以及与其他基于同一引擎构建的 API 的集成。

常见作问题

通过选择平衡数据分布和查询模式的分区键,避免热分区并保持在逻辑分区限制内。 对于索引编制,请依赖默认的所有属性索引进行快速开发,然后缩小索引策略范围,或添加复合索引和向量索引以优化生产工作负荷的成本和查询延迟。 选择适合正确性和延迟要求的一致性级别。 会话是许多应用程序的常见默认值。

Scenarios

Cosmos DB 引擎专为低延迟全球分布式应用程序(如游戏、电子商务和 IoT 引入)而设计。 该引擎支持实时分析和混合搜索。 它使用内置的全文和矢量搜索功能。 可以将它用作 AI 和 ML 功能存储的基础。 它还适用于嵌入索引。 使用 Fabric 连接时,这种灵活性尤其如此。

实现形式

Cosmos DB 引擎在两个服务中实现,这些服务共享相同的核心技术,同时提供不同的作模型和集成功能。

Azure Cosmos DB

Azure Cosmos DB 是一种完全托管的云数据库服务,它使用 Cosmos DB 引擎为查询具有灵活架构和对 JSON 的本机支持的项目提供支持。 它提供具有多区域复制的全球分发,使应用程序能够跨地理区域实现低延迟读取和写入。 该服务提供对吞吐量预配、索引策略和一致性级别的精细控制,使你能够优化特定工作负荷的性能和成本。 Azure Cosmos DB 与 Azure 服务集成。 该服务支持用于 .NET、Java、Python、Node.js和 Go 的软件开发工具包(SDK)。 这种兼容性使它适用于任务关键型应用程序。 这些应用程序需要可预测的性能和高可用性。

有关 Azure Cosmos DB 的详细信息,请参阅 Azure Cosmos DB 文档

Microsoft Fabric 中的 Cosmos DB

Microsoft Fabric 中的 Cosmos DB 是一个经过 AI 优化的 NoSQL 数据库,具有简化的管理体验,使用同一 Cosmos DB 引擎和基础结构。 Fabric 中的 Cosmos DB 紧密集成到 Fabric 中,提供针对大多数应用程序工作负荷优化的自治默认值,并消除典型的数据库管理任务。 Cosmos DB 中的数据自动显示在 Fabric OneLake 中。 数据使用 Delta Parquet 格式。 此格式支持近乎实时地运行的分析。 可以运行跨不同数据库执行的查询。 可以创建 Power BI 可视化效果。 该服务与数据科学工具集成。 这些工具包括笔记本和 Lakehouse。 该服务包括内置 AI 功能。 这些功能包括全文搜索、混合搜索和矢量索引。 这些工具使生成 AI 应用程序变得容易。 在保持灵活的数据模型的同时,可以少生成摩擦。 该服务维护核心引擎提供的自动缩放和快速性能。

有关 Microsoft Fabric 中的 Cosmos DB 的详细信息,请参阅 Microsoft Fabric 中的 Cosmos DB