¿Qué es una base de datos?

Persona mirando visualizaciones de datos frente a una pantalla grande

Autores

Matthew Kosinski

Staff Editor

IBM Think

¿Qué es una base de datos? 

Una base de datos es un repositorio digital para almacenar, gestionar y proteger colecciones organizadas de datos. 

Los distintos tipos de bases de datos almacenan datos de diferentes maneras. Por ejemplo, las bases de datos relacionales lo almacenan en tablas definidas con filas y columnas, mientras que las bases de datos no relacionales pueden almacenarlo como una variedad de estructuras de datos, incluidos pares clave-valor o gráficos.

Las organizaciones utilizan estos diferentes tipos de bases de datos para gestionar diferentes tipos de datos. Las bases de datos relacionales destacan por sus datos estructurados, como los registros financieros. Las bases de datos no relacionales son mejores para tipos de datos no estructurados, como archivos de texto, audio y vídeo. Las bases de datos vectoriales almacenan datos como incrustaciones vectoriales, un formato utilizado por muchas aplicaciones de IA generativa.

Las empresas poseen grandes cantidades de datos, a menudo medidos en petabytes, o cuatrillones de bits, sobre todo, desde transacciones de clientes e inventario de productos hasta procesos internos e investigación patentada. Estos datos deben organizarse en una arquitectura de datos coherente para que los usuarios y las aplicaciones puedan acceder a ellos cuando los necesiten.  

Las bases de datos son fundamentales para construir una arquitectura de datos de este tipo. Son más que un lugar para almacenar información. Más bien, permiten a las organizaciones gestionar los datos de forma centralizada, hacer cumplir los estándares de integridad y seguridad de los datos y facilitar el acceso a datos. 

Con los sistemas de bases de datos adecuados, las organizaciones pueden utilizar conjuntos de datos de alta calidad para iniciativas empresariales clave, incluidos proyectos de inteligencia empresarial (BI), inteligencia artificial (IA) y machine learning (ML).

¿Qué no es una base de datos?

La gente suele utilizar el término "base de datos" de forma bastante vaga, lo que puede causar confusión sobre lo que es una base de datos y lo que no es. 

Una base de datos es un sistema para almacenar y gestionar datos, que comprende tanto el hardware físico en el que se almacenan los datos como el software que organiza y controla el acceso a los mismos. 

Las bases de datos sustentan gran parte de la infraestructura de TI moderna, incluidos sitios web, aplicaciones y plataformas como Amazon y Google. Estos servicios no son bases de datos en sí mismos, pero dependen de bases de datos para gestionar información, como inventarios de productos o resultados de búsqueda.

También conviene señalar que Microsoft Excel no es una base de datos, sino una aplicación de hoja de cálculo. Una hoja de cálculo Excel organiza los datos en filas y columnas de forma muy parecida a como lo hace una base de datos relacional, pero esa hoja de cálculo es un único archivo. Las bases de datos, sin embargo, son sistemas robustos, gestionados de forma centralizada, que pueden almacenar muchos tipos diferentes de datos, en muchos formatos distintos, al tiempo que admiten consultas más avanzadas.  

Tipos de bases de datos

Las organizaciones utilizan diferentes tipos de bases de datos para gestionar diferentes tipos de datos y dar soporte a diferentes aplicaciones. Algunos de los tipos de bases de datos más comunes son:

  • Bases de datos de navegación
  • Database relational
  • Bases de datos no relacionales o bases de datos NoSQL
  • Bases de datos orientadas a objetos
  • Bases de datos vectoriales
  • Bases de datos en la nube

Bases de datos de navegación

Las bases de datos de navegación almacenan datos en conjuntos de registros vinculados. Los usuarios deben navegar entre estos registros para llegar a los datos que desean, de ahí el nombre.

