OpenWebinars

Bases de Datos

Tipos de bases de datos: Cuál usar según las necesidades

En este artículo hablamos sobre los tipos de bases de datos que existen, la evolución de la gestión de datos y los modelos de bases de datos más populares.

Ismael Castañeda Cantero

Ismael Castañeda Cantero

Lectura 10 minutos

Publicado el 5 de julio de 2021

Compartir

Las empresas siempre han dedicado muchos recursos, tanto humanos como logísticos, para tener almacenados todos los datos de la compañía de forma física (papel), lo cual producía pérdidas de datos, y para intentar buscar datos concretos podrían tardar un tiempo del cual no disponían.

Con el nacimiento de las bases de datos modernas se ha reducido considerablemente esta problemática, pero es cierto que hay empresas que tienen departamentos enteros dedicados a esta finalidad, incluso hay numerosas empresas que solo se dedican exclusivamente al tratamiento y almacenamiento de datos. Esto es debido al gran aumento de datos que tenemos en la actualidad y por la necesidad de tener que almacenar los mismos.

Esto ha producido que los equipos encargados de esta tarea se hayan tenido que especializar en este ámbito ya que actualmente no solo se necesita tener almacenados los datos y fin, sino que tenemos que tratarlos.

No todas las empresas necesitan el mismo tratamiento de datos, no es lo mismo una tienda de alimentos que una compañía de fabricación de plástico. Para cubrir las necesidades de las empresas se han creado diversas bases de datos de las que hablaré en los siguientes apartados.

Tipos de bases de datos

Antes de entrar en materia es necesario diferenciar dos grupos que engloban todos los tipos de bases de datos. Estas son las bases de datos estáticas y dinámicas.

Las de tipo estático son usadas para almacenar datos que no van a cambiar a lo largo del tiempo. Esto quiere decir que se almacenarán y registrarán datos que no van a ser actualizados y que serán siempre iguales, por lo cual, no se podrán realizar consultas que modifiquen los datos registrados. Esto sirve principalmente para realizar estudios sobre los datos almacenados como por ejemplo las estadísticas de un partido de fútbol.

Por otro lado, nos encontramos las bases de datos dinámicas, que al contrario que las anteriores, sí están pensadas para almacenar y modificar los datos, como el precio de un kilo de tomates, ya que el precio de los productos cambia a lo largo del tiempo.

A lo largo de los siguientes puntos se hablará sobre las bases de datos que existen, algunas ya en desuso, pero está bien saber la evolución de la gestión de datos. En los últimos puntos se hablará sobre los dos modelos de base de datos más populares y funcionales y cómo elegir entre ambas dependiendo de nuestras necesidades.

Bases de datos jerárquicas

Las bases de datos jerárquicas están organizadas en forma de árbol, por lo que tenemos nodos padre y nodos hijos. Los nodos padre tienen varios hijos y los hijos solo pueden tener un padre, pero a su vez un hijo puede ser padre de otros nodos que cuelgan de él. Todos estos nodos deben colgar de una raíz que será el padre de todos los nodos. Estás base de datos fueron las primeras en aparecer y se han usado en sistemas de reservas de hoteles, vuelos, etc.

Este modelo de almacenamiento tiene algunas limitaciones por lo que han dejado de ser usadas por la gran mayoría de empresas, que las han sustituido por otras más estables y con mayor seguridad.

Algunos de estos motivos son los siguientes:

  • No poseen un control de repetidos, por lo que existe la posibilidad de duplicar contenidos.

  • Existe la posibilidad de que un nodo hijo quede referenciado a un padre no válido.

  • Para buscar un dato que se encuentre en un nivel muy inferior tendríamos que pasar por todos los nodos anteriores hasta llegar a la información deseada.

  • Se necesitaba un conocimiento muy amplio del sistema para poder usar correctamente.

Pero no todo son limitaciones, ya que no hay que olvidar que estas fueron las primeras y que contaban con muchas utilidades que solventaron muchos problemas y que hoy en día podemos ver en los sistemas de almacenamiento modernos usar algunas de estas características, como que la base de datos sea utilizada por varios usuarios al mismo tiempo, compartir la información, datos independientes, se puede predefinir relaciones y su implementación era fácil y sencilla pero no su uso como expuse anteriormente.

