什么情况下更有意义 – 安装MongoDB来托pipe多个EC2实例,或者使用Amazon SimpleDB Web服务? 当MongoDB有多个EC2实例时,我有自己设置实例的问题。 在使用SimpleDB时,我有把我locking到Amazons数据结构的问题吗? 发展方面有什么不同? 我不应该只能切换服务层的DAO,写入MongoDB或AWS SimpleDB?
我认为我可以使用SimpleDB来处理我的应用程序中最具挑战性的领域(就扩展而言) – 类似twitter的评论,但位置在最前面 – 直到我坐下来实际开始实施SDB。 首先,SDB每个属性值有1000个字节的限制,即使对于注释来说也是不够的(可能需要将更长的值分解为多个属性)。 那么,最大的域大小是10GB。 这个承诺是可以扩展而不用担心数据库分片等问题,因为SDB不会随着数据量的增加而降低。 但是,如果我理解正确的话,我将有与分区完全相同的问题,即。 在某些时候需要实现数据logging在应用程序级跨域的分发和查询。 即使是我在整个应用程序中最简单的对象, primefaces用户评级,SDB不是一个选项,因为它不能计算查询内的平均值(一切都是基于string的)。 因此,要计算某个对象的平均用户评分,我将不得不加载所有logging(每次250个),并在应用程序级别上进行计算。 我错过了关于SDB的一些事情吗? 10GB真的是一个数据库,以克服所有的SDB限制? 因为我已经使用了S3和EC2,所以我对使用SDB充满了热情,但现在我只是没有看到一个用例。
我对Amazon SimpleDB有一些基本的了解,但根据Amazon DynamoDB的描述,它似乎几乎是一样的: NoSQL Key-value存储服务。 有人可以简单地解释他们之间的主要区别 ,并告诉在哪些情况下select一个在另一个之上 。