Las bases de datos se pueden clasificar de múltiples formas. Y en función de la clasificación podemos distinguir distintos tipos de bases de datos.
En este artículo te voy a contar cuatro formas de clasificar las bases de datos y los tipos de bases de datos que corresponden a cada una de ellas:
Tipos de bases de datos según el modelo
Esta es una de las clasificaciones más comunes. Las bases de datos se clasifican en función del modelo, es decir, según sea la administración de los datos (se tienen en cuenta aspectos como la forma en que se guardan los datos, qué métodos de almacenamiento se utilizan o cómo se recupera la información).
Teniendo en cuenta estos criterios, los principales tipos de bases de datos según el modelo se describen a continuación:
- Bases de datos relacionales
- Bases de datos multidimensionales
- Bases de datos NoSQL
- Bases de datos orientadas a objetos
- Bases de datos documentales
- Bases de datos deductivas
- Bases de datos transaccionales
- Bases de datos jerárquicas
- Bases de datos en red
Bases de datos relacionales
Es uno de los tipos de bases de datos más conocidos y utilizados.
Los datos se organizan en tablas. Estas tablas están a su vez relacionadas entre sí. Las relaciones son precisamente lo que da nombre a este tipo de base de datos.
Gracias a las relaciones se pueden cruzar los registros y consultar los datos de forma muy sencilla y rápida. Para este fin se suele utilizar el lenguaje SQL.
Algunos ejemplos de este tipo de bases de datos son: MySQL, Oracle o SQL Server.
Bases de datos multidimensionales
Son prácticamente iguales a las relacionales con la salvedad de que las bases de datos multidimensionales permiten que los atributos sean de dos tipos.
Gracias a esta peculiaridad se pueden representar dimensiones.
Las tablas pasan a ser cubos compuestos por dos componentes:
- Tabla de dimensiones: Aquí se almacenan los datos que componen cada ítem (nombre, marca, fecha, etc.)
- Tabla de hechos: Almacena medidas o precios y claves que relacionan la tabla de dimensiones.
Las consultas se ejecutan de forma muy rápida y se suele utilizar para este fin un lenguaje llamado MDX.
Un uso típico de este tipo de bases de datos son los entornos Warehouse.
Bases de datos NoSQL
Estas bases de datos no cumplen con el esquema entidad-relación clásico y no utilizan el lenguaje SQL para realizar consultas.
Nacieron para cubrir una necesidad de escalabilidad y rendimiento que las bases de datos relacionales no podían cubrir.
No basan su estructura en tablas, sino en formatos clave-valor (como JSON o XML) o con forma de grafos.
Utilizan lenguajes como CQL (Contextual Query Language) o GQL (Graph Query Language).
Algunos ejemplos de este tipo de base de datos son MongoDB o Cassandra.
Bases de datos orientadas a objetos
Las bases de datos orientadas a objetos almacenan objetos completos. Por cada objeto se almacena su estado y su comportamiento.
Al igual que ocurre con los lenguajes orientados a objetos, estas bases de datos soportan implementaciones como la herencia o el polimorfismo. Es por esto que son ideales para trabajar con lenguajes orientados a objetos como Java, Python o Ruby, puesto que el mapeo de los datos es directo.
Algunos ejemplos de bases de datos orientadas a objetos son DB4O, Oracle u ObjectDB.
Bases de datos documentales
Es un tipo de base de datos NoSQL.
Se utilizan para almacenar información semiestructurada, por lo que no se emplean tablas.
La información se almacena en registros, que a su vez se guardan en documentos (de ahí su nombre).
Los registros pueden contener diferentes tipos de datos y los documentos suelen tener formato JSON o XML. También es posible almacenar documentos de texto.
Algunos ejemplos de este tipo de base de datos son: MongoDB, DynamoDB o CouchBase.
Bases de datos deductivas
Sirven para deducir información a partir de la información almacenada.
Se basan en lógica matemática. Mediante el uso de reglas lógicas aplicadas a la base de datos se puede inferir (o deducir, de ahí su nombre) información que no se encuentra almacenada de forma implícita.
Las bases de datos deductivas utilizan lenguajes declarativos, como Prolog.
Este tipo de bases de datos es muy utilizado en el campo de la inteligencia artificial, la programación lógica y el análisis de datos.
Bases de datos transaccionales
Son bases de datos pensadas para enviar y recibir datos a gran velocidad. Permiten realizar grandes cantidades de transacciones en poco tiempo.
Las transacciones son unidades atómicas indivisibles que pueden tener varias operaciones relacionadas (por ejemplo, una transferencia bancaria consta de dos operaciones: restar el importe de la cuenta origen y sumar dicho importe en la cuenta destino).
Este tipo de base de datos garantiza que se realicen las transacciones en la base de datos de forma completa o que se reviertan en caso de error en alguna de sus partes. De esta forma se evita que las transacciones queden a medias y se garantiza la integridad de los datos.
Un uso muy extendido de este tipo de bases de datos es en entornos de comercio electrónico y en sistemas bancarios.
Bases de datos jerárquicas
Las bases de datos jerárquicas tienen la peculiaridad de almacenar los datos en estructuras con forma de árbol.
Existe un único nodo padre del que cuelgan varios nodos hijos. De estos, a su vez, cuelgan otros hijos.
En algunos casos también existen relaciones entre nodos hermanos (nodos que comparten el mismo padre).
Las relaciones se establecen a nivel físico y no a nivel lógico como ocurre en las bases de datos relacionales.
Fueron diseñadas para almacenar grandes volúmenes de datos, pero eran complejas de mantener debido a la rigidez de su estructura lo que podría derivar en problemas de integridad y coherencia.
Han ido cayendo en desuso y han sido reemplazadas por otros modelos más ágiles.
Bases de datos en red
Este tipo de bases de datos son similares a las bases de datos jerárquicas, pero mejoradas. La principal diferencia es que permiten múltiples nodos padre para un mismo nodo hijo. Esta característica hace que sea un modelo mucho más flexible.
Tipos de bases de datos según el contenido
Este criterio de clasificación se refiere a los datos cómo tal. ¿Qué almacena la base de datos? Dependiendo de lo que almacene podemos clasificar las bases de datos en tres tipos principales:
Bases de datos bibliográficas
Las bases de datos bibliográficas (también llamadas bases de datos de citas), almacenan referencias a contenido científico-técnico (artículos, libros, tesis, informes, etc.).
No guardan los documentos completos, sino información bibliográfica de los mismos y referencias para poder localizarlos.
Son muy usadas en bibliotecas, universidades o ambientes académicos.
Algunos ejemplos de bases de datos bibliográficas son: Dialnet, Medline o SciFinder.
Bases de datos de texto completo
Son similares a las bases de datos bibliográficas, pero en este tipo de bases de datos, en vez de almacenar la referencia a la publicación, se almacena el texto completo.
Su uso también está pensado para ambientes académicos, aunque podemos encontrar multitud de bases de datos de texto completo online tanto públicas como privadas.
Algunos ejemplos son: Redalyc, Scielo, JStor o ProQuest.
Bases de datos de directorios
Este tipo de base de datos funciona de forma similar a un índice (por ejemplo, una agenda telefónica).
Permiten realizar operaciones de ordenación para organizar la información de forma relevante.
Se suelen utilizar en ambientes empresariales, pero podemos encontrarlas en nuestro día a día (por ejemplo, la agenda del móvil).
Tipos de bases de datos según la variabilidad
Cuando hablamos de variabilidad nos referimos a la estructura de los datos dentro de la base de datos.
Teniendo en cuenta este criterio podemos distinguir entre dos tipos de bases de datos:
Bases de datos estáticas
Las bases de datos estáticas tienen una finalidad de solo lectura. Es decir, almacenan información que no se modificará con el tiempo, solo se podrá leer.
Se suelen utilizar para almacenar históricos de información (por ejemplo las ventas realizadas a lo largo del tiempo) que podrán servir en un futuro para extraer analíticas.
Bases de datos dinámicas
En este tipo de base de datos la información es almacenada y puede ser eliminada o modificada a lo largo del tiempo. Por lo tanto, las bases de datos dinámicas permiten operaciones tanto de lectura, como escritura y borrado.
Es básicamente lo opuesto a una base de datos estática.
Tipos de bases de datos según el alcance
Esta clasificación tiene en cuenta la ubicación de las bases de datos.
Podemos diferenciar entre:
Bases de datos centralizadas
Las bases de datos centralizadas almacenan todos los datos en la misma ubicación, es decir, en una sóla máquina (servidor, ordenador, etc.) y se gestionan con un único sistema gestor que también se encuentra en el mismo lugar.
Este tipo de base de datos puede presentar ciertas limitaciones con cargas de trabajo elevadas puesto que no se puede repartir el trabajo entre varias máquinas.
Bases de datos distribuidas
Las bases de datos distribuidas se componen de varios nodos (equipos) ubicados en diferentes lugares y conectados a través de una red.
La carga de trabajo se reparte entre los distintos nodos y cada uno de ellos tiene autonomía local dentro de la red.
Los usuarios pueden acceder a todos los nodos como si se tratase de una única base de datos.
Este tipo de base de datos a su vez puede ser homogénea (todos los nodos usan el mismo Sistema Gestor de Bases de Datos) o heterogénea (utilizan múltiples sistemas gestores).
Se suelen utilizar en empresas que tienen múltiples bases de datos distribuidas en diferentes ubicaciones territoriales y se necesita que estén conectadas entre sí.