Bases de datos documentales: ¿cómo funciona un document store?

Las bases de datos son esenciales para organizar la información de forma racional. Sin embargo, hay varias maneras de construir bases de datos. En informática, las bases de datos relacionales son muy comunes, pero también existen las denominadas bases de datos documentales. Estas se basan, para almacenar la información, en una estructura simple de tabla y en documentos. ¿Cómo funcionan estas bases de datos y cuáles son sus ventajas?

¿Qué es una base de datos basada en documentos?

Las bases de datos documentales, en inglés, document stores, se utilizan para la administración de datos semiestructurados. Se trata de datos que no siguen una estructura fija, sino que llevan la estructura casi en sí misma. Sin embargo, con ayuda de marcadores dentro de estos datos, la información puede ordenarse. Debido a la falta de una estructura clara, estos datos no son adecuados para bases de datos relacionales porque su información no puede clasificarse en tablas.

Una base de datos documental crea un par simple: un documento específico se asigna a una clave. En este documento, que puede tener formato XML, JSON o YAML, por ejemplo, se puede encontrar la información propiamente dicha. Como la base de datos no requiere un esquema específico, en un almacén de documentos pueden integrarse diferentes clases de documentos. Los cambios en los documentos no afectan a la base de datos.

Nota

La base de datos documental presenta varias similitudes con otros modelos de bases de datos: este sistema se puede considerar como una subcategoría de las bases de datos NoSQL, y la conexión de clave y documento también lo hace muy similar a las bases de datos de clave-valor. Como sistema orientado a líneas, se opone a la base de datos orientada a columnas.

¿Cómo funcionan las bases de datos documentales?

En teoría, una base de datos de documentos puede almacenar datos en diferentes formatos sin un esquema coherente. En la práctica, sin embargo, para facilitar el trabajo con la base de datos, se suele utilizar un formato de archivo para los documentos y una estructura fija para los datos. Esto permite, por ejemplo, procesar mejor las consultas a la base de datos. En general, se pueden realizar las mismas acciones con una base de datos documental que con un sistema relacional: la información se puede insertar, modificar, borrar y consultar.

Para poder realizar estas acciones, cada documento recibe un identificador único que puede componerse tanto de una simple cadena de caracteres como de la ruta completa que lleva hasta él. Cuando se buscan datos, se comprueban los propios documentos, es decir, no se recorren todas las columnas en la base de datos en busca de esos datos, sino que se extraen de los mismos documentos.

¿Cuáles son las ventajas y desventajas de las bases de datos documentales?

En las bases de datos relacionales clásicas, debe haber un campo para cada dato, y esto en cada entrada. Si la información no está disponible, la celda queda vacía, pero debe haber una. Las bases de datos documentales son mucho más flexibles: la estructura de los documentos no tiene por qué ser coherente, lo que permite almacenar conjuntos de datos no estructurados muy grandes en una sola base de datos.

También es más fácil integrar datos nuevos: mientras que, en una base de datos relacional, el nuevo punto de información se debe insertar en todos los registros de datos, en una base de datos orientada a documentos basta con integrar la información nueva en solo unos pocos registros. El contenido adicional se puede añadir a otros documentos, pero esto no es necesario.

En estas bases de datos, además, la información no se reparte en varias tablas enlazadas. Todo se almacena en el mismo lugar, lo que puede mejorar el rendimiento. Sin embargo, esta ventaja de velocidad solo puede explotarse en las bases de datos documentales, siempre y cuando no se intente insertar elementos relacionales, porque las referencias no encajan en el concepto documental. Si, pese a todo, se intenta conectar a los documentos entre sí, el sistema se vuelve muy complejo y voluminoso. Cuando se trata de datos muy interconectados, se recomienda usar un sistema de base de datos relacional.

Las bases de datos documentales más conocidas

Las bases de datos documentales son de gran importancia, en particular para el desarrollo de aplicaciones web. Debido a la demanda resultante del desarrollo web, hay ahora numerosos sistemas de gestión de bases de datos (SGBD) en el mercado. La siguiente selección enumera los más conocidos:

  • BaseX: este proyecto open source utiliza Java y XML. BaseX viene con una interfaz de usuario.
  • CouchDB: la Apache Software Foundation lanzó el software de código abierto CouchDB. El sistema de gestión de bases de datos está escrito en Erlang, utiliza JavaScript y se utiliza en aplicaciones de Ubuntu y Facebook, entre otras.
  • Elasticsearch: este motor de búsqueda funciona con una base de datos documental. Para esto, emplea documentos JSON.
  • eXist: el SGBD eXist , de código abierto, se ejecuta en una máquina virtual Java y, por lo tanto, puede utilizarse con independencia del sistema operativo. Utiliza principalmente documentos XML.
  • MongoDB: MongoDB es la base de datos NoSQL más extendida del mundo. El software está escrito en C++ y emplea documentos similares a JSON.
  • SimpleDB: con SimpleDB (escrito en Erlang), Amazon ha desarrollado su propio SGBD para los servicios en la nube de la compañía. El proveedor cobra una tarifa por su uso.

¡No te vayas! ¡Tenemos algo para ti!
Consigue tu dominio .es un año gratis.

Introduce el dominio que deseas en la barra de búsqueda para comprobar su disponibilidad.
12 meses desde 0€/año IVA incl.
después 10 €/año IVA incl.