Banco de dados XML - XML database

Um banco de dados XML é um sistema de software de persistência de dados que permite que os dados sejam especificados e, às vezes, armazenados em formato XML . Esses dados podem ser consultados , transformados, exportados e devolvidos a um sistema de chamada. Os bancos de dados XML são um tipo de banco de dados orientado a documentos que, por sua vez, são uma categoria de banco de dados NoSQL .

Justificativa para XML em bancos de dados

Existem vários motivos para especificar dados diretamente em XML ou outros formatos de documento, como JSON . Para XML em particular, eles incluem:

  • Uma empresa pode ter muito XML em um formato padrão existente
  • Os dados podem precisar ser expostos ou ingeridos como XML, portanto, usando outro formato, como modelagem dupla de forças relacionais dos dados
  • XML é muito adequado para dados esparsos, dados profundamente aninhados e conteúdo misto (como texto com tags de marcação incorporadas)
  • XML é legível por humanos, enquanto as tabelas relacionais requerem experiência para acessar
  • Os metadados geralmente estão disponíveis como XML
  • Os dados da web semântica estão disponíveis como RDF / XML
  • Fornece uma solução para incompatibilidade de impedância relacional de objeto

Steve O'Connell dá uma razão para o uso de XML em bancos de dados: o uso cada vez mais comum de XML para transporte de dados , o que significa que "os dados são extraídos de bancos de dados e colocados em documentos XML e vice-versa". Pode ser mais eficiente (em termos de custos de conversão) e mais fácil armazenar os dados no formato XML. Em aplicativos baseados em conteúdo, a capacidade do banco de dados XML nativo também minimiza a necessidade de extração ou entrada de metadados para oferecer suporte à pesquisa e navegação.

Bancos de dados habilitados para XML

Os bancos de dados habilitados para XML normalmente oferecem uma ou mais das seguintes abordagens para armazenar XML dentro da estrutura relacional tradicional:

  1. XML é armazenado em um CLOB ( objeto grande de caracteres )
  2. XML é `fragmentado` em uma série de tabelas baseadas em um esquema
  3. XML é armazenado em um tipo de XML nativo conforme definido pelo padrão ISO 9075-14

RDBMS que suportam o tipo ISO XML são:

  1. IBM DB2 (pureXML)
  2. Microsoft SQL Server
  3. Banco de dados Oracle
  4. PostgreSQL

Normalmente, um banco de dados habilitado para XML é mais adequado quando a maioria dos dados não é XML. Para conjuntos de dados em que a maioria dos dados são XML, um banco de dados XML nativo é mais adequado.

Exemplo de consulta de tipo XML no IBM DB2 SQL

select
   id, vol, xmlquery('$j/name', passing journal as "j") as name 
from
   journals
where 
   xmlexists('$j[licence="CreativeCommons"]', passing journal as "j")


Bancos de dados XML nativos

Os bancos de dados XML nativos são especialmente adaptados para trabalhar com dados XML. Como gerenciar XML como cadeias de caracteres grandes seria ineficiente e, devido à natureza hierárquica do XML, estruturas de dados otimizadas personalizadas são usadas para armazenamento e consulta. Isso geralmente aumenta o desempenho em termos de consultas somente leitura e atualizações. Nós e documentos XML são a unidade fundamental de armazenamento (lógico), assim como um banco de dados relacional tem campos e linhas.

O padrão para consultar dados XML por recomendação W3C é XQuery ; a versão mais recente é XQuery 3.1. XQuery inclui XPath como uma sublinguagem e o próprio XML é uma sub-sintaxe válida de XQuery. Além do XPath, alguns bancos de dados XML suportam XSLT como um método de transformação de documentos ou resultados de consultas recuperados do banco de dados.

Características da linguagem

Nome Licença Língua materna XQuery 3.1 XQuery 3.0 XQuery 1.0 Atualização XQuery Texto Completo XQuery Extensões EXPath Extensões EXQuery XSLT 2.0 XForms 1.1 XProc 1.0
BaseX BSD Java sim sim sim sim sim sim sim sim sim Não
existir GNU LGPL Java Parcial Parcial sim Proprietário Proprietário sim sim sim sim sim
Servidor MarkLogic Comercial C ++ Não Parcial sim Proprietário Proprietário Não Não sim sim Não
OpenText xDB Comercial Java Parcial Parcial sim sim sim Não Não Não Não Não
Oracle Berkeley DB XML Comercial
Qizx Comercial Java Não Não sim sim sim Não Não sim Não Não
Sedna Licença Apache 2.0

APIs com suporte

Nome XQJ XML: DB Repousante RESTXQ WebDAV
BaseX sim sim sim sim sim
existir sim sim sim sim sim
Servidor MarkLogic sim Não sim sim sim
Qizx Não Não sim Não Não
Sedna sim sim Não Não Não

Conjuntos de dados XML centrados em dados

Para conjuntos de dados XML centrados em dados, o método de pesquisa de palavra-chave exclusivo e distinto, ou seja, XDMA para bancos de dados XML é projetado e desenvolvido com base em indexação dupla e soma mútua.

Referências

links externos