Almacenamento de información

De MediaWiki
Ir a la navegación Ir a la búsqueda


BBDD-XML-Arquitectura.PNG

Introdución

Posibilidades para almacenar información XML

A información XML pode ser almacenada:

  • directamente en ficheiros de texto
  • nunha base de datos relacional (os datos deben ser transformados)
  • nunha base de datos XML nativa
  • nunha base de datos NoSQL

Para accesos concurrentes as bases de datos deben ser a opción a escollar polas ventaxas que facilitan, entre outros (recuperación de backups, ferramentas de adminsitración, etc.).

As bases de datos relacionais son máis maduras e frecuentes no mercado; mais para tratamento XML terán unha sobrecarga para traducir datos e queries para explotar esa información. Porén, imos profundizar nas posibilidades que ofrecen as bases de datos XML; e deixaremos para o último epígrafe o estudo dalgunhas bases de datos NoSQL para a explotación de información en formatos distintos a XML, coma JSON.

Bases de datos XML

Unha base de datos en XML permite o almacenamiento da información albergando datos no formato XML. Adoitan consistir en bases de datos de tipo documental e permiten que os datos en XML sexan organizados e exportados.

Son una alternativa as relacionais: as táboas cos seus campos son substituidos por por documentos XML cos seus elementos e atributos.

A principal función de usar XML nunha base de datos é proporcionar unha linguaxe estruturada máis sinxela de ler e de entender obtendo así ventaxas entre outros no momento de intercambiar información. Tamén se poden xerar ficheiros con con outras extensións para ser compartidos e que a información sexa máis fácil de ler, por exemplo documentos PDF.

Características das Bases de Datos XML

As bases de datos en XML teñen estas características:

  • Empregan a linguaxe XML
  • A información disponse de forma xerárquica
  • Os datos incorporan etiquetas e marcaxes que os definen: explican qué é e qué significa cada conxunto de datos
  • Os datos son presentados en orde: nun documento XML a orde na que aparecen os elementos é a orde dos datos, o cal non sucede nas bases de datos relacionais baseadas en rexistros e columnas.

Ventaxas e desventaxas das bases de datos creadas con XML

A creación de bases de datos en linguaxe XML ten certas ventaxas:

  • Son fáciles de ler
  • Os documentos XML son sinxelos de procesar
  • É unha linguaxe que ten unha gran compatibilidade con SGML
  • A linguaxe XML é sinxela de estruturar co que se poden diferenciar fácilmente as distintas partes dun documento
  • Podense importar e exportar datos a outras aplicacións, programas e formatos.
  • Existen analizadores que permiten corrixir erros de sintexe
  • Podense actualizar os documentos simplemente engadindo novas etiquetas,

E tamén algunhas desventaxas:

  • Son máis lentas e requiren que os datos estén comprimidos para funcionar máis rápidamente.
  • As buscas son máis lentas que nunha base de datos relacional, xa que se deben organizar a través de texto e etiquetas.
  • Existe certa limitación en canto aos xestores de bases de datos que poden utilizar linguaxe XML.
  • Las bases de datos creadas con documentos XML no están preparadas para el almacenamiento de información a largo plazo.

Arquitectura das bases de datos XML

Almacenando datos relacionales o xml.PNG

Dentro das bases de datos que utilizan XML existen dos grandes tipos:

  • as bases de datos XML activadas
  • as bases de datos XML nativas.

XML Base de datos activada (XML- enabled)

Trátase de bases de datos relacionales nas que a información almacénase en táboas: estas divídense en filas, que conteñen os rexistros, e en columnas, que conteñen os campos.

Permite obter os resultados ds consultas en formato XML, traballando dentro dese paradigma relacional.

Base de datos XML nativa (NXD)

Non posúe campos ni táboas, e o que se almacena son documentos XML. Porén frecuentemente son denominadas bases de datos centradas en documentos.

Estas bases de datos gardan e recuperan documentos do mesmo xeito que os faría un XML; e é preciso utilizar modelos capaces de construir expresións que poidan procesar un documento XML. O maís usado e Xpath (ainda que hai outros coma XML Infoset).

BaseX

BaseX-logo-small-transparent.png

baseX é un sistema xestor de bases de datos (SGBD) XML nativo co que é posible realizar consultas usando unha interfaz gráfica; así poderemos visualizar cómo está organizada a base de datos no referente a súa estrutura de etiquetas XML, e evaluaar expresións XPath/XQuery en tempo real .

Tratáse dunha contorna de sofware libre e gratuita independente da plataforma.

A súa descarga:


Unha vez instalado a contorna xa poderemos proceder a crear a base de datos e explotrar despois esa información.

eXistdb

eXist-db (ou eXist para abreviar) é un proxecto de software de código aberto para bases de datos NoSQL creado con tecnoloxía XML.

Clasifícase coma un sistema de base de datos orientado a documentos NoSQL e unha base de datos XML nativa con soporte para documentos XML, JSON, HTML e binarios. A diferencia da linguaxe SQL usada na mayoría deos sistemas de administración de bases de datos relacionais (RDBMS), eXist-db proporciona XQuery e XSLT coma as súas linguaxes de programación de consultas e aplicacións.

Podes consultar o proxecto eXist-db en github para máis información.

Bases de datos NoSQL

Bases de datos NoSQL

MongoDB

MongoDB

Cassandra

Apache CouchDB

Apache CouchDB, comúnmente chamada CouchDB, é un xestor de bases de datos de código aberto focalizada na facilidade do seu uso e en ser "unha base de datos que asume a web de xeito completo".

Apache CouchDB logo.png

Trátase dunha base de datos NoSQL que emprega:

  • JSON para almacenar os datos
  • JavaScript como linguaxe de consulta por medio de MapReduce
  • HTTP coma API.

Unha das súas características é a facilidade coa que permite facer replicacións.

A diferencia dunha base de datos relacional, CouchDB non almacena os datos e as súas relacións en táboas; pola contra cada base de datos é unha colección de documentos independentes. Cada documento mantén os seus propios datos e o seu esquema autocontido. Unha aplicación pode acceder a múltiples bases de datos, por exemplo unha residente no teléfono móvil do usuario e outra residente nun servidor. Os metadatos do documento conteñen información acerca da versión do mesmo permitindo refundir calesquera diferencias que poidan terse producido mentres as bases de datos estaban desconectadas.

Exercicios

Referencias