Berkeley DB Java Edition(JE)是一个使用纯java编写的通用的,支持事务的,嵌入式的数据库。它让java开发人员可以安全而有效的在进程中存储和管理任意的数据。
JE提供了两种API供开发人员选择开和数据库交互。
- 直接持久层(DPL),有点类似于Hibernate或JPA一样的ORM技术,通过DPL你可以很方便持久化任何类型的数据。
- 基本API(Base API),属于那种原始的,但是功能十分完善的又很灵活的API。
JE是通过“键值对”来保存和检索数据的。JE中的每条记录(record)就是一个“键值对”,“值”代表了你要保存并且未来想检索的数据。“键”是你用于查找数据的索引。这有点像Java中的Map。但是JE是允许一个键有多个值的,这就是重复数据(Duplicate Data),如果你使用的是DPL,可以通过次键(secondary keys)来实现;如果你使用的是BaseAPI,你可以在打开数据库的时候设置允许重复属性来实现。
JE还支持事务。使用事务可以保证JE中数据的ACID。
JE中有个非常重要的资源是内存缓存(in-memory cache),对它的设置不当可能会造成内存的浪费或是非常频繁的I/O读写。
关于JE中保存的数据类型(schema)的变化比一般的数据库复杂。我们知道JE中的每个记录都是一个键值对,那个值实际上就是某个java类的实例。当这个java类发生了改变的时候,如果改变只是添加了几个字段之类的简单改变那还好办,如果是改变了字段名,那么就要使用一些特定的类和方法来转换了。
最后是关于JE的备份和恢复,这也比我们通常用的数据库简单很多。因为JE的所有数据都是记录在.log文件之中,所以大体上我们只要把所有的.log文件拷贝起来就可以了。关于JE中的.log文件,有几点要知道下:
- JE中没有单独的“数据文件”,跟BerkeleyDB C Edition不同的是,JE中所有的事务日志和记录数据都保存在一个文件中,这就是.log文件。
- .log文件是只能添加的(append only),记录数据的增删改都是加添在.log的末尾处。
- 有一个JE清理器(JE cleaner)会负责回收没用的磁盘空间。比如发生了很多的删除和修改之后,一个比较早的.log文件里面的数据大部分都没有用了,这时有一个独立的线程,会把这个文件中有用的部分复制到最后一个.log文件末尾处,然后删除掉那个没用的.log文件。
- 对没用的.log文件文件的删除只会发生在检查点(checkpoint)之后。检查点的执行在默认情况下是发生在写入了20M的内容到日志文件之中的时候。
分享到:
相关推荐
Oracle BerkeleyDB-JE je-6.0.11
Berkeley DB JE-7.0.6 jar包
berkeley db je-6.4.9.gz
Berkeley DB Java Edition (JE) 官方7.5.11下载版本。 相关介绍 https://blog.csdn.net/hadues/article/details/80854288
著名的嵌入式内存数据库Berkeley DB je3.3版,轻量级,快捷好用。
Berkeley DB Java Edition JE 是一个完全用JAVA写的 它适合于管理海量的 简单的数据 能够高效率的处理1到1百万条记录 制约JE数据库的往往是硬件系统 而不是JE本身 多线程支持 JE使用超时的方式来处理线程间的死琐...
Berkeley DB Java Edition (JE)是一个完全用JAVA写的,它适合于管理海量的,简单的数据。 能够高效率的处理1到1百万条记录,制约JE数据库的往往是硬件系统,而不是JE本身。 多线程支持,JE使用超时的方式来处理...
自己稍微封装了一下,可以当成简单的map来使用。
Berkeley DB Java Edition(以下简称JE)是由美国Sleepycat Software公司(后被Oracle公司收购)开发的一套开放源码的嵌入式数据库,它采用K/V存储,能为应用程序提供可伸缩的、高性能的、有事务保护功能的数据管理服务
一组使用Berkeley DB JE的工具1. Hajo-一个简单的基于节俭的RPC接口,连接到Berkeley DB JE
Berkeley DB Java Edition (JE)是一个完全用JAVA写的,它适合于管理海量的,简单的数据。
berkeley db工具包 je-3.2.23jar
基于 berkeley db je 的android应用
这个是最流行的嵌入式高性能开源数据库内核开发包,java企业开发必备。
java连接berkeley db 数据库所需要的jar包
Berkeley DB Java Edition (JE)是一个完全用JAVA 写的,它适合于管理海量的,简单的 数据。 l 能够高效率的处理 1 到 1 百万条记录,制约 JE 数据库的往往是硬件系统,而不是 JE 本身。 多线程支持,JE 使用超时的...
在DerkeleyDB中不需要通过JDBC访问数据库,所有的操作都使用一组API接口因此DerkeleyDB不需要对某种语言进行分析,也...它的底层采用B树的实现,在Eclipse项目中只要倒入berkeleydb-1.5.1.jar包,即可使用BerkeleyDB。
CarbonadoSleepycatJE CarbonadoSleepycatJE 包含一个支持 Sleepycat/Oracle, 的存储库。 Berkeley DB JE 代码必须单独下载和安装。
retrieval2014重新立项后的全文检索,建立在jfinal、Berkeley je db/redis、lucene3.6之上的全文检索项目启动步骤:1.导入eclipse2.在eclipse中debug as->debug configuration配置启动参数:Project为:retrieval;Main...