Los dos tipos más comunes de bases de datos de navegación son las bases de datos jerárquicas y las bases de datos de red.

  • Las bases de datos jerárquicas organizan los datos en una estructura similar a un árbol de registros principales y registros secundarios. Cada registro secundario solo puede tener un único elemento principal, pero los registros principales pueden tener varios elementos secundarios. Para alcanzar el registro deseado, los usuarios deben comenzar en la parte superior del árbol y avanzar hacia abajo. 

  • Las bases de datos de red se comportan de forma muy parecida a las bases de datos jerárquicas, excepto que permiten que cada registro secundario se vincule a varios registros principales. Los usuarios deben seguir navegando por los registros vinculados, normalmente utilizando punteros para llegar a los datos que desean.

Las bases de datos de navegación alguna vez fueron comunes, pero los avances en la tecnología de bases de datos, particularmente el desarrollo del modelo de datos relacional, las han hecho mucho menos populares.

Database relational

Las bases de datos relacionales almacenan datos en tablas formateadas de filas y columnas. A veces se les llama “SQL Databases” porque muchas bases de datos relacionales admiten el uso del lenguaje de consulta estructurado (SQL) para consultar y manipular datos. (Para obtener más información, consulte “Idiomas de bases de datos”).

Cada tabla de una base de datos relacional contiene información sobre un tipo de entidad. Por ejemplo, una organización puede tener una tabla que contenga información sobre todos sus clientes, además de tablas separadas que detallen el historial de compras de cada cliente individual. 

El científico de IBM Edgar F. Codd desarrolló el modelo relacional en la década de 1970. Este modelo superó rápidamente la popularidad del modelo de navegación porque simplifica enormemente el acto de recuperar datos. En lugar de especificar rutas entre registros, los usuarios pueden utilizar sentencias SQL para nombrar los datos que deseen. La base de datos averigua cómo recuperar los registros relevantes, a menudo utilizando índices en lugar de escaneos de tabla completa para acelerar el proceso.

Las bases de datos relacionales también reducen la redundancia, puesto que cada punto de datos debe almacenarse solo una vez. Los datos de diferentes tablas se pueden combinar en vista única sin necesidad de duplicar los datos. 

Las bases de datos relacionales son algunas de las bases de datos más comunes en la actualidad. Son muy adecuadas para gestionar conjuntos de datos estructurados con un formato estándar, como transacciones financieras o información de contacto de usuarios.

Una clase más reciente de bases de datos relacionales, denominadas "bases de datos NewSQL", tiene como objetivo hacer que el modelo relacional sea más escalable mediante la adopción de una arquitectura de base de datos distribuida, es decir, la distribución de datos en varios servidores de bases de datos. 

Bases de datos no relacionales o bases de datos NoSQL

"Base de datos no relacional" es esencialmente un término general para cualquier base de datos que no almacene datos en un formato rígido, como una tabla. A veces se denominan "bases de datos NoSQL" porque generalmente no requieren SQL para navegar.

Las bases de datos no relacionales surgieron para admitir tipos de datos no estructurados y semiestructurados (como texto e imágenes de formato libre) que no encajan perfectamente en las tablas relacionales.

Los tipos comunes de bases de datos no relacionales incluyen:

  • Bases de datos de grafos que almacenan los datos como "nodos" (que representan entidades) y "edges" (que representan las relaciones entre ellos). Las bases de datos gráficas se utilizan a menudo para rastrear relaciones, como las conexiones entre usuarios de un sitio de redes sociales. 

  • Las bases de datos de documentos almacenan datos como documentos, incluidos formatos como JSON, XML y BSON. Las bases de datos de documentos son comunes en los sistemas de gestión de contenidos. 

  • Las bases de datos clave-valor almacenan la información como pares clave-valor, donde las claves son identificadores únicos (como el ID de un carrito de la compra digital) y los valores son matrices de datos (como los artículos del carrito). 

  • Las bases de datos de columnas anchas utilizan filas y columnas de forma muy parecida a las bases de datos relacionales. La diferencia es que cada fila puede tener su propio conjunto distinto de columnas que almacenan información diferente a la de las otras filas. Las bases de datos de columnas anchas se utilizan a menudo para respaldar los almacenes de datos, donde los datos deben extraerse de múltiples fuentes y centralizarse.

Bases de datos orientadas a objetos

