我一直试图在dynamoDB中像google +一样实施post/reply场景作为私有项目。这是我第一次尝试实现一个nosql表,并试图将我的头围绕这个概念。据我所知,相关的表列可以被嵌入到原始表如下...dynamoDB中可查询的表
Post { userid:1,
postdata: "hello",Comment[
{userid: 2, postdata: "howdy", date: some-date},
{userid: 3, postdata: "higuys", date: some-other-date}
],
date: today}
现在,如果这是编写注释表的方式,很容易通过用户名和日期所有的职位检索和一个对话的评论。但是如果我们需要找到具体的评论并更新它,是否有可能或者我们是否需要'扫描'一张桌子?我已经阅读了关于扫描的结果,这些结果打破了大数据中的吞吐量限制,并且不想使用它。查询似乎在运算符中用于比较和检索是有限的。那么,我是以这种方式创建表的正确途径吗?我可能需要将其他数据嵌入到音频,视频文件和每个“对话”图片等表格中。任何输入赞赏。
非常感谢您指出了这些限制。我计划只使用DynamoDB来存储用户标识及其元数据。我打算只在S3中存储文件。请求 - >检索 - >请求周期是否因吞吐量以单位/秒为单位定义,而不是毫秒?估计吞吐量要求将会很困难。如果查询超出吞吐量要求,它们是否会得到执行或是否会被限制? – Ram 2012-03-01 13:43:43
如果您超出吞吐量,则会收到'ProvisionedThroughputExceededException'错误。在生产级系统中,如果发生这种情况,您需要进行退避+重试或错误处理。 – BCoates 2012-03-02 23:29:05