Oracle Berkeley DB XML

Oracle Berkeley DB XML 是一个可嵌入的开源 XML 数据库,可基于 XQuery 访问存储在容器中的文档,并对其内容进行索引。Oracle Berkeley DB XML 构建于 Oracle Berkeley DB 之上,并继承了其丰富的特性和属性。与 Oracle Berkeley DB 一样,它通过应用程序运行,无需人为管理。Oracle Berkeley DB XML 在 Oracle Berkeley DB 之上新增了文档分析器、XML 索引器以及 XQuery 引擎,实现了最快速、最高效的数据检索。

由于以 Berkeley DB 作为底层存储引擎,因此 Berkeley DB XML 继承了完整的 ACID 事务处理、自动恢复、热备份、用于分布式事务的 XA、通过 AES 进行磁盘数据加密以及针对高可用性的复制。此外,Berkeley DB XML 中还可存储 XML 和非 XML 数据,这将有利于某些应用程序的运行。目前,除了该数据库外,市场上还没有任何一款 XML 数据库是基于此种成熟、经过实测的技术。

Berkeley DB XML 在 Berkeley DB 之上新增了文档分析器、XML 索引器以及 XQuery 引擎。XQuery 正快速成为访问 XML 数据的首选查询语言。Berkeley DB XML 支持 XQuery 1.0 和 XPath 2.0、XML 命名空间、模式验证、命名和跨容器操作以及文档流。XQuery 引擎使用完善的、基于成本的查询优化器,并支持带有嵌入式变量的预编译查询执行。在存储大型文档时,可将其保持原样,或分解为节点,从而实现更为高效的检索和部分文档更新。Berkeley DB XML 支持对 XML 节点、元素、属性以及元数据进行灵活索引,以实现最快速、高效的数据检索。

Berkeley DB XML 为需要存储和检索 XML 和非 XML 数据的应用程序提供快速、可靠以及可伸缩的持久性。

主要特性


版本 2.4 中的新增特性
XQuery Update — 支持 W3C 的 XQuery Update 1.0 候选推荐标准
性能增强 — 部分文档索引重建、基于成本的智能查询处理以及基于迭代器的处理而非基于树的处理
XQilla — 支持 XQilla 2.0 XQuery 处理引擎
   

XML 文档存储

Berkeley DB XML 构建在强健的 Berkeley DB 存储引擎之上,是一个快速、灵活的完全嵌入式 XML 数据库。Berkeley DB XML 实现了高效的 XML 文档存储、灵活的数据索引以及快速的 XQuery 或 XPath 访问。

  • 构建在成熟的 Berkeley DB 引擎之上 — 继承了所有 Berkeley DB 特性,包括 ACID 事务处理/恢复和针对高可用性的复制
  • 在同一事务中进行 XML 和非 XML 数据的本地存储和检索 — 无需映射或事务处理
  • 灵活的存储控制 — 节点或整个文档
  • 逻辑文档分组为容器
  • 容器内的 XML 验证
  • 按文档执行模式和方法验证
  • 文档元数据支持
  • XML 命名空间支持
  • 通过将整个文档存储为物理单元来保留空白
XML 文档索引

随着 XML 数据量的增长,高效访问日渐重要。Berkeley DB XML 独特的动态索引系统优化了 XML 内容的检索。目标索引和静态的、基于成本的查询计划引擎共同为复杂的 XQuery 语句快速提供结果。

  • 灵活的 XML 节点、元素、属性以及元数据索引
  • 节点级索引改善了查询性能,对大型 XML 文档来说尤为如此
  • 在运行时创建和删除复杂索引
  • 针对特定热点的索引
  • 特定于类型和存在的索引
  • 交互式查询计划和索引优化
  • 部分文档索引重建
XML 文档查询访问

XQuery 语言之于 XML 数据库正如 SQL 之于关系数据库。通过 XQuery,可以轻松地在语句中表达出复杂的关系、联接、条件和结果集,以在庞大的数据集上快速进行优化和执行。Berkeley DB XML 严格遵循 XQuery 标准,并提供了一种最为完整的实现。

  • XQuery 1.0 和 XPath 2.0
  • 在单个容器中或跨多个容器进行查询
  • 跨容器和 XML 数据网络源进行查询
  • 用于直接访问的永久文档标识符
  • 通过基于成本的查询引擎优化查询
  • 简化的路径表达式运算和谓词运算
  • 包含变量的预编译查询,可实现更高效的重复执行
  • 来自 URI、内存或文件的文档流
  • XML 结果集中类似 DOM 的导航
