1、 简介html
Berkeley DB(BDB)是一个高性能的,嵌入数据库编程库,和C语言,C++,Java,Perl,Python,Tcl以及其余不少语言都有应用程序编程界面。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也是有区别的
1.JE的日志文件只能APPEND,第一个日志文件名是 00000000.jdb,当他增加到必定大小的时候(默认是10M),开始写第二个日志文件00000001.jdb,已此类推。
2.跟C版本有所不一样,JE的数据日志和事务日志是放在一块儿的,而不是分开放的。
3. JE cleaner负责清扫没用到的磁盘空间,删除后,或者更新后新的记录会追加进来,而原有的记录空间就不在使用了,cleaner负责清理不用的空间。
4. 清理并非当即进行的,当你关闭你的数据库环境后,经过调用一个cleaner方法来清理。
5. 清理也不是自动执行的,须要你本身手动调用cleaner 方法来定时清理的。
6. 日志文件的删除仅发生在检查点以后。cleaner准备出哪些log 文件须要被删除,当检查点事后,删掉一些不在被使用的文件。每写20M的日志文件就执行一次检查点,默认下。