海量简单数据不想用SQL?试试高效的嵌入式数据库Berkeley DB JE吧!

Berkeley DB JE是一个适用于海量简单数据的嵌入式数据库,提供多线程支持、事务处理和内存缓存等功能。它支持多种编程语言,并能处理上百万级别的数据。尽管在百万级以上数据量可能需要考虑其他解决方案,但其在中等规模数据存储方面表现出色,例如在JAVA开源爬虫crawler4j中被用于URL存储。
摘要由CSDN通过智能技术生成

如果你有海量的数据,这些数据相对比较简单,且没有复杂的关系,关键的是你不想用像MySQL和SQLServer那样的数据库,你只想在程序中处理这些数据,那么,Berkeley DB也许是一个非常好的选择!


Berkeley DB(BDB)是一个高效的嵌入式数据库编程库,C语言、C++、Java、Perl、Python、Tcl以及其他很多语言都有其对应的API。Berkeley DB可以保存任意类型的键/值对(Key/Value Pair),而且可以为一个键保存多个数据。Berkeley DB支持让数千的并发线程同时操作数据库,支持最大256TB的数据,广泛用于各种操作系统,其中包括大多数类Unix操作系统、Windows操作系统以及实时操作系统。


Berkeley DB在06年被 Oracle 收购了,现在我们在 Oracle 网站上会看到: BerkeleyDB、BerkeleyDB XML 和 BerkeleyDB JAVA Edition 这个三个东东。简单的说最开始 BerkeleyDB 是只有 C 语言版本的,但是 JAVA 也可以使用,只不过需要通过 JNI 调用,效率可能有点影响。后来出了 JAVA Edition ,用纯 JAVA 实现了一遍,也就是我们看到的 BerkeleyDB JAVA Edition (简称 JE )。

JE是一个通用的事务保护的,100%纯Java(JE不作任何JNI调用)编写的嵌入式数据库。因此,它为Java开发人员提供了安全高效的对任意数据的存储和管理。

JE 适合于管理海量的,简单的数据。其中的记录都以简单的 键值对保存,即 key/value。由于它操作简单,效率较高,因此受到了广泛的好评。

JE官网:http://www.oracle.com/technetwork/database/database-technologies/berkeleydb/overview/index.html




一些特性:

1. 大型数据库的支持:它支持从1到数百万级的数据量,数据库的大小限制基本上受限于你的硬件支持。
2. 多线程,多进程支持:JE读写操作都可以是多线程,使用记录级锁定为线程应用程序提供高并发性。此外,JE使用死锁超时检测的机制来确保不会有两个线程无限期的死锁。JE允许多个进程访问同一个DB,但在这种情况下, Berkeley 只允许一个线程进行写操作,读操作随意。
3. 事务:原子性,可恢复,隔离性。
4. 内存Cache:为了减少IO操作提高性能,将数据暂存在内存里面。
5. 索引。

简单读写操

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值