Dev (Back & Front)ARTIGO

Introdução ao Oracle Berkeley DB XML

Neste artigo, vamos conhecer uma solução de banco de dadosBanco de dados134 conteúdosSQL ou NoSQL: eis a questão!!Data · mar 2020Banco de dados: como organizar e dar segurança para milhões de dados de loteriasData · mai 20215 serviços gratuitos na cloud para bancos de dados PostgresData · fev 2025Ver tudo em Data 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.

E o que é Oracle Berkeley DB XML?

É um banco de dados XML escrito em C++C++6 conteúdosSão Paulo recebe encontro de Programadores C & C++Dev (Back & Front) · mai 2019Melhores linguagens de programação para desenvolver jogosMarketing Tech · nov 2024Desmistificando Rust: a linguagem segura e rápida que você precisa conhecerDev (Back & Front) · out 2024Ver tudo em Dev (Back & Front) que está sobre a camada de outro banco de dados, Oracle Berkeley DB. Sua principal função é fornecer suporte a 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 porque 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ópria.

Dessa forma, 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 seguintes exemplos:

  1. Uma aplicação de Catálogo de Endereços possui um banco de dados embutido, certo? Pois será necessário armazenar todos os registros que inserimos e depois manipular, seja na edição ou na exclusão;
  2. Aplicação de E-mail também trabalha com um banco de dados embutido, pois não conseguimos realizar consultas em nossos e-mails? Adicionar e-mail em biblioteca própria ou até mesmo realizar um backup da mensagens? Desse modo, a aplicação pode utilizar um banco de dados embutido para armazenar e para gerenciar as suas mensagens;
  3. Outro exemplo interessante são aplicações que realizam controle de log em servidores ou até mesmo aplicações que realizam diversas manipulações em arquivos XML para diversas finalidades na web. Um exemplo seria o controle dos seus Feeds, gerador de RSS ou até mesmo controle de produtos em loja virtual.

Todos os exemplos que estou citando são para aplicações que não precisem de um banco de dados relacional como Oracle Database, SQL Server ou IBM DB2.

Além de o 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 termos uma noção da utilização do Oracle Berkeley DB XML em sua aplicação, veremos um exemplo da arquitetura de como podemos trabalhar com esse banco de dados:

Na imagem acima, a arquitetura do Oracle Berkeley está divida em dois produtos, o Oracle Berkeley DB e o 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:

  • Replicação para fornecer alta-disponibilidade;
  • Logging;
  • Cache de resultados, que com o Oracle Berkeley DB XML pode trabalhar com o componente DOM-like;
  • Controle de transações;
  • E controle de acesso aos elementos do XML.

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:

  1. Modelo de dados relacional;
  2. Padrões SQL (ANSI, ISO, SQL-1992, SQL:1999, SQL:2003 e etc);
  3. Serviços de administração do banco de dados (daemons);
  4. E extensões processuais, tais como PL/SQL, T-SQL, SQL PL e etc.

Desse 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 o 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.

Para maiores informações sobre os produtos e recursos citados neste artigo, recomendo os links abaixo:

  1. Oracle Berkeley DB;
  2. Oracle Berkeley DB XML;
  3. XQuery e XPath;
  4. W3C XQuery 1.0;
  5. XPath Tutorial.

Até o próximo artigo sobre Oracle Berkeley DB.

Mais informações no meu blog ou me siga no twitter @dbarodrigo.

Abraços,

 

Rodrigo Almeida, DBA Oracle há mais de 10 anos é um dos DBA’s mais influentes do pais e mantém seu próprio Portal e Fórum (www.rodrigoalmeida.net), eleito ORACLE ACE em 2009 pela Oracle Corporation, cursou Eng. da Computação pela UNISANTA, graduado em Analise de banco de dados e pós-graduando em BI pela Veris Faculdades, especialista em Micro-eletrônica pelo INSA em Toulouse/França. Possui certificações OCP 9i/10g/11g, OCE SQL Expert, OCS 11g Implementations e Exadata e mais de 14 certificações Oracle. É vice-presidente do grupo de usuários Oracle do Brasil (GUOB), colunista Oracle do portal iMasters e colaborador técnico para os principais portais e revistas Brasileiras e internacionais. É participante dos Beta Program da Oracle Coporation para soluções de banco de dados e instrutor oficial da Oracle University Brasil para os treinamentos de BD e Exadata e atualmente é DBA Oracle e DMA Exadata e consultor técnico da Oracle do Brasil focado no gerenciamento e implementação de Oracle Exadata, Exalogic e tecnologias de banco de dados e aplicações Oracle. Também é proprietário da empresa UNIDBA Consultoria em TI (www.unidba.com.br)

Ver perfil