我正在开发一个数据大小和SQL查询很重的应用程序。我在Cassandra或Amazon SimpleDB之间思考。你能否建议哪种情况更适合这种情况?
Cassandra数据索引似乎比Amazon SimpleDB更好,但与Amazon SimpleDB相比,查询的选项更少。似乎Amazon SimpleDB具有很高的I / O速率。
很少有复杂的用例是具有不同过滤器的用户活动,用户可以将其缩小到一些有趣的活动。
如果你认为除了这两个之外还有更清洁和更好的解决方案,请建议。
答案 0 :(得分:9)
SimpleDB只能通过分片进行扩展,每个表有10 GB的数据大小限制,并且查询性能与记录计数并行(例如:如果您有100万条记录,则会很差)。谷歌的数据存储比simpledb慢。 Cassandra具有更高的可扩展性,高流量站点开始使用它,如果您需要使用大量数据的高写入率,那么没有什么比这更好的了。 cassandra survey
如果您的读/写比例类似于读取的%90和写入的%10,那么使用postgres的兵马俑或infinispan更合适。 postgresql有一些免费的集群选项,但它们都没有成熟(主要是原型)。
另一种选择是分片。 Hiberntae和NHibernate拥有支持。您可以将它们与postgres或mysql一起使用,但是你松散了连接。
此致
答案 1 :(得分:4)
快速考虑的一点是,任何自定义的nosql设置(Cassandra,mongodb,redis等)都会比简单的数据库更快,但是你承担了所有服务器管理配置,灾难恢复,备份的负担等等。
然后,随着您的应用扩展,您将花费越来越多的时间来管理日益复杂的数据层,并确保其保持备份和安全。
简单数据库(以及等效数据存储)会在您扩展时消除您的担忧。
因此,在考虑clopud存储或滚动自己的设置时请记住这一点,因为当灾难发生时sssuuuccckkkss,尤其是如果你不知道你正在做什么来恢复它。