XML 文档修改

Berkeley DB XML 提供了一个完全修改 API,可实现非常高效的更新。XML 文档修改还不是 XQuery 标准的一部分,但这些标准一旦通过批准,Berkeley DB XML 就会对其给予支持。

  • XQuery Update 1.0
  • 部分文档更新
  • 事务内的原地文档修改
  • 内容不同部分的并发修改
部署

Berkeley DB XML 非常灵活,易于部署并且易于集成。作为一组 C 和 C++ 库,它可与您的应用程序一同安装和配置。它与 Apache 相集成,可直接使用 C++ 和 Java 进行访问,或使用 PHP 从 web 页面进行访问,这使得其成为动态 web 系统(如流行的 LAMP 体系结构)的理想之选。Berkeley DB XML 的运行完全无需人为管理,因此所有的管理功能都是通过编程方式控制。它支持的编程语言和操作系统平台范围广泛。

  • 编程管理 — 无需人为管理
  • 命令行工具,用于加载、备份、转储以及与 XML 数据库交互
  • 语言支持(C++、Java、Perl、Python、PHP、Tcl、Ruby 等等)
  • 操作系统支持(Windows、Linux、BSD UNIX、Mac OS/X 和任何符合 POSIX 的操作系统)
  • 适用于 Microsoft Windows 的安装程序
  • Apache 集成
  • 文档最大可达 256TB
  • 包含源代码、测试套件

产品信息
数据表: Oracle Berkeley DB XML (PDF)
白皮书: XML 数据库剖析

技术资源
文档: Berkeley DB XML
常见问题解答: Berkeley DB XML
文章: XQuery、libferris 和虚拟文件系统,O'Reilly XML.com(2007 年 7 月)
文章: 嵌入式 XML 数据库:Oracle Berkeley DB XML,RegDeveloper(2007 年 7 月)
文章: 利用 XQuery 进行扩展,xml.com(2006 年 6 月)
文章: 通过 Berkeley DB XML 进行 Java 编程,LinuxWorld Magazine(2005 年 12 月)
文章: Berkeley DB XML 简介:基本概念、shell 命令以及更多,SYS-CON(2005 年 10 月)
文章: 本地 XML 数据存储和检索,Linux Journal(2005 年 7 月)
文章: 针对 XML 数据使用原生 XML 数据库,XML Journal(2005 年 5 月)
文章: XML 数据库发展,InfoWorld(2005 年 5 月)
文章: 一探究竟:Oracle Berkeley DB XML,xml.com(2007 年 5 月)
文章: 利用 Perl 聚合大量数据,perl.com(2005 年 4 月)
演示文稿: 针对 XML 数据使用嵌入式 XML 数据库,2005 开源数据库大会 (PDF)
演示文稿: 从开源组件构建 Berkeley DB XML,O'Reilly 欧洲开源大会 (PDF)
演示文稿: Berkeley DB XML 概览,O'Reilly 2005 开源大会 (PDF)
演示文稿: 利用 Berkeley DB XML 构建 PHP 应用程序,O'Reilly 2005 开源大会 (PDF)
论坛: Berkeley DB XML
 
免费下载

Left Curve
XML 数据库剖析
Right Curve
 · 了解 Berkeley DB XML 的设计和体系结构

Left Curve
支持
Right Curve
 · 通过电子邮件获取关于 Berkeley DB 产品的支持:berkeleydb-info_us@oracle.com
 · 要了解有关新产品的发布信息,请发电子邮件至 bdb@oss.oracle.com

Left Curve
其他资源
Right Curve
 · 社区资源
 · Berkeley DB 培训课程
 · Berkeley DB 许可信息

Left Curve
相关技术
Right Curve
 · Oracle Berkeley DB
 · Oracle Berkeley DB Java 版
 · Oracle 数据库 11g
 · Oracle 内存数据库 TimesTen
 · Oracle Database Lite 10g

Left Curve
Berkeley DB 论坛
Right Curve
 · Oracle Berkeley DB XML
寄送此页面
Printer View 打印机视图