Artigos
Cloud Computing
Por Rodrigo Almeida
Postado en outubro 2011
Neste artigo vamos conhecer uma solução de banco de dados para gerenciar arquivos em XML (Extensible Markup Language) para aplicações que trabalham com um grande volume desses arquivos em seus ambientes corporativos ou na web. A solução será adotar o Oracle Berkeley DB XML.
Mas, o que é Oracle Berkeley DB XML?
O Oracle Berkeley DB XML é um banco de dados XML escrito em C++ que está sobre a camada de outro banco de dados, Oracle Berkeley DB. Sua principal função é fornecer suporte à consultas, inserções e manipulação dos arquivos XML armazenados nele, usando recursos como XQuery 1.0, XPath 2.0, índices, validação dos arquivos, controle das transações e até mesmo replicação.
O Oracle Berkeley DB XML pode trabalhar isoladamente da camada principal do banco de dados do Oracle Berkeley DB, isso é possível por que o Oracle Berkeley DB XML é um banco de dados embutido que pode trabalhar diretamente nas aplicações. E quando mencionamos embutido, dizemos que não é necessário nenhum processo de servidor (daemon) para iniciar ou parar seus serviços, tudo pode ser acessado através de API (Application Programming Interface) próprio.
Assim sendo, os dados dos arquivos XML podem ser acessados diretamente através de bibliotecas pela aplicação ou pelo console do Oracle Berkeley DB XML, e pode ser distribuído no mesmo pacote de instalação da aplicação. Para melhorar a compreensão da arquitetura de um banco de dados embutido, vamos pensar nos exemplos abaixo:
Todos os exemplos que estou citando, são para aplicações que não precise de um banco de dados relacional como Oracle Database, SQL Server ou IBM DB2.
Além do Oracle Berkeley DB XML ser um banco de dados embutido (Embedded database) possui diversas outras características importantes na sua utilização, veja algumas dessas características:
Para ter uma noção da utilização do Oracle Berkeley DB XML em sua aplicação, veja um exemplo da arquitetura de como podemos trabalhar com este banco de dados, veja a imagem abaixo:

Na imagem acima, a arquitetura do Oracle Berkeley está divido em dois produtos, o Oracle Berkeley DB e Oracle Berkeley DB XML, ambos com funcionalidades diferentes e distintas.
Como o Oracle Berkeley DB dentro do ambiente, pode fornecer recursos ao Oracle Berkeley DB XML como:
A utilização em conjunto com o Oracle Berkeley DB pode trazer mais recursos na utilização do Oracle Berkeley DB XML em sua aplicação, além dos recursos nativos de XQuery e XPath.
O importante é não confundir um banco de dados relacional com um banco de dados embutido, que é o caso do Oracle Berkeley DB XML, porque não está presente em sua arquitetura, requisitos básicos como:
Deste modo, o Oracle Berkeley DB XML torna-se um banco de dados embutido bem simples, de fácil utilização e com um objetivo principal, manipular e gerenciar os arquivos XML, esse é o objetivo principal.
Outro ponto interessante que o Oracle Berkeley DB XML possui um CLI (Command Line Interface) para realizar uma iteração direta por query usando os recursos de XQuery/XPath, esse CLI é o DBXML, que permite realizar acesso os elementos e atributos dos arquivos XML diretamente, algo como o SQL*PLUS do Oracle ou Query Analyzer do MS SQL Server. A imagem abaixo mostra o prompt de comando do Oracle Berlekey DB XML.

Espero que tenham gostado de conhecer um pouco sobre a utilização do Oracle Berkeley DB XML que está incorporado no portfólio da Oracle Corporation desde 2006 quando a Oracle comprou a empresa Sleepycat software, que foi a criadora do Berkeley DB, conhecido também como BDB.
Postado por Rodrigo Almeida. Bloggers regionais Externo mas que conhecemos.