比方说,我有一个用户表id和timestamp属性.我希望能够查询这两个参数.如果我正确理解文档,有两种方法可以使用DynamoDB:
id作为哈希和timestamp作为范围.id并使用定义全局二级索引timestamp.每种方法有哪些优点和缺点?
我对 DynamoDB 中的某些东西感到非常困惑:
对于表中的任何项目,如果项目中存在索引排序键值,DynamoDB 只会写入相应的索引条目。如果排序键没有出现在每个表项中,则称该索引为稀疏索引。
[...]
要跟踪未结订单,您可以在 CustomerId(分区键)和 IsOpen(排序键)上创建索引。只有表中定义了 IsOpen 的订单才会出现在索引中。
但是,如果您使用备用排序键定义了 LSI,则在创建新项目时,备用排序键永远不能为空。因此,索引根本不是稀疏的,因为我创建的每个项目都会在索引中结束。
我错过了什么?
这是我第一次使用NoSQL数据库,所以我真的很困惑.我真的很感激我能得到的任何帮助.
我想在我的表格中存储包含公告的数据.基本上,每个公告都有ID,日期和文本.
例如,公告可能具有ID为1,日期为2014/02/26,以及"这是示例公告"的文本.较新的公告总是具有比旧公告更大的ID值,因为它们稍后会添加到表中.
我想在此表上运行两种类型的查询:
所以我设置了具有以下属性的表:ID(数字)作为主键,日期(字符串)作为范围
这适合我的用例吗?如果是这样,我应该运行什么样的查询/读取/请求/扫描/其他(我真的对这里的术语感到困惑)来完成我想要的两种类型的查询?
任何帮助将非常感谢.谢谢!