我们正在着手建立一个在线平台(API、服务器、数据、Wahoo!)。对于上下文,想象一下我们需要构建类似twitter的东西,但需要围绕现场活动组织评论(Tweet)。关于实时事件本身的信息必须尽可能快速和一致地传递给客户端,而关于事件的评论可能需要等待更长的时间才能传递。在现场活动结束后,我们将阅读大量的内容。
可伸缩性非常重要。我们希望从租用VPS切片开始,并从那里开始扩展。我是云计算的铁杆粉丝,并希望尽可能长时间地呆在那里。我们可能会使用ruby。
我确信我想尝试文档存储而不是RDBMS。我喜欢无模式存储的想法,以及通过专注于键值而更容易扩展的承诺。
问题是我不知道哪种技术最适合我们的平台。我已经查看了Couch、Mongo、东京内阁、Cassandra和一个带有斑点文档的RDBMS。为这项特定的工作选择合适的工具有帮助吗?
发布于 2010-01-22 23:30:46
Ramesh有一个很好的总结。我要补充的是,Cassandra具有比vanilla Dynamo克隆(如Voldemort或Dynomite)更丰富的数据模型:具有命名的排序列的行,而不仅仅是键/值。Twitter、Mahalo、Ooyala、SimpleGeo、WebEx和其他公司(http://n2.nabble.com/Cassandra-users-survey-td4040068.html)正在使用Cassandra,其中至少有一些在EC2或rackspace云服务器上运行Cassandra集群。
发布于 2010-01-23 06:24:54
如果您想要水平扩展(将数据分布在多个节点上),则必须考虑CAP定理。
http://www.julianbrowne.com/article/viewer/brewers-cap-theorem
这不是一件容易的事情,但你必须做出选择,总会有一些权衡。
https://stackoverflow.com/questions/2115318
复制相似问题