Las bases de datos orientadas a objetos, también llamadas bases de datos de objetos, almacenan datos como objetos en el sentido de la programación orientada a objetos. 

Los objetos son básicamente paquetes de información y código asociado. Cada objeto representa una entidad. Los objetos se agrupan en clases y tienen atributos que describen sus características y métodos que definen su comportamiento. 

Por ejemplo, un objeto de la clase "gato" podría tener los atributos "color" y "peso", y los métodos "ronronear" y "cazar".

Las bases de datos orientadas a objetos ganaron popularidad en la década de 1990 junto con la programación orientada a objetos. Las bases de datos relacionales pueden plantear problemas a algunas aplicaciones creadas con lenguajes orientados a objetos, puesto que los objetos de datos deben convertirse en tablas para almacenarlos en estas bases de datos. Las bases de datos orientadas a objetos permiten a los desarrolladores evitar ese problema. 

Bases de datos vectoriales

Las bases de datos vectoriales almacenan la información como matrices de números llamados "vectores", que se agrupan en función de su similitud. Por ejemplo, un modelo meteorológico podría almacenar las temperaturas baja, media y alta de un solo día en forma de vector: [62, 77, 85].

Los vectores también pueden representar objetos complejos como palabras, imágenes, vídeos y audio. Estos datos vectoriales de alta dimensión son esenciales para el machine learning, el procesamiento del lenguaje natural (PLN) y otras tareas de IA.    

Las bases de datos vectoriales son comunes en los casos de uso de IA y ML. Por ejemplo, muchas implementaciones de marcos de generación aumentada por recuperación (RAG), que permiten a modelos de lenguaje de gran tamaño (LLM) recuperar hechos de una base de conocimiento externa, utilizan bases de datos vectoriales. 

Bases de datos en la nube

Las bases de datos en la nube son bases de datos alojadas en la nube. Cualquier tipo de base de datos (relacional, no relacional o de otro tipo) puede ser una base de datos en la nube.

Hay dos tipos principales de bases de datos en la nube. El primero, y el más básico, es un sistema de base de datos autogestionado que se ejecuta en la nube. El segundo se llama base de datos como servicio (DBaaS).

DBaaS es un servicio de cloud computing que permite a los usuarios acceder y utilizar software de base de datos sin tener que administrar el sistema ellos mismos. Como su nombre indica, los proveedores de DBaaS ofrecen un conjunto de servicios de bases de datos, que incluyen actualizaciones, copias de seguridad, seguridad de bases de datos y más.

Las bases de datos en la nube son más escalables que las bases de datos locales. Si una organización necesita más espacio de almacenamiento o el rendimiento empieza a caer, puede generar más recursos según sea necesario.  

Otros tipos de bases de datos

  • Las bases de datos multimodelo pueden almacenar más de un tipo de datos. Por ejemplo, la IBM Db2 Cloud Database puede admitir datos XML, JSON, de texto y espaciales en una única instancia de base de datos. 

  • Las bases de datos en memoria almacenan información en la memoria principal o RAM de un dispositivo. Normalmente, las aplicaciones pueden recuperar datos de la memoria RAM más rápidamente que de una base de datos tradicional, por lo que las bases de datos en memoria suelen utilizarse para almacenar datos en caché y soportar el procesamiento de datos en tiempo real. Sin embargo, la capacidad de almacenamiento es mucho más limitada y los datos pueden perderse fácilmente porque la memoria RAM es más volátil que una base de datos estándar.

Mujer negra trabajando en un ordenador portátil

Manténgase al día de las últimas noticias tecnológicas

Información semanal, investigaciones y opiniones de expertos sobre IA, seguridad, nube y más en el Think Newsletter.

Bases de datos frente a data lakes, almacenes de datos y lakehouses de datos

