相关疑难解决方法(0)

DynamoDB:范围与全局二级索引

比方说,我有一个用户表idtimestamp属性.我希望能够查询这两个参数.如果我正确理解文档,有两种方法可以使用DynamoDB:

  1. 定义的散列+使用范围的主键id作为哈希和timestamp作为范围.
  2. 使用定义仅哈希主键id并使用定义全局二级索引timestamp.

每种方法有哪些优点和缺点?

database amazon-dynamodb

9
推荐指数
2
解决办法
5299
查看次数

如果总是需要键,我如何制作稀疏索引?

我对 DynamoDB 中的某些东西感到非常困惑:

https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/GuidelinesForLSI.html#GuidelinesForLSI.SparseIndexes

对于表中的任何项目,如果项目中存在索引排序键值,DynamoDB 只会写入相应的索引条目。如果排序键没有出现在每个表项中,则称该索引为稀疏索引。

[...]

要跟踪未结订单,您可以在 CustomerId(分区键)和 IsOpen(排序键)上创建索引。只有表中定义了 IsOpen 的订单才会出现在索引中。

但是,如果您使用备用排序键定义了 LSI,则在创建新项目时,备用排序键永远不能为空。因此,索引根本不是稀疏的,因为我创建的每个项目都会在索引中结束。

我错过了什么?

indexing amazon-dynamodb

5
推荐指数
1
解决办法
1843
查看次数

nosql/dynamodb哈希和范围用例

这是我第一次使用NoSQL数据库,所以我真的很困惑.我真的很感激我能得到的任何帮助.

我想在我的表格中存储包含公告的数据.基本上,每个公告都有ID,日期和文本.

例如,公告可能具有ID为1,日期为2014/02/26,以及"这是示例公告"的文本.较新的公告总是具有比旧公告更大的ID值,因为它们稍后会添加到表中.

我想在此表上运行两种类型的查询:

  1. 我想检索按日期排序的公告文本.
  2. 我想检索x最新公告的文本和日期(比如最近的3个公告).

所以我设置了具有以下属性的表:ID(数字)作为主键,日期(字符串)作为范围

这适合我的用例吗?如果是这样,我应该运行什么样的查询/读取/请求/扫描/其他(我真的对这里的术语感到困惑)来完成我想要的两种类型的查询?

任何帮助将非常感谢.谢谢!

amazon-web-services nosql amazon-dynamodb

4
推荐指数
1
解决办法
3427
查看次数