Las bases de datos son ese­n­cia­les para organizar la in­fo­r­ma­ción de forma racional. Sin embargo, hay varias maneras de construir bases de datos. En in­fo­r­má­ti­ca, las bases de datos re­la­cio­na­les son muy comunes, pero también existen las de­no­mi­na­das bases de datos do­cu­me­n­ta­les. Estas se basan, para almacenar la in­fo­r­ma­ción, en una es­tru­c­tu­ra simple de tabla y en do­cu­me­n­tos. ¿Cómo funcionan estas bases de datos y cuáles son sus ventajas?

¿Qué es una base de datos basada en do­cu­me­n­tos?

Las bases de datos do­cu­me­n­ta­les, en inglés, document stores, se utilizan para la ad­mi­ni­s­tra­ción de datos se­mie­s­tru­c­tu­ra­dos. Se trata de datos que no siguen una es­tru­c­tu­ra fija, sino que llevan la es­tru­c­tu­ra casi en sí misma. Sin embargo, con ayuda de ma­r­ca­do­res dentro de estos datos, la in­fo­r­ma­ción puede ordenarse. Debido a la falta de una es­tru­c­tu­ra clara, estos datos no son adecuados para bases de datos re­la­cio­na­les porque su in­fo­r­ma­ción no puede cla­si­fi­car­se en tablas.

Una base de datos do­cu­me­n­tal crea un par simple: un documento es­pe­cí­fi­co se asigna a una clave. En este documento, que puede tener formato XML, JSON o YAML, por ejemplo, se puede encontrar la in­fo­r­ma­ción pro­pia­me­n­te dicha. Como la base de datos no requiere un esquema es­pe­cí­fi­co, en un almacén de do­cu­me­n­tos pueden in­te­grar­se di­fe­re­n­tes clases de do­cu­me­n­tos. Los cambios en los do­cu­me­n­tos no afectan a la base de datos.

Nota

La base de datos do­cu­me­n­tal presenta varias si­mi­li­tu­des con otros modelos de bases de datos: este sistema se puede co­n­si­de­rar como una su­b­ca­te­go­rí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 do­cu­me­n­ta­les?

En teoría, una base de datos de do­cu­me­n­tos puede almacenar datos en di­fe­re­n­tes 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 do­cu­me­n­tos y una es­tru­c­tu­ra 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 do­cu­me­n­tal que con un sistema re­la­cio­nal: la in­fo­r­ma­ción se puede insertar, modificar, borrar y consultar.

Para poder realizar estas acciones, cada documento recibe un ide­n­ti­fi­ca­dor único que puede co­m­po­ne­r­se tanto de una simple cadena de ca­ra­c­te­res como de la ruta completa que lleva hasta él. Cuando se buscan datos, se co­m­prue­ban los propios do­cu­me­n­tos, 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 do­cu­me­n­tos.

¿Cuáles son las ventajas y de­s­ve­n­ta­jas de las bases de datos do­cu­me­n­ta­les?

En las bases de datos re­la­cio­na­les clásicas, debe haber un campo para cada dato, y esto en cada entrada. Si la in­fo­r­ma­ción no está di­s­po­ni­ble, la celda queda vacía, pero debe haber una. Las bases de datos do­cu­me­n­ta­les son mucho más flexibles: la es­tru­c­tu­ra de los do­cu­me­n­tos no tiene por qué ser coherente, lo que permite almacenar conjuntos de datos no es­tru­c­tu­ra­dos 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 re­la­cio­nal, el nuevo punto de in­fo­r­ma­ción se debe insertar en todos los registros de datos, en una base de datos orientada a do­cu­me­n­tos basta con integrar la in­fo­r­ma­ción nueva en solo unos pocos registros. El contenido adicional se puede añadir a otros do­cu­me­n­tos, pero esto no es necesario.

En estas bases de datos, además, la in­fo­r­ma­ción no se reparte en varias tablas enlazadas. Todo se almacena en el mismo lugar, lo que puede mejorar el re­n­di­mie­n­to. Sin embargo, esta ventaja de velocidad solo puede ex­plo­tar­se en las bases de datos do­cu­me­n­ta­les, siempre y cuando no se intente insertar elementos re­la­cio­na­les, porque las re­fe­re­n­cias no encajan en el concepto do­cu­me­n­tal. Si, pese a todo, se intenta conectar a los do­cu­me­n­tos entre sí, el sistema se vuelve muy complejo y vo­lu­mi­no­so. Cuando se trata de datos muy in­te­r­co­ne­c­ta­dos, se re­co­mie­n­da usar un sistema de base de datos re­la­cio­nal.

Las bases de datos do­cu­me­n­ta­les más conocidas

Las bases de datos do­cu­me­n­ta­les son de gran im­po­r­ta­n­cia, en pa­r­ti­cu­lar para el de­sa­rro­llo de apli­ca­cio­nes web. Debido a la demanda re­su­l­ta­n­te del de­sa­rro­llo 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 Fou­n­da­tion lanzó el software de código abierto CouchDB. El sistema de gestión de bases de datos está escrito en Erlang, utiliza Ja­va­S­cri­pt y se utiliza en apli­ca­cio­nes de Ubuntu y Facebook, entre otras.
  • Ela­s­ti­c­sea­r­ch: este motor de búsqueda funciona con una base de datos do­cu­me­n­tal. Para esto, emplea do­cu­me­n­tos JSON.
  • eXist: el SGBD eXist , de código abierto, se ejecuta en una máquina virtual Java y, por lo tanto, puede uti­li­zar­se con in­de­pe­n­de­n­cia del sistema operativo. Utiliza pri­n­ci­pa­l­me­n­te do­cu­me­n­tos XML.
  • MongoDB: MongoDB es la base de datos NoSQL más extendida del mundo. El software está escrito en C++ y emplea do­cu­me­n­tos similares a JSON.
  • SimpleDB: con SimpleDB (escrito en Erlang), Amazon ha de­sa­rro­lla­do su propio SGBD para los servicios en la nube de la compañía. El proveedor cobra una tarifa por su uso.
Ir al menú principal