我正在尝试为我正在进行的项目编写邀请系统。我计划“给我们提供您的电子邮件地址,我们会在准备好时为您提供测试邀请”类型的东西。我试图找出如何设计DynamoDB表,以便我可以查询尚未收到邀请的第一个 x 用户。
我正在考虑创建的表格类似于以下列:
我可以在DynamoDB中使用哈希键,范围键和二级索引的某些组合来完成此操作吗?或者这是一个更适合SQL数据库的东西? SQL查询将是这样的:
SELECT email
FROM invite_request
WHERE fulfilled = 0
ORDER BY date
LIMIT 50;
答案 0 :(得分:0)
这里最好的选择是使用散列密钥作为Fullfilled或Unfullfilled。这样你就可以使用比扫描便宜得多的查询方法。所以你的记录看起来像是:
:Hash_key => Boolean,:Range_key => DateTime,Attributes => [电子邮件=>值]
使用此结构,您可以查询特定日期范围内的所有未实现的电子邮件,并限制结果。希望这可以帮助。如果您希望以后更多地访问这些信息,您可能希望将SimpleDB作为更好的选择,但如果您只将它用于单个函数,那么Dynamo是一个很好的方法。