Profundiza en los principales tipos de bases de datos que existen, cómo funciona su clasificación general, cuál es su finalidad y qué criterio usar para elegirlas en tus proyectos. ¡Sal de dudas con esta guía!
Clasificación general de las bases de datos
Podríamos agrupar los tipos de bases de datos en tres criterios: por cómo relacionan la información, como la estructura o por el propósito que tiene el contenido. Ahora, vamos al lío.
Modelo de datos
- Bases de datos relacionales. Almacenan los datos en tablas (relacionadas entre ellas por claves primarias y foráneas), divididas en las filas para los registros y en columnas para campos o atributos. Algunos ejemplos son: MySQL, Oracle, SQL Server o PostgreSQL. Y se caracterizan:
- Cumplir con una alta integridad de los datos.
- Facilitar una estructura más definida.
- Emplean un lenguaje de consulta estándar: SQL.
- Ideal para las transacciones complejas y también los datos estructurados.
- Bases de datos no relacionales NoSQL. Perfecta para cuando se almacena un modelo de datos que rompe con lo tradicional. Existen estos tipos:
- Almacenamiento por claves únicas asociadas a un valor. Simplifican los procesos de lectura (basada en claves) y además son escalables. Bases: Redis y Memcached.
- Almacenamiento por documentos semiestructurados en JSON o BSON, permitiendo un desarrollo ágil con esquemas más flexibles. Ejemplos de bases: MongoDB o Couchbase.
- Almacenamiento por columnas, facilitando la lectura de la información (recomendable para altos volúmenes de datos). Ejemplos de bases: Cassandra y HBase.
- Bases de datos de grafos, pensadas para una información inmensa (como puede ser en una red social) y que se estructura en nodos con atributos y aristas, que pueden ser dirigidas o no dirigidas. Las herramientas más habituales son Amazon Neptune y Neo4j.
Estructura
- Bases de datos estructurados con un formato predefinido y rígido. Con lo cual, garantiza la integridad de los datos ante consultas complejas.
- Bases de datos semiestructurados con un formato más fluido, pero con algo de estructura a través jerarquías que se establecen por etiquetas y marcadores. Ideal para trabajar con datos que cambian.
- Bases de datos no estructurados y que pueden trabajar con múltiples formatos, como audio, vídeo, fotografías, gráficos... y para el que es necesario que los sistemas informáticos lo procesen aplicando un lenguaje especial para interpretarlo.
Finalidad
- Bases de datos operacionales, para realizar trabajos de transacciones, como pueden ser las bases de datos para los puntos de venta, sistemas de gestión de clientes (CRM) o planificación de recursos empresariales (ERP)
- Bases de datos analíticas, pensadas para la toma de decisiones manejando altos volúmenes de datos históricos. Por eso es ideal para Data warehouses, por ejemplo.
- Bases de datos de almacenamiento de datos. Los Data warehouses guardan en sus sistemas fuentes variadas e inmensas de datos, permitiendo su entregabilidad ante consultas analíticas complejas.
- Bases de datos en tiempo real. Se emplean en sistemas que requieren una respuesta inmediata, para los que es necesario procesar datos al momento.
- Bases de datos de grafos. Son almacenes de información diseñadas para relacionar los datos por consultas, distribuidas en nodos (que representan entidades) y aristas (que son las conexiones). Son ágiles.
Bases de datos relacionales
Es uno de los tipos de bases de datos más tradicionales. De acuerdo con Google, Cloud, fue desarrollada en los 70 por EF Codd IBM y consiste en una forma de estructurar información en tablas, mediante filas y columnas, permitiendo relacionarlas para facilitar su comprensión y obtener conclusiones de la interconexión que presentan datos.
En las columnas figuran los atributos, para poder especificar el tipo de información que clasifican. Las filas imprimen los registros, con el valor asignado al tipo de dato.
Bases de datos NoSQL
Cuando la información no puede estructurarse con bases de datos relacionales, surgen las bases de datos NoSQL para poder realizar consultas de datos y además de forma más ágil que con sistemas tradicionales. De acuerdo con IBM, eliminan la necesidad “de conectar tablas y sus capacidades integradas de fragmentación y alta disponibilidad facilitan el escalado horizontal”.
Bases de datos orientadas a objetos
Guardan gran relación con la programación orientada a objetos, pues el criterio para agrupar los paquetes de información es alrededor del “objeto” y los atributos y también métodos que lo caracterizan. Así, se reúnen en un único lugar.
Como recogen en IONOS, los objetos tienen una división de clases que parten de una abstracta, creando una jerarquía de clases y subclases y que también permiten la interconexión entre ellas, formando redes.
Bases de datos jerárquicas
Son almacenes de información que funcionan con una estructura en árbol invertido, a través de nodos hijos con “parentesco” a un nodo padre. Cuando se interconectan los nodos “hermanos”, ahí es cuando pasan a ser una base de datos en red o, como vimos más arriba, en grafo.
¿Cómo funcionan? Con relaciones de uno a muchos, en las que los vínculos se establecen mediante sus direcciones físicas. Como señala IBM, una de las diferencias entre las bases de datos relacionales es que “los segmentos se unen implícitamente entre sí”, mientras que en las relacionales, lo hace explícitamente una tabla.
Bases de datos distribuidas
Las bases de datos distribuidas reparten la información por nodos que se encuentran compartimentados en distintos ordenadores. Así, permiten un almacenamiento de la data seguro repartido en distintos espacios, tanto físicos como lógicos.
Los nodos, u ordenadores, están interconectados entre sí con una base de datos que opera de forma independiente al equipo dentro de una red que incluso no tiene por qué estar centralizada.
¿Qué tipo elegir según el proyecto?
Tipo de proyecto | Base de datos recomendada | Ejemplos |
Datos altamente estructurados con relaciones claras y bien definidas, donde la integridad y la consistencia de son primordiales en transacciones complejas. | Base de datos relacional (SQL) | Sistemas de gestión de clientes (CRM) Sistemas de planificación de recursos empresariales Gestión de pedidos minoristas |
Navegar eficientemente por datos organizados en una estructura jerárquica predefinida. | Base de datos jerárquica | Representar la jerarquía de una empresa Lista de materiales Organización de un fondo bibliotecario |
Trabajar intensamente con lenguajes de programación orientada a objetos y necesitas persistir objetos complejos directamente desde tu código. | Base de datos orientada a objetos | Sistemas de ingeniería asistido por ordenador Datos multimedia agrupados por metadatos Investigación científica |
Gestionar grandes volúmenes de datos, especialmente si son no estructurados o semiestructurados, y necesitas alta escalabilidad horizontal y flexibilidad de esquema. | Base de datos NoSQL | Aplicaciones web modernas Almacenamiento de caché Análisis en tiempo real Videojuegos en tiempo real |
Necesitas alta disponibilidad y escalabilidad distribuyendo los datos en múltiples nodos, especialmente en entornos de Big Data, Blockchain o aplicaciones con muchos usuarios concurrentes. | Base de datos distribuida | Redes sociales Internet de las cosas Comercio electrónico Banca online Servicios en streaming Blockchain y criptomonedas |
¡Fórmate para explotar las bases de datos con criterio!
¿Quieres convertirte en un maestro de las bases de datos? Esta es una cualidad fundamental que aprenderás tras el Curso de Big Data, y que te permitirá adentrarte en una profesión con una demanda imparable para los próximos años.
En Tokio School podrás formarte 100% online, con un enfoque práctico y los recursos de tu parte para entrar preparado a un mercado laboral que te está buscando. ¿Suena bien? Rellena el formulario para conocer al detalle el curso. ¡Tu futuro te llama!