14

我正在开发一个数据大小和 SQL 查询会很繁重的应用程序。我在考虑 Cassandra 或 Amazon SimpleDB。您能建议哪种更适合这种情况吗?

Cassandra 数据索引似乎比 Amazon simpleDB 更好,但与 Amazon SimpleDB 相比,查询的选项更少。似乎 Amazon SimpleDB 的 I/O 率很高。

很少有复杂的用例是具有不同过滤器的用户活动,用户可以将其缩小到一些有趣的活动。

如果您认为除了这两个之外还有其他更清洁和更好的解决方案,请提出建议。

4

2 回答 2

9

SimpleDB 只能通过分片进行扩展,每个表的数据大小限制为 10 GB,并且查询性能与记录数平行(例如:如果有 100 万条记录,则很差)。而且google的数据存储比simpledb慢。Cassandra 更具可扩展性,高流量站点开始使用它,如果您需要高写入率和海量数据,没有什么比免费更好的了。卡桑德拉调查

如果您的读/写比率类似于读取的 %90 和写入的 %10,那么带有 postgres 的 terracotta 或 infinispan 更适合。postgresql 有一些免费的集群选项,但没有一个成熟(主要是原型)。

另一种选择是分片。Hiberntae 和 NHibernate 支持分片。您可以将它们与 postgres 或 mysql 一起使用,但您会丢失连接。

问候

于 2009-12-10T06:53:02.203 回答
4

需要快速考虑的是,任何自定义的 nosql 设置(Cassandra、mongodb、redis 等)在低容量下都将比简单的 db 快得多,但您需要承担所有服务器管理配置、灾难恢复、备份等的负担。

然后随着您的应用程序扩展,您将花费越来越多的时间来管理日益复杂的数据层,并确保它保持备份和安全。

简单的数据库(和等效的数据存储)在您扩展时消除了您的担忧。

因此,在考虑 clopud 存储或滚动您自己的设置时请记住这一点,因为当灾难发生时会导致 sssuuuccckkkss,特别是如果您不确切知道您正在做什么来恢复它。

于 2011-05-06T17:37:44.253 回答