数据库
数据库特性索引
Berkeley DB
Oracle Berkeley DB 是业界知名的开源、可嵌入的存储引擎,为开发人员提供了快速、可靠、无需管理的本地数据库。Oracle Berkeley DB 是一个直接链接到您应用的库。应用只进行简单的函数调用,而不必向远程服务器发送消息,从而消除了客户端-服务器架构的性能损失。
告诉我们您希望在 Berkeley DB 中看到的特性。参加 Berkeley DB 未来特性调查。

Berkeley DB 提供与传统关系数据库系统同样强健的数据存储特性,例如,ACID 事务和恢复;用于实现高并发性的锁定、多进程和多线程;冷热备份;以及用于实现高可用性应用的复制。Berkeley DB 可以管理内存中和/或磁盘上的数据库。Berkeley DB 的运行完全无需人为管理,因此所有运行时管理都由应用(而非管理员)通过编程方式控制。Berkeley DB 提供了一个快速、可扩展、可靠、占用空间很小的库。
Berkeley DB 将数据作为不透明的数据字节数组存储在键/值对中,然后通过上图所示的任一访问方法对这些键/值进行索引检索。使用 BDB get/put 或基于游标位置的 API 对这些键/值对进行创建、读取、更新或删除 (CRUD) 操作。Berkeley DB 还支持 Java Collections API 和 Java Direct Persistence Layer API。
或者,您可能更喜欢 SQL 查询语言和关系数据类型。Berkeley DB 11gR2 中的新增内容就是 SQL API,如下所示。

我们将 SQLite 的优点与 Berkeley DB 的优点相结合。如果您选择 SQL API,那么 Berkeley DB API 将完全隐藏,您的程序将编写成使用 SQLite API。因为这是一个纯 SQL 的数据库引擎,所以您可以随意使用 JDBC、ODBC 或其他任何兼容的访问层。Berkeley DB 的所有优点都已纳入该组合产品中。在某些情况下,您可能希望在 Oracle 数据库和 Oracle Berkeley DB 之间同步全部或部分关系数据。现在,使用 Oracle Mobile Data Sync 即可实现这一目的。将这些产品(从企业 Oracle 数据库到 Oracle Berkeley DB)组合,可以提供实用的嵌入式解决方案,从而使 SQL 存储在应用、设备和移动软件中占用的空间更少。
Berkeley DB 非常灵活,开发人员可以控制其行为的许多方面,从而可以在大量应用中使用,取代自主开发的解决方案。例如,开发人员可以控制资源的分配方式、专门用于缓存记录的内存量、用于单个表的磁盘存储结构、持久性和隔离保证以及复制策略。它包括完整的源代码,便于移植、集成、调试和优化。
Berkeley DB 为需要本地存储数据、无人值守连续运行并且以可预测的方式访问数据的应用提供非常快速、可靠和可扩展的持久性。
Berkeley DB Java 版可以轻松快速地存储数据,而不会产生像其他数据库中那么多的开销。Berkeley DB 是一个 C 库,与您的应用运行在同一进程中,这就避免了使用远程数据库服务器的进程间通信延迟。共享缓存将比较活跃的数据保存在内存中,从而避免了开销较大的磁盘访问。
Berkeley DB 配置为使用 ACID 事务时,可以可靠地存储您的数据。Berkeley DB 允许将一组数据库操作组成一组,这样,这些操作要么全部成功完成,要么全部失败。如果系统出现故障,Berkeley DB 将自动恢复,而部分完成的事务将回滚以确保系统处于一致的状态。
当需要较高的系统可扩展性和/或可用性时,Berkeley DB 提供优秀的复制功能,让一组系统可以处理负载。复制可以跨一个机箱中的多个主板、一个数据中心中的多台服务器或地理上分散的站点。此复制系统的所有方面(数据完整性、事务保证、吞吐量、网络传输等)都是可配置的,并且可以调整以满足应用的特定要求。
Berkeley DB XML 非常灵活,易于部署且易于集成。它是一个非常小(大约 1 MB)的库,可以轻松地随您的应用一起安装和配置。Berkeley DB 的运行完全无需人为管理,因此所有的管理功能都以编程方式进行控制。它支持各种编程语言和操作系统平台。Berkeley DB 已在数百万次部署中得到验证,从任务关键的运营商级应用到桌面和移动设备应用。