Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby 选择数据库技术_Ruby_Mongodb_Couchdb_Cassandra_Tokyo Cabinet - Fatal编程技术网

Ruby 选择数据库技术

Ruby 选择数据库技术,ruby,mongodb,couchdb,cassandra,tokyo-cabinet,Ruby,Mongodb,Couchdb,Cassandra,Tokyo Cabinet,我们正着手构建一个在线平台(API、服务器、数据、Wahoo!)。对于上下文,假设我们需要构建类似于twitter的东西,但要围绕一个现场活动组织评论(tweets)。关于直播事件本身的信息必须尽可能快且一致地传递给客户,而关于该事件的评论可能需要等待更长的时间才能传递。现场活动结束后,我们将被大量阅读 可伸缩性非常重要。我们想从租用VPS片开始,并从那里开始扩展。我是云计算的忠实粉丝,我想在那里呆得越久越好。我们可能会使用ruby 我确信我想尝试使用文档存储而不是RDBMS。我喜欢无模式存储的

我们正着手构建一个在线平台(API、服务器、数据、Wahoo!)。对于上下文,假设我们需要构建类似于twitter的东西,但要围绕一个现场活动组织评论(tweets)。关于直播事件本身的信息必须尽可能快且一致地传递给客户,而关于该事件的评论可能需要等待更长的时间才能传递。现场活动结束后,我们将被大量阅读

可伸缩性非常重要。我们想从租用VPS片开始,并从那里开始扩展。我是云计算的忠实粉丝,我想在那里呆得越久越好。我们可能会使用ruby

我确信我想尝试使用文档存储而不是RDBMS。我喜欢无模式存储的想法,以及通过关注关键值来实现更易于扩展的承诺


问题是我不知道哪种技术最适合我们的平台。我已经看过沙发、Mongo、东京内阁、Cassandra和一个包含大量文档的RDBMS。为这项工作选择合适的工具有什么帮助吗

通过比较签出无SQL替代方案

可伸缩性非常重要

<> P>你需要考虑他博客中的摘录:

  • 东京内阁-不可扩展
  • Redis-不可缩放
  • 伏地魔计划-规模
  • MongoDB-受限(已实现分片)
  • 卡桑德拉天平
  • 亚马逊S3-规模
  • 沙发-不可扩展(&复制)
  • MySQL-不可扩展
  • 并考虑。这也是无SQL替代方案中的一个重要竞争者。这是谷歌BigTable概念的开源实现。 我相信它的伸缩性很好,因为它被中国搜索引擎百度和娱乐门户网站Rediff广泛使用

    你刚才说:

    关于现场活动的信息 其本身必须作为 尽可能快速且一致, 而对事件的评论可以 可能再等一段时间 交付。之后我们会被大量阅读 现场活动结束

    这有点像推特的方法。您的编程语言选择也非常重要,因为Twitter最初使用Ruby进行后端消息传递,但这不是一个正确的选择,他们已经将整个消息传递系统转移到该语言


    他们仍然使用Ruby作为前端。如果你想使用一个高度可靠、容错的系统,它非常适合于可扩展的环境,那么你应该考虑或。

    < P> RAMESH有一个很好的总结。我想补充一点,卡桑德拉的数据模型比普通的迪纳摩克隆体(如伏地魔或Dynomite)更丰富:行中有命名、排序的列,而不仅仅是键/值。Twitter、Mahalo、Ooyala、SimpleGeo、WebEx和其他()都在使用Cassandra,其中至少有一些在EC2或rackspace云服务器上运行Cassandra群集。

    如果你想水平扩展(将数据分布在多个节点上),你必须考虑CAP定理


    这不是一件容易的事情,但你必须做出选择,总有一些权衡

    为什么是第7点。沙发-不可缩放?看一看,是的,我也对沙发感到困惑。对于整个扩展的复制方法,似乎存在一些严重的分歧。沙发上的家伙们把可伸缩性列为他们的主要功能之一,而世界上其他地方似乎都对其嗤之以鼻。CouchDB的性能在每个版本中都增加了一个数量级。当前的主干性能与8月份撰写这篇文章时完全不同。您首选的扩展策略将取决于您的情况。您可能需要复制或分片,CouchDB内置了点对点复制,非常有效,使用CouchDB lounge您可以进行分片。谢谢。。。这是我读过的关于CAP定理的最好的文章。