Bases de datos en red

Este tipo de modelo de almacenamiento de datos se podría decir que es la evolución del modelo jerárquico, ya que, a diferencia de la anterior, este modelo en red sí permite que los nodos hijos tengan varios padres. Hay que tener presente un aspecto de este tipo de modelo, y es que el padre pasa a denominarse propietario y el hijo es llamado miembro, aunque las dos maneras de referirnos a los nodos es correcta.

Gracias a este cambio en este tipo de modelo se posibilita la formación de relaciones más complejas habilitando la opción de formar relaciones de uno a muchos (1:N). Además, es más fácil acceder a los datos, es flexible y garantiza que los estos puedan ser modificados, borrados o insertados de una manera más sencilla. Un ejemplo claro del uso de esta arquitectura son las antiguas bases de datos de algunos colegios, que usaban este tipo de modelo para organizar los alumnos y materias que estudiaban, además de la organización de los docentes de la escuela en cuestión.

Este tipo de base de datos también ha sido reemplazada por sistemas más modernos con herramientas más útiles, ya que es imposible la creación de relaciones de muchos a muchos (N:N) en las base de datos en red.

Bases de datos relacionales (SQL)

Este tipo de base de datos es el más popular y el que usa la gran mayoría de las empresas, dado que es una apuesta segura para mantener todos sus datos seguros y fácil de realizar cualquier tipo de consulta sobre este modelo.

Este tipo de arquitectura está basada en tablas, solucionando de esta manera los problemas relacionales haciendo posible la realización de cualquier tipo de relación incluida la relación de muchos a muchos (N:N). En cada una de estas tablas nos encontramos con identificadores que son el punto de referencia para unir las diferentes tablas de la base de datos.

En algunas ocasiones nos hemos encontrado las llamadas base de datos SQL, cuando vemos esto nos referimos al modelo relacional. El motivo por el cual se utiliza en algunas ocasiones este término es porque en este tipo de base de datos se usa el lenguaje SQL para la realización de consultas.

También nos encontramos una gran novedad, como son los procesos almacenados. Los procesos almacenados son operaciones que se ejecutan de manera automática por el sistema, desencadenados al realizar un evento. Un ejemplo podría ser el siguiente, supongamos que queremos borrar una tabla de nuestra base de datos y para asegurarnos que los datos no se pierdan en caso de error, podemos crear un proceso almacenado que creará una tabla temporal con todos los datos de esta tabla para poder recuperarlos.

Bases de datos no relacionales (NoSQL)

Los datos almacenados en bases de datos no relacionales pueden ser organizados o bien en tablas o en documentos. Las tablas en este tipo de modelo no relacional o NoSQL no tienen ningún identificador que nos permita unir las diferentes tablas entres sí, por lo que no se podrá realizar ningún tipo de conexión de ahí su nombre. Esto no significa que no sean útiles respecto a las bases de datos relacionales, sino que poseen otras características especiales que hacen que incluso empresas Facebook o Google usen este tipo de modelo en algunos de sus proyectos. Además, son utilizadas para proyectos de Big Data.

Las bases de datos NoSQL nos ofrecen flexibilidad haciendo que el desarrollo sea más rápido y que sea ideal para datos semiestructurados y no estructurados. Están diseñadas para que sean escalables haciendo uso de clusters distribuidos de hardware, lo que quiere decir que no es necesario añadir un nuevo servidor aumentando de esta manera el coste de los proyectos. Por otro lado, las bases de datos NoSQL no requieren de una máquina con muchos recursos, por lo que abarata aún más el precio del proyecto.

Imagen 0 en Tipos de bases de datos: Cuál usar según las necesidades

Bases de datos orientadas a objetos

Los datos en este tipo de modelo los vamos a encontrar en forma de objetos, como su propio nombre indica. Cuando usamos un lenguaje orientado a objetos podemos integrar de forma sencilla estos datos en la base de datos. También se podrá manejar datos complejos de manera más eficiente, ya sea para guardarlos o para consultarlos, y los datos sólo serán modificados si no existen conflictos entre ellos, haciendo este tipo de modelo más seguro.

