1. cache 容量的规划
$ ./calBdb.sh 2000000 64 256 128
Inputs: records=2000000 keySize=64 dataSize=256 nodeMax=128 density=80% overhead=10%
Cache Size Btree Size Description
-------------- -------------- -----------
219,994,975 197,995,478 Minimum, internal nodes only
259,343,313 233,408,982 Maximum, internal nodes only
877,772,753 789,995,478 Minimum, internal nodes and leaf nodes
917,121,091 825,408,982 Maximum, internal nodes and leaf nodes
Btree levels: 4
./calBdb.sh 10000000 64 256 128
Inputs: records=10000000 keySize=64 dataSize=256 nodeMax=128 density=80% overhead=10%
Cache Size Btree Size Description
-------------- -------------- -----------
1,099,974,877 989,977,390 Minimum, internal nodes only
1,296,716,566 1,167,044,910 Maximum, internal nodes only
4,388,863,766 3,949,977,390 Minimum, internal nodes and leaf nodes
4,585,605,455 4,127,044,910 Maximum, internal nodes and leaf nodes
对内存的需求还是不小的。10m ,1G.
2.transaction 太慢,难以忍受
3.防止, "phantoms" when not using transactions?
这个我遇到了,不过,我没有按照bdb 的提示解决。
boolean exists = false;
boolean done = false;
while (!done) {
OperationStatus status = cursor.putNoOverwrite(key, insertData);
if (status == OperationStatus.SUCCESS) {
/* A new record is inserted */
exists = false;
done = true;
} else {
status = cursor.getSearchKey(key, foundData, LockMode.RMW);
if (status == OperationStatus.SUCCESS) {
/* An existing record is found */
exists = true;
done = true;
}
/* else continue loop */
}
}
4.cache percetage 一定要设,否则, outofmemory .
5.bdb ,nio 的时候,不能用thread.currentthread.interupt() 停止thread .
分享到:
相关推荐
- **复制功能**:Berkeley DB JE支持数据复制,可以创建多个副本以提高系统的容错性和可用性。在节点故障时,其他节点可以接管服务,避免单点故障。 - **空间效率**:采用B树数据结构,使得数据库在存储和查找数据...
综上所述,Berkeley DB je3.3版是一个强大且易用的嵌入式数据库解决方案,尤其适用于需要高性能、低延迟以及内存存储的Java应用。其丰富的功能、完善的API和强大的事务处理能力,使其在各种应用场景中都能表现出色。
Oracle BerkeleyDB-JE je-6.0.11
Berkeley DB Java Edition (JE) 官方7.5.11下载版本。 相关介绍 https://blog.csdn.net/hadues/article/details/80854288
Oracle Berkeley DB Java 版是一个开源的、可嵌入的事务存储引擎,是完全用 Java 编写的。与 Oracle Berkeley DB 类似,Oracle Berkeley DB Java 版在应用程序的地址空间中执行,没有客户端/服务器通信的开销,从而...
在这个“berkeley db je-6.4.9.gz”压缩包中,包含了BDB Java Edition(JE)的6.4.9版本。这个版本的发布可能包含了性能优化、新功能、bug修复以及对先前版本的改进。下面将详细探讨BDB JE的相关知识点。 1. **键值...
Berkeley DB是一款由Oracle公司开发的嵌入式数据库系统,被广泛应用于许多软件项目中,尤其是在需要快速、轻量级数据存储解决方案的场景下。它提供了键值对存储模式,适用于构建高性能的数据缓存和数据库应用程序。...
**Berkeley DB数据库详解** Berkeley DB(简称BDB)是一种高性能、轻量级的嵌入式数据库系统,由Oracle公司开发并维护。它最初在伯克利大学诞生,因此得名“Berkeley DB”。这款数据库系统广泛应用于需要快速、可靠...
Berkeley DB是一个嵌入式数据库,为应用程序提供可伸缩的、高性能的、有事务保护功能的数据管理服务。 主要特点: 嵌入式:直接链接到应用程序中,与应用程序运行于同样的地址空间中,因此,无论是在网络上不同...
总结来说,"BerkeleyDB测试程序"是对BerkeleyDB性能的全面评估,涵盖了数据入库和读取速度两个关键方面。通过对这些操作的深入理解和优化,我们可以更好地利用BerkeleyDB的优势,提升应用的性能。在实际应用中,还...
BerkeleyDB 多库联合操作 (Secondary Databases) - **3.1 二级数据库介绍** - **概念解释**:二级数据库是对主数据库的一个索引,用于提高查询效率。 - **应用场景**:快速查找、数据统计等。 - **3.2 创建二级...
db-6.1.26.tar.gz berkeley db
Berkeley DB 5.3.21.tar,你也可以去http://www.oracle.com/technetwork/products/berkeleydb/downloads/index.html下载最新版
- **20.8 一个新的BerkeleyDB java持久API** - **Java API**:介绍一个新的用于Berkeley DB的Java持久化API。 - **20.9 如何操作BerkeleyDB的Records** - **记录操作**:说明如何在Berkeley DB中插入、更新和删除...
在“BerkeleyDB概念”部分,文档会介绍Berkeley DB的基本概念,如BTree和Hash数据库的访问方式选择,以及Queue和Recno之间的选择。 接下来,教程会讨论数据库的限制与可移植性、环境设置、异常处理和错误返回。然后...
5. **DBMessageTextReference.pdf**:这份文档包含了BerkeleyDB在运行时可能产生的错误消息和警告的解释,帮助开发者诊断和解决问题。 6. **BDB-Porting-Guide.pdf**:BerkeleyDB移植指南,提供了将BerkeleyDB部署...
这个部分将详细讲解如何开始、提交、回滚事务,以及如何处理并发控制和死锁问题。 接着,`BerkeleyDB-Core-Cxx-Txn.pdf`是关于C++接口的事务处理。C++接口通常提供更高级别的抽象和便利,使得代码更加简洁易读。这...
BerkeleyDB是一个开源的、基于键值对的嵌入式数据库系统,由Oracle公司提供。它为Java开发者提供了丰富的API,使得在Java应用程序中轻松集成数据存储成为可能。标题中的"BerkeleyDB_java_jar包"指的是适用于Java开发...
使用Berkeley DB JE的开发者需要注意以下几点: 1. **事务管理**:Berkeley DB JE支持ACID(原子性、一致性、隔离性和持久性)事务,确保数据的一致性和完整性。 2. **数据复制**:通过复制功能,可以实现数据的冗余...