Las bases de datos no son la única forma de organizar los datos, y las organizaciones suelen utilizar diferentes almacenes de datos para respaldar distintas iniciativas.

  • Las bases de datos se crean principalmente para la captura automatizada de datos, consultas rápidas y procesamiento de transacciones.  

  • Los data lakes son entornos de almacenamiento de bajo coste diseñados para gestionar cantidades masivas de datos estructurados y no estructurados sin procesar. A diferencia de las bases de datos, los data lakes no suelen limpiar, validar ni normalizar los datos. Por lo general, albergan grandes cantidades de datos para respaldar actividades como el entrenamiento de IA y análisis de big data donde el rendimiento en tiempo real es menos importante.

  • Almacenes de datos están diseñados para respaldar los esfuerzos de análisis, inteligencia empresarial y ciencia de datos. Agregan datos de varias bases de datos, los limpian y los preparan para que estén listos para su uso. 

  • Los lakehouses de datos combinan las capacidades de los almacenes y los lakes en una única solución de gestión de datos. Un lakehouse combina almacenamiento de bajo coste con un motor de consulta de alto rendimiento y gobierno inteligente de metadatos. Esto permite a las organizaciones almacenar grandes cantidades de datos estructurados y no estructurados y utilizar fácilmente esos datos para los esfuerzos de IA, ML y análisis.

Cómo funciona una base de datos

En un nivel alto, un sistema de base de datos tiene dos componentes clave: el sistema de almacenamiento de datos, que aloja física o lógicamente los datos, y el sistema de gestión de bases de datos (DMBS), que permite a los usuarios interactuar con los conjuntos de datos almacenados.

También se puede echar un vistazo más detallado a los componentes de un sistema de base de datos para comprender aún mejor lo que hace que una base de datos funcione.

Hardware de la base de datos

Las bases de datos deben almacenar sus datos en algún lugar, en algún tipo de hardware. Dicho esto, las bases de datos no requieren máquinas especializadas.

En cambio, la mayoría de los sistemas de bases de datos se componen de software de base de datos que se ejecuta en un ordenador, servidor u otro dispositivo. La máquina ofrece el hardware físico en el que se ejecuta la base de datos. El software maneja la disposición lógica de los datos. Por ejemplo, formatear los datos como tablas en una base de datos relacional o gráficos en una base de datos de gráficos. 

Una base de datos y las aplicaciones que la utilizan pueden ejecutarse en la misma pieza de hardware, pero hoy en día, la mayoría de los sistemas de bases de datos utilizan una arquitectura multinivel que separa los servidores de aplicaciones y los servidores de bases de datos. Esta disposición ofrece más escalabilidad y fiabilidad. Los servidores de aplicaciones y bases de datos pueden escalarse independientemente unos de otros, y las interrupciones en un nivel no tienen por qué afectar a los demás. 

Modelos de datos y modelos de bases de datos

Un modelo de datos es una representación visual de un sistema de información. Los modelos son herramientas conceptuales que los administradores y diseñadores de bases de datos utilizan para comprender los tipos de datos que deben rastrear, las relaciones entre los puntos de datos y la mejor manera de organizar los datos.

Gráfico de modelado de datos lógicos

El modelo de datos ayuda a identificar el modelo de base de datos adecuado, es decir, la implementación práctica del sistema de base de datos, incluidos los requisitos técnicos y los formatos de almacenamiento. Por ejemplo, el modelo de datos lógico anterior podría dar como resultado una base de datos relacional con el siguiente aspecto: 

Gráfico de modelado de datos físicos

Esquemas de bases de datos

Un esquema de base de datos define técnica y lógicamente cómo se organizan los datos dentro de una base de datos. Dicho de otro modo, traduce el modelo de datos en un conjunto de reglas que debe seguir la base de datos. 

Por ejemplo, un esquema de base de datos relacional definiría cosas como nombres de tablas, campos, tipos de datos y relaciones entre estas cosas.

Los esquemas pueden representarse mediante gráficos visuales, escribirse con sentencias SQL u otros lenguajes de programación o definirse de alguna otra manera. Depende del tipo de esquema y del sistema de base de datos en cuestión.

Todos los sistemas de bases de datos relacionales tienen esquemas. Algunas bases de datos no relacionales tienen esquemas, otras no y algunas los permiten pero no los requieren. 

Sistemas de gestión de bases de datos (DBMS)

