Oracle Berkeley DB XML

Oracle Berkeley DB XML 是一个支持 XQuery 的 XML 数据库,用于存储和索引 XML 内容,可以快速、可伸缩、可预测地访问 XML 内容。它是一个链接到应用程序的 C、C++ 库。Berkeley DB XML 提供事务访问、自动恢复、内容压缩、使用 AES 的磁盘数据加密、向热备份的故障切换,以及实现高可用性的复制。此外,还存储、索引和查询与 XML 文档相关的键/值元数据。Berkeley DB XML 为需要管理 XML 内容的应用程序提供快速、可靠和可伸缩的持久性。

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

XML 文档存储
  • 快速、可伸缩的事务存储
  • 灵活的存储控制 — 节点或整个文档
  • 将内容分组到容器中
  • 按文档执行模式和方法验证
  • 键/值元数据支持
  • XML 命名空间支持
  • XQuery 调试支持
  • 存储整个文档时保留空白
XML 文档索引

Berkeley DB XML 独特的动态索引系统优化了 XML 内容的检索。XQuery 语句在静态、基于成本的查询计划引擎的基础上进行了优化,即使在处理跨大型数据集的复杂 XQuery 语句时,也能快速提供结果。

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

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

  • 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++ 库,它可与您的应用程序一同安装和配置。它的运行完全无需 DBA 管理监督,所有的管理功能都通过编程方式控制。它支持的编程语言和操作系统平台范围广泛。

  • 编程管理 — 无需人为管理
  • 命令行工具,用于加载、备份、转储以及与 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
 文章: 使用 Berkeley DB XML 的本地 XML 存储 — 第一部分,Zeth 发布的博文(2008 年 8 月)
 文章: XQuery、libferris 和虚拟文件系统,O'Reilly XML.com(2007 年 7 月)
 文章: 嵌入式 XML 数据库:Oracle Berkeley DB XML,RegDeveloper(2007 年 7 月)
 文章: 一探究竟:Oracle Berkeley DB XML,xml.com(2007 年 5 月)
 文章: 利用 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 月)
 文章: 利用 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

第三方产品集成
 <oXygen/> XML Editor — 支持 Berkeley DB XML 中的 XQuery 调试
 JasperForge 上的 JasperSoft Oracle Berkeley DB XML 插件 — 支持在 JasperReports、iReport 和 JasperServer 中将 BDB XML 作为数据源