Oracle Berkeley DB

简介

Oracle Berkeley DB 是行业领先的开源、可嵌入的存储引擎,它为开发人员提供了无需管理的快速、可靠的本地数据库。Oracle Berkeley DB 是一个直接链接到您应用程序的库。应用程序只需进行简单的函数调用,而不必向远程服务器发送消息,从而消除了客户端-服务器体系结构的性能损失。

基本结构:
Oracle Berkeley DB

Berkeley DB 提供与传统关系数据库系统同样强健的数据存储特性,例如,ACID 事务和恢复;用于实现高并发性的锁定、多进程和多线程;冷热备份;以及用于实现高可用性应用程序的复制。Berkeley DB 可以在内存和/或磁盘中管理数据库。Berkeley DB 的运行完全无需人为管理,因此所有运行时管理都由应用程序(而非管理员)通过编程方式控制。它是一个易于使用、快速、可伸缩、可靠、占用空间很小的库。

或者,您可能更喜欢 SQL 查询语言和关系数据类型。Berkeley DB 11gR2 中的新增内容就是 SQL API,如下所示。在上面添加了一层适配器,以支持通过SQL语句的方式进行数据库的操作。
Oracle Berkeley DB

我们已经将 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 可以轻松快捷地存储数据,而不会导致其他数据库中的开销。Berkeley DB 是一个与您的应用程序运行在同一进程中的 C 库,这就避免了使用远程数据库服务器的进程间通信延迟。共享缓存将最活跃的数据保存在内存中,避免了开销较大的磁盘访问。

  • 一个链接到嵌入进程的用于数据管理的库
  • 数据可以是来自不透明的键/值的数据,也可以是通过 SQL 访问的关系数据
  • 索引检索和顺序检索(B 树、队列、Recno、散列)
  • 多进程和多线程支持
  • 针对高并发系统的细粒度、可配置的锁定
  • 多版本并发控制 (MVCC)
  • 辅助索引
  • 每个键多个重复值
  • 引用完整性
  • 根据需要将数据存储在内存中、磁盘中或以任何组合方式进行存储
  • 联机 B 树优化和压缩
  • 联机 B 树磁盘空间回收
  • 自动放弃的锁删除
  • 使用 AES 标准对磁盘上存储的数据进行强大的加密
  • 跨多种平台的高可移植性和高可用性

事务

Berkeley DB 配置为使用 ACID 事务时,可以可靠地存储您的数据。Berkeley DB 允许将一组数据库操作组成一组,这样,这些操作要么全部成功完成,要么全部失败。如果系统出现故障,Berkeley DB 将自动恢复,而部分完成的事务将回滚以确保系统处于一致的状态。

  • ACID — 微乎其微的、一致的、孤立的和持久的事务保证
  • 可选择的隔离级别和持久性保证,可在每事务基础上进行配置
  • 支持嵌入式事务
  • 灾难和例程故障恢复方法
  • 高度可配置的图表和基于超时的死锁检测
  • 支持应用程序特定的日志文件记录和恢复
  • 冷热备份、日志文件存档和完整的数据库转储

复制

当需要较高的系统伸缩性和/或可用性时,Berkeley DB 提供一流的复制功能,从而使一组系统可以处理工作负载。复制可以跨一个机架中的多个主板、一个数据中心中的多台服务器或地理上分散的位置。该复制系统的所有方面(数据完整性、事务保证、吞吐量、网络传输等)都是可配置的,并且可以调整以满足应用程序的特定要求。

  • 单主、多副本模型
  • 自动故障切换/重选
  • 符合 Paxos 的选举算法
  • 新副本可随时加入组中
  • 热备份
  • 无停止升级
  • 地理上分散的节点
  • 内存中复制选项
  • 客户端到客户端复制
  • 延迟的客户端同步
  • 同步终止
  • 网络传输不可知
  • 已证实对数千个副本节点具有可伸缩性
  • 预置的复制框架,用于更快速的开发

部署

Berkeley DB 非常灵活、易于部署且易于集成。它是一个非常小(大约 1 MB)的库,可以轻松地随您的应用程序一起安装和配置。Berkeley DB 的运行完全无需人为管理,因此所有的管理功能都是通过编程方式控制。它支持的编程语言和操作系统平台范围广泛。Berkeley DB 在数百万个部署中得到了证明,从任务关键的电信运营商级应用程序到桌面和移动设备应用程序。

  • 编程管理 — 无需人为管理
  • 语言支持(C、C++、Java、Perl、Python、PHP、Tcl、Ruby 等等)
  • 操作系统支持(Linux、Windows、BSD UNIX、Solaris、Mac OS/X、VxWorks 和任何符合 POSIX 的操作系统)
  • 适用于 Microsoft Windows 平台的二进制安装程序
  • 支持内存限制下的移动设备(只有 600KB 大小)
  • 可扩展到数以 TB 计的数据,数十亿条记录
  • 包含源代码、测试套件


你可能感兴趣的:(oracle,DB,Berkeley)