Conecta con nosotros

A Fondo

Bases de Datos: cómo extraer el máximo potencial de tu infraestructura

Publicado el

ICEMD bases de datos

A la hora de trabajar con información es importante pensar en dónde la vamos a almacenar y cómo la vamos a consumir, pero más allá de estas simples acciones debemos pensar muy bien cuál es el mejor modelo para nuestras bases de datos. En este artículo veremos la base de las infraestructuras Big Data, una pequeña parte de la formación completa que se ofrece en el Programa Superior en Data Engineering de ICEMD.

Según explica Iván Manuel de León Sanabria, Digital Analytics Consultant en Metriplica y profesor de ICEMD, «siempre que trabajemos con Big Data tenemos que tener presentes las «V’s» que caracterizan este tipo de proyectos: Volumen, Velocidad o Variedad». Sin embargo, también es importante tener claro cómo almacenaremos estas altas cantidades de información, o cómo lograr consumirla de una manera rápida y eficaz.

Y es que antes de entrar a trabajar con grandes volúmenes de información, debemos prestar una especial atención a los algunos de sus diferentes aspectos:

  • La estructura de la misma.
  • La escalabilidad de los sistemas (a más datos, mayores requerimientos).
  • La variedad de los formatos.
  • El rendimiento de los procesos al guardar y hacer consultas de la información.

Es por ello que un buen modelo de base de datos es clave para definir una estructura lógica, incluyendo las relaciones y la forma en la que vamos a guardar y acceder a los datos, así como establecer las variables y atributos que compondrán la información.

Tipos de modelos de base de datos

Existen diversos tipos de modelos de bases de datos que pueden adaptarse a determinados requerimientos, y un sistema de gestión de bases de datos puede emplear uno o varios a la vez, ya que las necesidades pueden variar de una empresa a otra. A continuación os detallamos algunos de los modelos más utilizados actualmente:

Modelo jerárquico (Hierarchical)

Uno de los modelos más reconocidos y usados, fue el desarrollado por IBM en los años 60-70, siendo a su vez el modelo más antiguo. Su estructura es del tipo árbol invertido, con relaciones uno a muchas (1:N), también conocido su analogía de padre-hijos, donde un padre puede tener más de hijo, pero un hijo solo puede tener un padre.

Con una gran carencia frente a la información redundante, este modelo jerárquico se utiliza principalmente para estructuras concretas o relaciones personales (otra de las razones del uso de esta analogía padre-hijo), empleándose en estructuras de documentos XML y siendo especialmente útil para relaciones del tipo tablas de contenidos, ordenamiento de párrafos e información anidada.

Modelo en red (Network)

Se trata de una expansión del modelo jerárquico basado en la teoría de conjuntos que permite relaciones N:N (de muchos a muchos), donde un cliente puede tener varias transacciones relacionadas con varios productos y varios vendedores a su vez.

Este modelo soluciona el problema de la redundancia de datos en el modelo jerárquico, pero su alta complejidad provoca a su vez un uso menos extendido.

Modelo relacional (Relational)

Nacido en 1970, se trata del modelo más conocido junto al lenguaje SQL, y es que es el modelo preferido para interactuar con los datos de este tipo de bases de datos. En este modelo la información se almacena en tablas, las cuales están compuestas por registros (filas de la tabla) y campos (columnas de la tabla).

Así, el modelo relacional se fundamenta en el uso de «relaciones», que se crean a partir de uno o más campos clave entre las tablas.

Por ejemplo, podemos tener una tabla de «Clientes» con campos para describir el número de cliente, DNI, nombres y apellidos, etc. Así, mientras que en cada fila podríamos almacenar un cliente diferente, también podríamos usar el propio campo del número de cliente como un campo clave o de referencia entre otras tablas como por ejemplo:

  • Pedidos de esos clientes: con campos para el número de cliente, número del pedido, importe, etc.
  • Direcciones de envío: con campos para el número de cliente, la calle, o el número de vivienda.
  • Y así sucesivamente para tantas relaciones como necesitemos.

Este modelo es sin duda de los más eficientes cuando queremos trabajar con información estructurada, como en el caso de herramientas de Business Intelligence o Data Warehouse. Sin embargo, se convierte en un modelo menos recomendable si trabajamos con datos no estructurados como emails, documentos en PDF, imágenes y vídeos o audios.

Esquema de estrella

Es el modelo favorito al trabajar con un Data Warehouse, se caracteriza por tener una tabla de hechos central rodeada de otras tablas más pequeñas con dimensiones (características), su estructura se asemeja a una estrella y por eso su nombre.

Las tablas de hechos (fact tables) contienen datos medibles, cuantitativos y relacionados a eventos específicos en el tiempo, como una venta para el día 29 de enero de 2019, mientras que las dimensiones son atributos de los datos indicados en los hechos, como el nombre del cliente o la marca de los productos.

Modelo orientado a objetos (Object-oriented)

Relacionadas con el concepto de programación orientada a objetos, este modelo viene a proveer alternativas a la resistencia del uso de tablas y filas para los registros. En su lugar, se propone una base de datos con colecciones de objetos que incluyen funciones y métodos relacionados, se apoyan en los conceptos de encapsulación y polimorfismo, así como la reutilización de elementos.

Modelo entidad-relación (E-R)

También conocido como el diagrama entidad-relación (DER), este modelo nos permite diseñar y modelar conceptualmente los datos en base a:

  • Entidades: cosas, objetos o conceptos.
  • Atributos: características de la entidad.
  • Conjuntos de relaciones entre las entidades a las cuales se les aplican ciertas restricciones como la correspondencia de cardinalidades: uno a uno (1:1), uno a varios (N:1), y varios a varios (N:M).

Modelo de documentos

Por último, nos encontramos los modelos de documentos, también conocidos como base de datos documental, y que tal como su nombre lo indica, están orientadas a documentos.

Este tipo de bases de datos están pensadas para trabajar con datos semi-estructurados, y tienen relación con las bases de datos NoSQL.

Cómo escoger el modelo adecuado

No obstante, los anteriormente expuestos son solo una pequeña muestra entre los muchos modelos existentes de bases de datos, pudiendo destacarse otros como el archivo invertido, el modelo de fichero plano, el modelo multi-dimensional, el semi-estructurado, los de contexto o los asociativos.

Y es que no existe ningún modelo mejor que otro, si no que deberemos definir cual de ellos se adapta mejor a nuestras necesidades y datos, por lo que esperamos este artículo os sirva de ayuda para conocer y poder plantearos otros escenarios a la hora de estructurar la información, y en especial si estás pensando en trabajar en proyectos más complejos de Big Data.

Recuerda que no solo es importante pensar en cómo se va a almacenar la información, también debemos tener muy presente cómo la vamos a consumir y procesar.

Si estás interesado en profundizar tus conocimientos sobre bases de datos y aprender a diseñar y desarrollar arquitecturas Big Data, infórmate sobre el Programa Superior en Data Engineering de ICEMD.

Lo más leído