Berkeley DB的核心与Berkeley DB JE之间进行选择

<p>我设计一个基于Java的web应用程序,我需要一个key-value存储。 Berkeley DB的似乎是我足够的配件,但似乎是两个区议会伯克利可以选择:Berkeley DB的核心是用C语言实现,和Berkeley DB Java版是用纯Java实现。 P&gt; </p><p>现在的问题是,如何选择使用哪一个?随着网络应用的可扩展性和性能是非常重要的(谁知道,也许我的想法会成为下一个YouTube)的,我找不到两者之间轻松任何有意义的基准。我还没有与核心Java API来熟悉,但我觉得很难相信,这可能是比Java版本,这似乎是相当不错的差很多。 P&gt; </p><p>如果其他一些key-value存储会好得多,随意建议了。我存储二进制短小斑点,和钥匙可能会是数据的哈希值,或者一些其他的唯一标识。 P&gt;
</p>

19 浏览 1 回复
  bdb   核心   一个   java   gt  

回复

    <p>如果你得到一个通用的接口,这些,并拥有一套合适的单元测试,你应该能够平凡日后(也许当你真的需要做出基于确凿的事实决定了两者之间交换的不可用现在) p&gt; </p><p>我有相当多的同时使用BDB-JE和BDB核心与Java的经验。决定使用哪个很简单:如果你想并发性,使用BDB-JE。如果你想的可扩展性,使用BDB核心。 P&gt; </p><p> BDB-JE分解性能方面与大型数据库由于其文件格式和Java的垃圾回收的依赖清理驱逐缓存条目。期待很久的垃圾收集停顿或花费大量的时间调整魔力GC设置。文件格式有问题也是如此,因为后台清理线程不得不花费大量的时间清理早期缓存驱逐创建垃圾。如果您的数据库在RAM配合,BDB-JE工作得很好。 P&gt; </p><p> BDB核心依赖于一个页面锁定策略,和高并发应用经历了很多死锁。如果你能随机排序操作可以减少死锁的潜力,但它永远不会消除它。因为在一个更传统的方式BDB核心存储数据,它扩展到超大型尺寸可预测和可预期的性能下降。因为它的高速缓存不被垃圾收集管,它可以是相当大的,并不会造成任何停顿。 P&gt;
    </p>

    陆好

相关信息

什么是使用Berkeley DB的所有开源应用程序? [关闭]

<p>我学习Berkeley DB和它的用法。可能有人使用的BerkeleyDB点开放源代码应用程序。 p&gt; </p><p>虽然我使用Java(BDB Java版本),我愿意引用其它编程语言了。 P&gt; </p>

39 浏览 1 回复   使用   gt   db   berkeley   bdb  

图形用户界面的Berkeley DB [关闭]

<p>我使用Berkeley DB Java版,通过DPL接口。结果 我想问一下,如果有人知道任何GUI库,可以很容易地浏览保存在数据库中的数据。 P&gt; </p><p>我知道BDB文件说,对实体存储元数据不保存在任何地方,因此只有谁写数据的人能知道是什么类型,将在那里返回的类。这就是为什么我在寻找,将被纳入到主项目库(不是一个完整的程序),所以它会...

18 浏览 1 回复   gt   数据   db   berkeley   知道  

我可以使用BDB(Berkeley DB的)由Oracle Berkeley DB Java版用C实现(蟒蛇bsddb)创建的文件?

<p>我有一个由C实现(蟒蛇bsddb模块)创建的Berkeley DB的文件(\* .bdb)。是否有可能由一个纯Java实现的Berkeley DB来读取这个文件?我尝试使用Berkeley DB Java版(JE),但不能读它。济抛出异常说它无法检测伯克利数据库。是的Berkeley DB的文件在不同的实现并非互为操作?如果是这样,为什么? P&gt; </p>

31 浏览 1 回复   db   berkeley   gt   java   文件  

插入记录的Berkeley DB与Java

<p>我似乎无法找到示例代码在Java构建Berkeley DB和插入记录它。任何样品?我指的不是Berkeley DB Java版无论是。 P&gt; </p>

26 浏览 1 回复   db   berkeley   java   gt   oracle  

使用Java语言编写一个旧版本的Berkeley DB

<p>是否有可能写出来使用Java界面的Berkeley DB的旧版本?版本为1.85 / 1.86。 P&gt; </p>

12 浏览 1 回复   版本   java   db   berkeley   旧版本