我认为我可以使用 SimpleDB 来处理我的应用程序中最具挑战性的领域(就缩放而言) - 类似 twitter 的评论,但位置在顶部 - 直到我坐下来真正开始实施它深发展。
首先,SDB 每个属性值有 1000 字节的限制,即使是注释也不够(可能需要将较长的值分解为多个属性)。
然后,最大域大小为 10GB。承诺是您可以扩展而不必担心数据库分片等,因为 SDB 不会随着数据负载的增加而降级。但是,如果我理解正确,对于域,我将遇到与分片完全相同的问题,即。在某些时候需要在应用程序级别实现跨域的数据记录分布和查询。
即使对于我在整个应用程序中拥有的最简单的对象,即。原子用户评级,SDB 不是一个选项,因为它无法计算查询中的平均值(一切都是基于字符串的)。因此,要计算对象的平均用户评分,我必须加载所有记录——一次 250 条——并在应用程序级别进行计算。
我错过了关于 SDB 的一些东西吗?10GB 的数据库真的可以克服所有 SDB 限制吗?老实说,我非常热衷于利用 SDB,因为我已经使用了 S3 和 EC2,但现在我根本看不到用例。