A diferencia de las tradicionales, pueden establecer relaciones de forma directa sin tener que depender del uso de tablas, haciendo que sean más flexibles y teniendo la capacidad de almacenar archivos multimedia. Los datos están encapsulados en paquetes y no en filas como en otras bases de datos. Gracias a esto también podemos guardar dentro de estos paquetes las acciones que podemos realizar con estos objetos, la cual quiere decir que también se podrá almacenar sus funciones.

Bases de datos deductivas

Este tipo de modelo es algo particular ya que se usa en casos muy concretos. Usa reglas matemáticas para deducir datos a partir de la información almacenada, por esto en algunas ocasiones son llamadas base de datos lógicas. Para el diseño de estas reglas se usa el lenguaje DataLog, que es un lenguaje declarativo basado en el modelo relacional; hace posible la realización de consultas las cuales serían que son imposibles para el lenguaje SQL. Se usan generalmente en buscadores, pero podemos usarla de otras formas.

Esta base de datos contiene una menor cantidad de datos, por lo que ocupa menos espacio, ya que es la propia base de datos la que se encarga de deducir los datos. Además, cuenta con un tipo de consultas recursivas basadas en bucles.

Bases de datos multidimensionales

Las bases de datos multidimensionales guardan la información de manera optimizada en forma de Data Warehouse, que son grandes almacenes de datos donde las empresas guardan su información. En este caso estamos hablando de empresas que necesitan almacenar mucha información, como las multinacionales. Están diseñadas principalmente para la creación de aplicaciones OLAP (On-Line Analytical Processing) donde el objetivo es agilizar las consultas y análisis de datos, aunque no siempre es necesario hacer uso de este software.

Como en las bases de datos relacionales, la información es guardada en tablas, pero con la diferencia de que los datos se ven como cubos de información. Están formados por dos componentes, la tabla de dimensiones y la de hechos, donde en una se almacenan los ítems y en otra los datos.

Un aspecto importante del uso de este tipo de base de datos es que puede trabajar con datos almacenados en base de datos simples haciendo que su implementación sea más sencilla, son capaces de trabajar con datos abstractos y pueden crear diferentes relaciones entre las diferentes dimensiones y hechos.

Qué base de datos usar según nuestras las necesidades

Esta es una cuestión que siempre nos preguntamos a la hora de empezar nuestros proyectos, pero algunas veces no nos hacemos las preguntas adecuadas. Tenemos que tener en cuenta que todos los negocios no tienen las mismas necesidades y que empresas dentro del mismo sector necesitan arquitecturas distintas por lo que tenemos que tener muy claro los siguientes puntos.

  • La cantidad de información que vamos a almacenar
  • El tipo de dato que se va a almacenar
  • Disposición de datos
  • Escalabilidad
  • Coste

Podemos hacer un estudio de la previsión de datos que vamos a manejar, por lo que, si el peso de los datos se va a mostrar en terabytes o en una unidad inferior, cualquier base de datos moderna nos servirá. Si tenemos una previsión de que el peso de los datos va a ser medido en petabytes, tendremos que hacer uso de base de datos NoSQL donde se agiliza el tratamiento de datos.

Además de la cantidad de datos también debemos pensar qué tipo de datos vamos a almacenar. Normalmente el uso de tablas para el almacenaje de datos es ideal ya que vamos a guardar los datos en registros con sus valores, por lo que el uso de las bases de datos SQL y NoSQL sería adecuado; pero también nos vamos a encontrar la posibilidad de que los datos vayan a ser tratados de manera clave-valor, por lo que el uso de documentos (JSON) para el almacenaje de esta información sería lo idóneo.

Algunas empresas, como en las que existen en el sector de la alimentación o de la automoción, necesitan tener datos en tiempo real para llevar un control de la trazabilidad, por lo que sería conveniente hacer uso de base de datos no relacionales, ya que dan una respuesta inmediata a cualquier cambio producido.

Compartir este post

También te puede interesar

Icono de la tecnología
Curso

Curso de MongoDB

Intermedio
3 h. y 18 min.

Con este curso de MongoDB aprenderás a crear y gestionar bases de datos NoSQL utilizando MongoDB, la base...

Pedro Martín Gómez
4.4