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

DynamoDb中标签系统的数据模型

文凯康
2023-03-14

我如何建模DynamoDB表来构建一个标签系统,其中产品可以分配多个标签,我们应该能够过滤具有特定标签或标签集合的产品集,并获得分配给给定产品的所有标签?

我考虑过要一张桌子,上面有:

HASH密钥:deviceId

范围键:标记

这允许查询设备的所有标签。

那么我需要一个GSI:

哈希键:标记

范围键:deviceId

过滤具有给定标签的所有设备。但这不会让我在不涉及对GSI的多个查询和在应用程序级别处理的情况下同时过滤多个标签。

DynamoDB中有没有解决这个问题的好方法

共有1个答案

龚博涛
2023-03-14

但是,如果不涉及对GSI的多个查询和应用程序级别的处理,我就无法同时按多个标记进行过滤。

使用过滤条件的解决方法:

  1. 为每个设备标签添加一个布尔属性
  2. 使用GSI查询多个标签中的第一个标签(就像您查询具有给定标签的所有设备一样)
  3. 最后使用过滤器条件检查剩余的标签,匹配步骤1的布尔属性

无需多个请求或客户端聚合,并且由于第2步,我们避免了进行全表扫描。

请注意,此查询仍然是次优的,因为我们最终会扫描那些具有第一个标签但缺少一些剩余标签的设备。

 类似资料:
  • 本文向大家介绍详细解读Android系统中的application标签,包括了详细解读Android系统中的application标签的使用技巧和注意事项,需要的朋友参考一下 < application /> :应用的声明。 这个元素包含了子元素,这些子元素声明了应用的组件,元素的属性将会影响应用下的所有组件。很多属性为组件设置了默认值,有些属性设置了全局值并且不能被组件修改。 <applicat

  • 1:联系用户兴趣和物品的方式 2:标签系统的典型代表 3:用户如何打标签 4:基于标签的推荐系统 5:算法的改进 6:标签推荐 一:联系用户兴趣和物品的方式 推荐系统的目的是联系用户的兴趣和物品,这种联系方式需要依赖不同的媒介。目前流行的推荐系统基本上是通过三种方式联系用户兴趣和物品。 1:利用用户喜欢过的物品,给用户推荐与他喜欢过的物品相似的物品,即基于item的系统过滤推荐算法 2:利用用户和

  • 事务处理 索引

  • “解决了”我正在尝试为我的网站制作一个暗/亮模式图标,所以我制作了代码: 它工作正常,但只能在html中呈现,所以我将它改成 现在,由于某种原因,所有元素都定位在右下角,尽管我为图像指定了x和y位置。我怎么解决这个?提前道谢! 编辑:原来我只是哑巴,我不知道html img和svg图像有什么不同。解决了,下面是我的代码:

  • 我想了解一下这个例子,从AWS映射关系模型到nosql https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/bp-modeling-nosql-B.html 这里强调的一个关键概念是: 重要的 .... 大多数设计良好的应用程序只需要一个表。。。 因此,示例表如下 它解释了, 您可以定义以下实体,这些实体支持关系订单条目

  • 主要内容:action标签:,include 标签:,bean 标签:,date标签:,param 标签:,property 标签:,push 标签:,set 标签:,text 标签:,url 标签:Struts 2 的数据标签主要用于操作页面上显示的数据。下面列出的是重要的数据标签: action标签: 此标记使开发人员能够直接从JSP页面调用动作指定动作的名称和一个可选的命名空间。标签的主体内容是用行动来呈现结果。任何结果处理器定义在struts.xml这个动作将被忽略,指定除非execut