1、berkeley db的介绍

 1、            简介html

 

Berkeley DBBDB)是一个高性能的,嵌入数据库编程库,和C语言,C++JavaPerlPythonTcl以及其余不少语言都有应用程序编程界面。Berkeley DB能够保存任意类型的键/值对,并且能够为一个键保存多个数据。Berkeley DB能够支持数千的并发线程同时操做数据库,支持最大256TB的数据,普遍用于各类操做系统包括大多数Unix类操做系统和Windows操做系统以及实时操做系统。数据库

Berkeley DB Java Edition (JE)是一个彻底用JAVA写的,它适合于管理海量的,简单的数据。编程

Berkeley DB特征:缓存

1.  数据存储能力很强(Large database support)多线程

2.  支持多线程(Multiple thread and process support)并发

3.  数据库的记录很简单,只是简单的键值对(Database records)oracle

4.  提供事务支持(Transactions)ide

5.  提供索引支持(Indexes)性能

6.  提供内存缓存的支持(In-memory cache)spa

7.  按照连续的记录文件存储数据(Log files)

8.  后台线程的支持(Background threads)

9.  数据库环境封装了一个或多个数据库(Database environments)

10. 支持数据库的备份和恢复(Backup and restore)

 

2、            获取JE

JE下载地址:http://www.oracle.com/technology/software/products/berkeley-db/je/index.html

解开包后 JE_HOME/lib/je-<version>.jar 中的jar文件添加到你的环境变量中就能够使用je了。相关帮助文档能够参考 JE_HOME/docs/index.html源代码见JE_HOME/src/*.*。(就是把你获得的jre文件导入到你的项目中)

 

3、            JE常见异常

DatabaseNotFoundException 当没有找到指定的数据库的时候会返回这个异常

DeadlockException 线程间死锁异常

RunRecoveryException 回收异常,当发生此异常的时候,你必须得从新打开环境变量。

 

4、            关于日志文件必须了解的六项

JE的日志文件跟其余的数据库的日志文件不太同样,跟C版的DBD也是有区别的

1JE的日志文件只能APPEND,第一个日志文件名是 00000000.jdb,当他增加到必定大小的时候(默认是10M),开始写第二个日志文件00000001.jdb,已此类推。

2.跟C版本有所不一样,JE的数据日志和事务日志是放在一块儿的,而不是分开放的。

3. JE cleaner负责清扫没用到的磁盘空间,删除后,或者更新后新的记录会追加进来,而原有的记录空间就不在使用了,cleaner负责清理不用的空间。

4. 清理并非当即进行的,当你关闭你的数据库环境后,经过调用一个cleaner方法来清理。

5. 清理也不是自动执行的,须要你本身手动调用cleaner 方法来定时清理的。

6. 日志文件的删除仅发生在检查点以后。cleaner准备出哪些log 文件须要被删除,当检查点事后,删掉一些不在被使用的文件。每写20M的日志文件就执行一次检查点,默认下。

相关文章
相关标签/搜索