哪个关键值存储具有最佳性能?

时间:2010-09-20 14:04:16

标签: java database

我想两个月前。我找到了一个谷歌的开源项目,可以存储具有高性能的键值对。但我忘了这个名字。有人可以告诉我吗?或者您可以为我提供一些其他建议?我一直在使用BerkerlyDB,但我发现BerkerlyDb对我的程序来说还不够快。但是,berkerylyDB很方便使用,因为它看起来像一个java lib jar,可以无缝地与我的程序集成。我的程序也是用Java编写的。

7 个答案:

答案 0 :(得分:4)

DHT(分布式哈希表)'市场'中的两个强大竞争对手:

Here是关于卡桑德拉的演讲。在幻灯片20上,您将看到一些速度基准 - 0.12 ms /写入 (你可以搜索整个演示文稿,包括埃里克埃文斯谈话)

答案 1 :(得分:2)

没有人提到leveldb但是这篇文章在搜索"良好的键值存储"时位于顶部。根据我的经验,Leveldb简直太棒了。它太快我无法相信它。 我正在为我正在做的任务尝试不少数据库。我试过了:

  • windows azure table storage(价格昂贵,最大值大小为1 Mb,每个属性大小最大为64 Kb)
  • redis(如果你有足够多的ram,真棒)
  • mongodb(只要有足够的公羊就会很棒,在那之后就会中断)
  • sql server(价格昂贵,需要维护,例如重建索引,最终还不够快)
  • sqlite(免费,但不像leveldb那么简单而且不快)
  • 性LevelDB。如果你可以通过迭代器来模拟你的工作以便读取大量连续的数据块,那么你将获得极快的速度。写作也很快。将它与ssd磁盘结合使用,你就会喜欢它。

答案 2 :(得分:1)

答案 3 :(得分:1)

答案 4 :(得分:1)

也许您应该描述您需要的功能。如果它不需要分发(是吗?),那么我会尝试使用H2 Database。对于那些认为“它不能快速因为它使用SQL”的人请注意,使用预准备语句时,SQL解析只进行一次。免责声明:我是H2的主要作者。

答案 5 :(得分:1)

许多答案似乎自动承担分发的需要;但如果问题涉及BDB,那似乎很奇怪。

考虑到这一点,除了Redis和H2(两者都很好)之外,还需要考虑Tokyo Cabinet,这似乎比BDB提供了好处。还有一个更新的可能性是Krati

答案 6 :(得分:-1)

我认为你看过Guava或Google收藏。

相关问题