Un sistema de gestión de bases de datos (DBMS) es un software que permite a los administradores de bases de datos, a los usuarios y a las aplicaciones interactuar de manera sencilla con los datos de una base de datos.  

Los sistemas DBMS permiten a los usuarios realizar tareas clave de gestión de datos, como formatear bases de datos, gestionar metadatos, consultar conjuntos de datos y añadir, actualizar o eliminar datos.

Algunos DBMS ayudan a aplicar medidas de seguridad de datos, como la aplicación de controles de acceso a bases de datos y la información de registro de la actividad de los usuarios. También pueden realizar un seguimiento del rendimiento de la base de datos.

Al igual que las propias bases de datos, los DBMS pueden variar en modelo. Por ejemplo, los sistemas de gestión de bases de datos relacionales (RDBMS) se construyen para bases de datos relacionales, mientras que los sistemas de gestión de bases de datos orientadas a objetos (OODBMS) gestionan bases de datos orientadas a objetos.  

Algunos sistemas de gestión de bases de datos comunes incluyen:

  • MySQL es un RDBMS de código abierto que se utiliza a menudo para sitios de comercio electrónico y otras aplicaciones web.

  • PostgreSQL es conocido por su énfasis en la extensibilidad y la fiabilidad de las transacciones.

  • Microsoft SQL Server es ampliamente utilizado por organizaciones con redes Microsoft. 

  • Oracle Database es un DBMS multimodelo que puede gestionar datos estructurados y no estructurados. 

  • IBM Db2 es un sistema de bases de datos nativo de la nube que incluye gestión de bases de datos, almacenamiento y otras funciones para dar soporte a aplicaciones de análisis en tiempo real e IA.  

Lenguajes de bases de datos

Los lenguajes de bases de datos son lenguajes de programación especializados que las personas utilizan para interactuar con bases de datos. Proporcionan a los usuarios una sintaxis para escribir consultas para obtener, combinar, actualizar o utilizar datos de otro modo. 

El lenguaje de base de datos más común es el lenguaje de consulta estructurada (SQL), que utilizan la mayoría de las bases de datos relacionales. Desarrollado por científicos de IBM en la década de 1970, SQL ayuda a los administradores de bases de datos, desarrolladores y analistas de datos a realizar tareas como la definición de datos, el control de acceso, el intercambio de datos, la integración de datos y las consultas analíticas.

Otros lenguajes de bases de datos son el lenguaje de consulta de objetos (OQL), que funciona con bases de datos orientadas a objetos, y XQuery, que funciona con bases de datos de documentos XML. 

También hay lenguajes específicos de bases de datos, como el lenguaje de consulta MongoDB (MQL) para MongoDB y el lenguaje de consulta Cassandra (CQL) para Apache Cassandra. 

Por qué importan las bases de datos

Las bases de datos son cruciales para muchas tecnologías en las que confía la gente hoy en día, desde aplicaciones bancarias que rastrean transacciones financieras en bases de datos relacionales hasta asistentes de IA que utilizan bases de datos vectoriales para mejorar la precisión. Las bases de datos son tan comunes precisamente porque son clave para respaldar:

  •  Usabilidad de los datos
  •  Integridad de los datos
  •  Seguridad de datos y cumplimiento normativo

Usabilidad de los datos

Hoy en día, las organizaciones poseen cantidades masivas de datos, pero eso no significa mucho si las personas no pueden usar esos datos. De hecho, el IBM Data Differentiator informa que hasta un 68 % de los datos empresariales nunca se analizan. A menudo, eso se debe a que las personas no saben que está ahí o los silos les impiden acceder a él.

Las bases de datos ofrecen a las organizaciones una forma de organizar, almacenar y gestionar de forma centralizada una colección de datos. También pueden ayudar a automatizar gran parte del proceso de recopilación de datos, incluida la captura de eventos y transacciones en tiempo real.

La forma en la que una organización selecciona, diseña e implementa sus aplicaciones de bases de datos puede hacer o deshacer iniciativas empresariales clave. Cuando los datos están organizados y son fácilmente accesibles, pueden impulsar la toma de decisiones, impulsar la inteligencia empresarial e impulsar los proyectos de IA y ML.

