为什么AWS Dynamo SDK不提供存储大于64kb的对象的方法?

Enn*_*oji 3 amazon-web-services amazon-dynamodb

我有一个用例,我想在Dynamo DB中存储大于64kb的对象.如果您实现一种"分页"功能,将对象分成较小的块并将它们存储为密钥的多个值,看起来这样做相对容易实现.

这让我想到了.为什么亚马逊没有在他们的SDK中实现这个?存储大于64kb的物体是不是一个坏主意?如果是这样,那么"正确"的基础设施是什么?

Cor*_*all 5

在我看来,这是一个可以理解的权衡DynamoDB.为了高度可用和冗余,他们需要复制数据.为了获得超低延迟,他们允许不一致的读取.我不确定它们的内部实现,但我猜这个64KB上限越高,你的不一致读取可能与项目的实际当前状态过时的时间越长.在超低延迟系统中,毫秒可能很重要.

这推动了查询返回块1和2(但尚未3)到客户端的不一致问题.

根据问题评论,如果您想存储更大的数据,我建议在S3中存储并从DynamoDB中项目的属性引用S3位置.