2012-01-20 134 views
1

我正在使用运行在Trinidad Web服务器之上的JRuby + Sinatra在Ruby中构建REST API。什么是Ruby中大缓存的最佳解决方案?

API的功能之一是从数据库中获取非常大的数据集,并将它们存储在中间缓存/非关系数据库层中。这用于在数据集顶部执行筛选/排序/操作,而无需从数据库重建它。

我们正在研究实现这个中间层的一个好的/最好的解决方案。

我的想法:

  • 使用像了Riak非关系数据库来存储数据集,并具有在顶部的缓存层(如Cache Money)。

注:

  • 我们的数据集可以相当大
+0

访问的MongoDB这是一个大的,开放式的架构问题。有很多可能的解决方案。选择最好的选择需要更多关于数据大小和类型的知识,如何查询和更新数据以及具体的性能要求。 –

+0

嗨马克。我们正在讨论一个Java后端(JRuby进场时),我们将存储临时数据。这个临时数据必须有些动态。它将用于存储用户信息(尺寸相当小)以及大块的json格式数据。不幸的是,我不能自由地谈论真正的用例场景。在您看来,您能否提供正常应用的完美解决方案?谢谢你,并表示歉意,因为不能更精确,我知道这并没有帮助。 –

+0

只是为了更新。我们决定和Redis和Ohm一起去包装,到目前为止我们已经完美地满足了我们的需求。可能对其他人有用:) –

回答

1

既然你问了一个意见,我给你我的...我觉得MongoDB的将是一个很好的匹配您的需求:

http://www.mongodb.org/

我用用它来存储大,历史几年来,这些数据集一直在变得越来越大,并且仍然保持这个任务。我甚至不需要深入研究“分片”或某些高级功能。

我认为这将是适合你描述应用程序的原因是:

  • 这是一个索引,无模式的文档存储,这意味着它可以是非常的“动态”添加或删除
  • 领域
  • 我已经将它的性能与一些SQL数据库的性能进行了比较,以查看大型“平坦”数据,它在某些情况下执行的数量级更好。
  • https://github.com/guyboertje/jmongo将让你从JRuby的
+0

谢谢!你有比较Mongodb和riak的经验吗? –

+0

对不起,我没有任何riak的经验......但我已经使用了几个SQL DB和CouchDB,这也可能是一个选项。 – GroovyCakes

相关问题