Oracle Berkeley DB XML is an open source,embeddable XML database with XQuery-based access to documents stored in containers and indexed based on their content. Oracle Berkeley DB XML is built on top of Oracle Berkeley DB and inherits its rich features and attributes. Like Oracle Berkeley DB,it runs in process with the application with no need for human administration. Oracle Berkeley DB XML adds a document parser,XML indexer and XQuery engine on top of Oracle Berkeley DB to enable the fastest,most efficient retrieval of data.
对我来说,基本思想似乎在技术上是可靠的,并且可能比比较新的基于文档的数据库(如CouchDB或MongoDB)更为成熟.据我所知,它支持C,C,Ruby和Perl.它甚至具有HA功能,例如使用自动选择的主/从模型进行自动复制.
但是,似乎找不到任何使用它的项目.有什么根本的错误吗?许可证太繁重了吗?太复杂了吗
为什么没有被使用?
在商业上,我们被用于(非穷尽的名单,就在我头顶):
– Autodesk在Mapquest中使用BDB XML
– Farelogix使用BDB XML作为预留系统
– 喜达屋酒店使用BDB XML来管理有关他们管理的物业的信息
– 瞻博网络在NetScreen安全管理器中使用BDB XML
– 许多我不能因合约限制而命名
– 等等…
Berkeley DB XML在开源世界中已经相对被忽略了,为什么我不知道.这里有一些项目,并且已经使用它,没有我知道的所有公众.我最近看到a nifty blog post关于如何使用Emacs内的BDB XML.一旦设置,您可以在文本编辑器中以交互方式在XML上运行XQuery语句.也就是说,对于商业和开源使用来说,这是非常可行的.
XQilla是由BDB XML工程师创建的一个由我们多年编织的其他XML项目组成的项目.我们开源(Apache 2.0许可证)XQilla,因为它是一个很好的XQuery和XML解析库.我们是一家数据库公司,所以在解析XML之后,将其组织到我们的btree数据库中,并且查询优化,索引编制,统计数据以及其他一整套代码的工作是XQilla下的工作,以上BDB的btree将两者合并成BDB XML.如果解决你的问题,请随意使用它,这些都没有数据库.
基于XML构建的产品通常在其核心部分具有管理磁盘信息的一些事务数据结构.没有太多的优化可以完成,我们还没有在Berkeley DB中完成,并且在Berkeley DB XML中使用.说从数据库构建的数据库来管理XML将会明显优于BDB XML,那就是伯克利数据库中缺少一些东西,我不认为这里有一个可辩护的论据,但我愿意学习如何有人拥有关于BDB尚未实现的高效XML存储至关重要的并发事务数据结构的信息.
eXist是一个Java XML数据库,我们有一个Java JNI API,如果你愿意,我们通常在性能,稳定性和可扩展性测试中打败eXist的裤子.
Sedna是一个很好的XML数据库,它是Apache 2.0,所以它不是双重许可证,只是FLOSS软件.我建议您对BDB XML进行基准测试,您可能会感到惊讶.
MarkLogic是一款优秀的XML / XQuery数据库服务器,它们已经构建了非常坚实的产品.它不是一个软件库,它是一个服务器. BDB XML和MarkLogic之间存在显着差异,但它们都是可商业使用的 – 只有BDB XML是开源的.
有人提到Elliot Rusty Harold关于XML数据库状态的博客,要小心,大概是2007年 – 呃,是不是在任何Nosql数据库存在之前?