当前位置: 首页 > 知识库问答 >
问题:

Azure Cosmos Db作为键值存储索引模式

丌官昊天
2023-03-14

摘自html" target="_blank">https://docs.microsoft.com/en-us/azure/cosmos-db/index-policy:

无:在容器上禁用索引。当容器用作纯键值存储而不需要辅助索引时,通常会使用这种方法。

这是因为即使indexMode设置为“None”,用作分区键的属性也会被索引吗?我希望需要打开索引,但只指定分区键的路径作为唯一包含的路径。

以下是我为理解这一点而遗漏的信息:

  1. 项必须具有ID属性,否则cosmos db将分配一个。https://docs.microsoft.com/en-us/azure/cosmos-db/account-databases-containers-items#properties-of-an-item
  2. 由于我使用Azure Data Factory来加载这些项,所以我可以告诉ADF将具有我要用作id的值的列复制到一个名为id:https://docs.microsoft.com/en-us/Azure/data-factory/copy-activity-overview#add-adatory-columns-dider-copy
  3. 的新列中
  4. 我需要使用ReadItemAsync,或者更好地使用ReadItemStreamAsync,因为它不会反序列化响应,这样才能在不使用查询的情况下获取项。https://docs.microsoft.com/en-us/dotnet/api/microsoft.azure.cosmos.container.readitemasync?view=azure-dotnet https://docs.microsoft.com/en-us/dotnet/api/microsoft.azure.cosmos.container.readitemstreamasync?view=azure-dotnet

共有1个答案

郁和通
2023-03-14

当将indexingmode设置为“none”时,有效检索文档的唯一方法是通过id(例如readdocumentasync()read_item())。这类似于键/值存储,因为您不会对其他属性执行查询;您将通过某个已知的id专门查找文档,并返回整个文档。从成本上来说,对于1K文档,这将是~1RU,就像带索引集合的点读一样。

您仍然可以运行查询,但是如果没有索引,您将看到异常高的RU成本。

您仍然可以通过点读来指定分区键的值,就像您通常所做的那样。

 类似资料:
  • 问题内容: 我想存储值并从Java HashMap中检索它们。 这是我到目前为止所拥有的: 我想从HashMap中检索所有键和值作为Java集合或实用程序集(例如)。 我知道只要知道密钥就可以获取值,例如: 有没有办法检索键值作为列表? 问题答案: Java Hashmap键值示例:

  • 我想存储值并从Java HashMap中检索它们。 这是我目前所拥有的: 我想从HashMap中检索所有键和值,作为Java集合或实用程序集(例如,LinkedList)。 我知道如果我知道键,我可以得到值,如下所示: 有没有办法以列表的形式检索键值?

  • 我正在为我的应用程序创建一个简单的活动流。 用户执行操作,活动直接存储在MYSQL中的“activities”表中,并返回唯一的“activity_id”。 从数据库中检索该用户的“followers”的数组,并且对于每个followers我将这个新的activity_id推入Redis中的列表。 当用户查看他们的流时,我根据他们的用户ID从redis检索活动ID的数组。然后,我执行一个简单的MY

  • 问题内容: 我需要一个用于Java的非常基本的键值存储。我从HashMap开始,但似乎HashMap的空间效率有些低下(我正在存储约2000万条记录,并且似乎需要约6GB RAM)。 映射为,因此我考虑使用GNU Trove ,并将映射值存储为ascii字节数组而不是String。 作为替代方案,是否存在仅需要添加jar文件,不立即将整个映射保存在RAM中并且仍然相当快的键值存储? 问题答案: 使

  • 更新时间:2019-07-18 09:59:25 节点简介 键值对存储节点封装了KV存储服务API,开发者可以通过该节点进行键值对形式的数据写入、获取、删除操作。 使用场景 如果您需要在您开发的服务中以键值对形式进行数据的写入、获取、删除操作,那么您就需要使用到键值对存储节点作为服务的中间逻辑节点。 配置项 1、键值对存储节点的默认节点名称为键值对存储,支持用户自定义节点名称 2、选择操作类型,有

  • 我在model和model之间有一个关系。这意味着每个用户都有0或1个总统设置。因此,表的主索引与外键相同。 这就是我想要添加外键的方式: 但是我得到以下错误: 我怎么才能修好它?我使用InnoDB引擎,所以我知道我可以设置索引键为外键。