Integridad de los datos

Las bases de datos pueden ofrecer ventajas significativas sobre las hojas de cálculo y otros procesos manuales de mantenimiento de registros, que son propensos a errores, redundancia e imprecisión.

Dado que las bases de datos se pueden gestionar de forma centralizada, pueden facilitar la aplicación de reglas de limpieza y formato, la monitorización del uso y el seguimiento del linaje de datos. Las bases de datos también eliminan la necesidad de hacer circular varias copias de conjuntos de datos, que pueden desincronizarse con el tiempo. En su lugar, todas las aplicaciones y usuarios pueden trabajar desde el mismo repositorio compartido. 

En última instancia, las bases de datos pueden ayudar a conectar a usuarios de todo tipo (personas, aplicaciones, API)con datos limpios y fiables. 

Seguridad y cumplimiento de datos

Según la ubicación y la industria, las organizaciones deben cumplir con las regulaciones de privacidad de datos y protección de datos, como la Ley de Portabilidad y Responsabilidad del Seguro Médico (HIPAA) de EE.UU. y el Reglamento General de Protección de Datos (RGPD) de la UE.

Más allá de los requisitos legales, las organizaciones tienen un interés comercial en evitar el acceso a datos no autorizado. Según el informe "Cost of a Data Breach" de IBM, la vulneración cuesta de media 4,88 millones de dólares entre pérdida de negocio, tiempo de inactividad del sistema, esfuerzos de corrección y otros costes.

Las bases de datos pueden ayudar a proteger los datos y mantener el cumplimiento mediante la aplicación de medidas de seguridad de datos como los controles de acceso basados en roles (RBAC) para ayudar a garantizar que solo los usuarios adecuados puedan acceder a los datos correctos. 

El papel de las bases de datos en las iniciativas de IA

El 75 % de los CEO creen que contar con la IA generativa más avanzada será un factor decisivo para que la ventaja competitiva de la organización avance. Para dar soporte a IA tan avanzadas, las organizaciones necesitan la capacidad de almacenar, gestionar y gobernar cantidades masivas de datos estructurados y no estructurados. Solo pueden hacerlo con los sistemas de bases de datos adecuados.

Los diferentes tipos de bases de datos pueden respaldar los esfuerzos de IA y ML de diferentes maneras. Por ejemplo, las bases de datos vectoriales se utilizan habitualmente para implementar marcos RAG que pueden ayudar a reducir las alucinaciones. Las bases de datos de valores clave pueden acelerar la recuperación y el procesamiento de datos. Las bases de datos en memoria admiten el almacenamiento en caché y el análisis en tiempo real.

Consideraciones sobre la base de datos

Varios factores pueden influir en los tipos de bases de datos que una organización elige para una iniciativa específica. Algunos de los más sobresalientes incluyen:

  • Tipo de datos: cada tipo de base de datos maneja algunos tipos de datos mejor que otros. Por ejemplo, una base de datos de gráficos suele ser una mejor opción para correlacionar relaciones que una base de datos SQL.

  • Propósito: diferentes tipos de bases de datos también son más adecuados para diferentes aplicaciones. Por ejemplo, una base de datos vectorial suele ser la mejor opción para un marco RAG.  

  • Requisitos de rendimiento: si una aplicación extrae datos continuamente en tiempo real, la organización necesita una base de datos que optimice la velocidad de consulta. Sin embargo, si la organización necesita un lugar donde almacenar los datos antes de enviarlos a un almacén, el rendimiento podría ser menos importante.

  • Precio: la cantidad de datos que una organización necesita almacenar, el formato de los datos y los requisitos de rendimiento pueden contribuir al coste de la base de datos.

  • Escalabilidad: algunas bases de datos sólo pueden escalarse verticalmente, lo que significa que deben añadirse más recursos a un servidor o máquina existente. Otros pueden escalar horizontalmente, lo que significa que se pueden agregar más servidores para soportar la base de datos de manera distribuida.