如何在DynamoDB中存储邀请请求?

时间:2013-07-23 00:59:36

标签: sql database amazon-web-services indexing amazon-dynamodb

我正在尝试为我正在进行的项目编写邀请系统。我计划“给我们提供您的电子邮件地址,我们会在准备好时为您提供测试邀请”类型的东西。我试图找出如何设计DynamoDB表,以便我可以查询尚未收到邀请的第一个 x 用户。

我正在考虑创建的表格类似于以下列:

  • 电子邮件
  • 日期
  • 履行(布尔)

我可以在DynamoDB中使用哈希键,范围键和二级索引的某些组合来完成此操作吗?或者这是一个更适合SQL数据库的东西? SQL查询将是这样的:

SELECT email
FROM invite_request
WHERE fulfilled = 0
ORDER BY date
LIMIT 50;

1 个答案:

答案 0 :(得分:0)

这里最好的选择是使用散列密钥作为Fullfilled或Unfullfilled。这样你就可以使用比扫描便宜得多的查询方法。所以你的记录看起来像是:

:Hash_key => Boolean,:Range_key => DateTime,Attributes => [电子邮件=>值]

使用此结构,您可以查询特定日期范围内的所有未实现的电子邮件,并限制结果。希望这可以帮助。如果您希望以后更多地访问这些信息,您可能希望将SimpleDB作为更好的选择,但如果您只将它用于单个函数,那么Dynamo是一个很好的方法。