小编Blu*_*oba的帖子

DynamoDB MM邻接列表设计模式

参考https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/bp-adjacency-graphs.html.我想知道是否有人可以帮助我.

第一张图片是表格,第二张图片是GSI.这是表格: 在此输入图像描述

在桌子上,我不明白如何创建排序键?这是一个存储Bill-ID和Invoice-ID的属性吗?还是两个独立的属性?我觉得这是一个灵活的属性,如果是这样,你如何区分彼此?我们如何构建排序键的查询?

只是通过查看前缀"Bill-"或"Invoice-"?DynamoDB的实践似乎使用破折号(" - ")来分隔属性中的值.如果有人可以给我这些事情的用例,我也会感激不尽,但除非在这种情况下重要,否则我会切断正切.

现在,这是非常相关且非常有趣的https://youtu.be/xV-As-sYKyg?t=1897,其中演示者使用一个产品表来存储各种类型的项目:书籍,歌曲专辑和电影; 并且每个都有自己的属性.

我在理解那里使用的排序键时遇到了问题.我知道productID = 1是bookID,productID = 2是专辑.现在让它变得混乱的是我用红色圈出的东西.这些是专辑2的曲目.但是,排序键的结构是"albumID:trackID".现在,"trackID"在哪里?它是否意味着用实际ID替换"trackID"这个词?或者这是一个完全像"albumID:trackID"的文本?

如果我想查询特定的trackID怎么办?我的查询的语法是什么?

请从youtube查看此处的图片: 在此输入图像描述

谢谢大家!!!:-)

many-to-many amazon-dynamodb

17
推荐指数
2
解决办法
4964
查看次数

全局与DynamoDB中的本地二级索引

我仍然对使用本地二级索引感到困惑.当需要LSI和GSI时,请给我具体的用例.

例如,"GenreAlbumTitle"索引应该是GSI还是LSI?https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/HowItWorks.CoreComponents.html#HowItWorks.CoreComponents.PrimaryKey

我似乎无法理解需要LSI的需求,因为我需要的任何索引都将覆盖表的整行,而不仅仅是针对一个分区.如果有人也可以触及成本方面因为我了解LSI更便宜(但为什么它更便宜)?

谢谢你们!

indexing amazon-dynamodb

7
推荐指数
2
解决办法
2108
查看次数

DynamoDB 大于 400KB 的项目

我打算创建一个商家表,其中包含商家的商店位置。大多数商家都是小企业,他们只有几家商店。然而,奇怪的多链/特许经营可能有数百个地点。

如果我想在商家表中包含位置属性,我的解决方案是什么?如果我必须将其拆分为多个表,我该如何实现?

谢谢!

编辑:如何拆分表格。为了满足大多数人的需求,我最多可以将它们放在同一张桌子上的 5 个位置。但是超过 5 个,它将溢出到一个规范化的表,主表上有一个指示符,表示有 5 个以上的位置。关于如何实现这一目标的任何想法?

large-data amazon-dynamodb

7
推荐指数
1
解决办法
5255
查看次数

在 DynamoDB 表上搜索数组项

我需要了解如何搜索属于数组的 DynamoDB 的属性。

因此,在对表格进行非规范化时,假设一个人有许多电子邮件地址。我会在 person 表中创建一个数组来存储电子邮件地址。

现在,由于电子邮件地址不是排序键的一部分,如果我需要对电子邮件地址执行搜索以查找人员记录。我需要索引电子邮件属性。

  1. 我可以在电子邮件地址上创建一个索引吗,它与个人记录是一对多的关系,并且按照我在 DynamoDB 中的理解,它存储为一个数组。
  2. 这个二级索引是全局的还是本地的?假设我有数十亿人的记录?
    1. 如果我可以将其创建为 LSI 或 GS​​I,请解释每个的优缺点。

非常感谢!

indexing denormalization amazon-dynamodb

4
推荐指数
2
解决办法
5166
查看次数