Sistema de Gestión de Bases de Datos (DBMS)

¿Qué es un SGBD?

Un sistema de gestión de bases de datos (SGBD) es un middleware que permite a programadores, a administradores de bases de datos (ADB), a aplicaciones informáticas y a usuarios finales, almacenar, organizar, acceder, consultar y manipular datos en una base de datos.

Los SGBD son importantes porque proporcionan mecanismos eficientes y fiables para organizar, gestionar y utilizar grandes cantidades de datos, al mismo tiempo que garantizan la integridad de los datos y ofrecen otras ventajas en la gestión de datos.

En una empresa, los sistemas de gestión de bases de datos proporcionan a los administradores de bases de datos (DBA) un marco estructurado que facilita el intercambio de datos entre distintos departamentos, equipos y aplicaciones. El SGBD proporciona a los empleados un acceso controlado y organizado a los datos que pueden utilizar para impulsar la innovación y ayudar a su empresa a mantener una ventaja competitiva.

Historia de los sistemas de gestión de bases de datos

La historia de los sistemas de gestión de bases de datos se remonta a principios de la década de 1960, cuando los ordenadores empezaron a utilizarse para el tratamiento de datos. En aquella época, el concepto se solía denominar sistema de gestión de la información.

El primer sistema de gestión de bases de datos disponible comercialmente se denominó Integrated Data Store (IDS). Fue desarrollado por Charles W. Bachman y su equipo en General Electric (GE) a finales de la década de 1960.

IDS era un SGBD jerárquico que organizaba los datos en una estructura con ramificaciones, con relaciones padre-hijo entre los registros. Permitía a los usuarios almacenar, recuperar y gestionar datos de forma estructurada. IDS también introdujo el concepto de diccionario de datos, que definía la estructura y las relaciones de los datos dentro de la base de datos. Antes del IDS, los datos solían almacenarse en archivos planos y no existía ninguna norma sobre cómo debían almacenarse, consultarse o manipularse los archivos.

El IDS de Bachman se vio eclipsado por la aparición de las bases de datos relacionales y el lenguaje de consulta estructurado (SQL) en la década de 1970. Desde entonces, los productos y servicios SGBD han experimentado continuos avances que han mejorado el almacenamiento, la recuperación y la gestión de los datos.

Cronología: Evolución de los sistemas de gestión de bases de datos

Año Evento
1964 Desarrollo de la primera base de datos, un almacén de datos integrado (IDS), por Charles Bachman en General Electric.
1966 IBM presenta el Sistema de Gestión de la Información (IMS), un desarrollo conjunto con Rockwell y Caterpillar.
1970 Edgar F. Codd introduce el modelo relacional en un artículo titulado “A Relational Model of Data for Large Shared Data Banks”.
1974 Se crea el lenguaje de consulta estructurado (SQL).
1976 Peter Chen presenta el modelo entidad-relación en su artículo “The Entity-Relationship Model – Toward a Unified View of Data” (El modelo entidad-relación: hacia una visión unificada de los datos).
1979 Oracle lanza la primera base de datos relacional comercial que utiliza SQL.
1980 IBM presenta System R, el sistema de gestión de bases de datos relacionales basado en SQL.
1981 IBM lanza SQL/DS, el primer SGBD con todas las funciones que funciona en ordenadores personales.
1983 IBM lanza la primera versión de DB2 para servidores.
1986 Se publica el Manifiesto de los Sistemas de Bases de Datos Orientados a Objetos, que da un impulso significativo al desarrollo de las bases de datos orientadas a objetos.
1996 Lanzamiento de PostgreSQL, uno de los primeros sistemas de gestión de bases de datos relacionales de código abierto.
1998 MySQL, otro importante RDMS de código abierto, se lanza para Windows 95 y NT.
1998 Microsoft lanza SQL Server 7.0, una reescritura completa de su DBMS.
2000 Las nuevas empresas de Internet adoptan las bases de datos XML.
2004 El término “NoSQL” gana popularidad, dando lugar a una nueva generación de bases de datos no relacionales y distribuidas.
2006 Google publica un artículo sobre BigTable, su base de datos NoSQL interna, que influye en una nueva oleada de bases de datos NoSQL de código abierto.
2012 Amazon presenta DynamoDB, una base de datos NoSQL propia.
2013 Se lanza FoundationDB, una base de datos distribuida diseñada para manejar grandes volúmenes de datos estructurados.
2017 Google anuncia Spanner, una base de datos distribuida globalmente.
2020s Desarrollo e innovación continuos en la tecnología de SGBD, con especial atención a las bases de datos nativas de la nube, las bases de datos periféricas y las mejoras en la integración de la IA para la gestión de bases de datos. Las bases de datos de blockchain también se han convertido en un importante tema de interés.

Base de datos vs SGBD

Los términos “base de datos” y “sistema de gestión de bases de datos” suelen utilizarse indistintamente en conversaciones informales. Esto se debe probablemente a que, cuando los usuarios finales interactúan con una base de datos, no son conscientes del SGBD subyacente y de su papel diferenciado en la gestión de datos. Para aumentar la confusión, en algunos casos el SGBD está integrado directamente en el código de la aplicación. Esto hace aún menos evidente que se trata de un sistema independiente.

Para diferenciar ambos términos y utilizarlos correctamente, es útil entender sus respectivos papeles y funcionalidades: Una base de datos es una recopilación estructurada de datos. El sistema de gestión de bases de datos es el software que utilizan los desarrolladores, los usuarios finales y las aplicaciones para interactuar con una base de datos.

Componentes del SGBD

El componente central de todo SGBD se denomina motor de base de datos. Es el software que interactúa directamente con el sistema de almacenamiento subyacente o el sistema de archivos, y orquesta las interacciones entre los subcomponentes modulares que permiten al motor gestionar y manipular los datos en el sistema de base de datos. Incluye módulos o unidades para:

Copia de seguridad y recuperación: Estos módulos o unidades gestionan las operaciones de copia de seguridad y recuperación de datos para proteger contra la pérdida de datos o los fallos del sistema. Incluyen mecanismos para crear copias de seguridad de bases de datos, restaurar datos y realizar operaciones de recuperación.

Control de concurrencia y gestión de transacciones: Estos módulos gestionan el acceso simultáneo a la base de datos por parte de varios usuarios o aplicaciones. Gestionan los mecanismos de bloqueo y garantizan la coherencia de los datos.

Lenguaje de acceso a la base de datos: Este tipo de módulo permite al motor de la base de datos procesar e interpretar las consultas o comandos del usuario escritos en el lenguaje de acceso predeterminado. Analiza la sintaxis del lenguaje de consulta, valida la consulta con la información del catálogo y genera un plan de ejecución optimizado para recuperar o manipular los datos según lo solicitado.

Lenguaje de definición de datos (DDL): El módulo o unidad DDL permite a los usuarios definir la estructura y organización de los datos. Incluye comandos para crear, modificar y eliminar objetos de base de datos como tablas, vistas, índices y restricciones.

Diccionario de datos: El diccionario de datos (también denominado almacén de metadatos) almacena metadatos sobre la base de datos, incluida información sobre la estructura, las relaciones y las propiedades de los datos. El motor del SGBD utiliza este módulo para garantizar la coherencia de los datos y aplicar restricciones únicas.

Lenguaje de manipulación de datos (DML): El módulo o unidad DML proporciona comandos para manipular y recuperar datos dentro de la base de datos. Los usuarios pueden utilizar sentencias DML para insertar, actualizar, eliminar y consultar datos.

Almacenamiento de datos e inteligencia empresarial: Estos módulos o unidades facilitan la extracción, transformación y carga de datos de múltiples fuentes en un almacén de datos independiente. También son compatibles con el procesamiento analítico online (OLAP) y las herramientas de generación de informes para la inteligencia de negocios o business intelligence.

Indexación: La mayoría de los SGBD incluyen módulos o unidades de indexación para acelerar la ejecución de consultas reduciendo la cantidad de datos que hay que escanear.

Bloqueo: El componente de gestión de bloqueos de un SGBD se encarga de gestionar el control de la concurrencia. Evita conflictos y mantiene la coherencia de los datos garantizando que varios usuarios o transacciones no puedan modificar los mismos datos simultáneamente.

Registro y auditoría: Los SGBD suelen incluir módulos o unidades para las actividades de registro y auditoría de la base de datos. Los registros documentan los cambios en la base de datos -incluidas las inserciones, actualizaciones y eliminaciones-, así como los eventos del sistema, como las copias de seguridad y las recuperaciones. La auditoría consiste en supervisar y revisar estos registros para realizar un seguimiento de las acciones de los usuarios, mantener la integridad de los datos y ayudar a cumplir las políticas de seguridad.

Procesamiento de consultas: El procesador de consultas recibe e interpreta las consultas de los usuarios, las convierte en un plan de ejecución optimizado e interactúa con el motor de la base de datos para ejecutar las consultas de forma eficiente. Incluye submódulos para optimizar las consultas que tienen en cuenta factores como los índices disponibles, las operaciones conjuntas y los métodos de acceso a los datos.

Duplicación o copias: Algunos SGBD admiten la duplicación de datos, que consiste en crear y mantener varias copias de la base de datos en diferentes ubicaciones o servidores. La duplicación mejora la disponibilidad de los datos, la tolerancia a fallos y el rendimiento. Garantiza que si una copia de la base de datos deja de estar disponible, se pueda seguir accediendo a los datos desde otra copia.

Seguridad y autorización: Los módulos de seguridad y autorización controlan el acceso de los usuarios a la base de datos y garantizan la privacidad e integridad de los datos. Se encargan de la autentificación y la gestión de usuarios, y aplican mecanismos de control de acceso basados en el principio del mínimo privilegio (PoLP) en función de las funciones de los usuarios y los requisitos de su trabajo.

Almacenamiento: El motor de base de datos de un DBMS se comunica con un motor de almacenamiento para gestionar el almacenamiento físico de los datos. El motor de almacenamiento es responsable de gestionar los detalles de bajo nivel de cómo se almacenan y se accede a los datos, mientras que el motor de base de datos coordina y orquesta estas acciones para optimizar el funcionamiento general del sistema de gestión de bases de datos.

Interfaces de usuario: Estos módulos o unidades proporcionan interfaces de usuario que permiten a los programadores, administradores de bases de datos y usuarios finales interactuar con la base de datos. Pueden incluir interfaces de línea de comandos (CLI), gráficas de usuario (GUI) o de programación de aplicaciones (API) para la integración de software.

Políticas de usuario: Las políticas de usuario definen y aplican controles de acceso y políticas de seguridad internas. Especifican los permisos, funciones y privilegios y rigen la forma en que los usuarios pueden interactuar con una base de datos.

SGBDR vs. SGBD

Un sistema de gestión de bases de datos relacionales (SGBDR) es un tipo de sistema de gestión de bases de datos. Todos los SGBDR son SGBD, pero no todos los sistemas de gestión de bases de datos son sistemas de gestión de bases de datos relacionales.

SGBD RDBMS
Se pueden utilizar distintos tipos para gestionar varios tipos de modelos de bases de datos Sólo puede gestionar el modelo de base de datos relacional
Los distintos tipos pueden almacenar datos en estructuras diferentes Siempre almacena los datos en tablas con filas y columnas
Los distintos tipos pueden imponer o no la integridad de los datos de forma automática. Refuerza automáticamente la integridad de los datos mediante restricciones como la clave primaria, la clave única y la clave externa.
Los distintos tipos pueden utilizar lenguajes o técnicas diferentes para manipular los datos Utiliza siempre SQL (lenguaje de consulta estructurado)

Tipos de sistemas de gestión de bases de datos

Hasta principios de siglo, los sistemas de gestión de bases de datos se clasificaban en relacionales o no relacionales, en función de su estructura y usos. Si el SGBD almacenaba los datos en tablas, se denominaba SGBD relacional (SGBDR). Si no almacenaba datos en tablas, se denominaba NoSQL o SGBD no relacional.

Hoy en día, los sistemas de gestión de bases de datos se siguen clasificando como SGBDR o no SGBDR, pero también se clasifican por las ventajas únicas que ofrecen. Los tipos de SGBD incluyen:

Sistemas de gestión de bases de datos en la nube: los SGBD en la nube como Amazon Aurora están diseñados para gestionar datos distribuidos almacenados en los centros de datos remotos de un proveedor en la nube.

Sistemas de gestión de bases de datos en columnas: los SGBD en columnas como Apache Cassandra devuelven las consultas más rápido al almacenar los datos en columnas en lugar de filas. Este esquema facilita que las aplicaciones de análisis de datos e inteligencia empresarial trabajen con grandes conjuntos de datos.

Sistemas de Gestión de Bases de Datos Distribuidas – Las funcionalidades DDBMS como las que se encuentran en el ecosistema Apache Hadoop están diseñadas para garantizar la integridad de los datos para bases de datos relacionadas lógicamente a través de múltiples ubicaciones o entornos informáticos.

Sistemas de gestión de bases de datos gráficas: estos sistemas están diseñados para soportar bases de datos gráficas que almacenan relaciones a nivel de registro individual. Los Graph DBMS como Neo4j son ideales para gestionar datos con relaciones interconectadas, como los datos de las redes sociales.

Sistemas de gestión de bases de datos jerárquicas – Los sistemas de gestión jerárquicos están diseñados para soportar bases de datos organizadas en relaciones padre-hijo. Este tipo de SGBD tiene sus raíces en la informática mainframe y sus usos actuales son limitados.

Sistemas de gestión de bases de datos HTAP – Los SGBD híbridos de procesamiento transaccional/analítico están diseñados para soportar cargas de trabajo mixtas de datos transaccionales y analíticos. Los sistemas de bases de datos tradicionales suelen tener sistemas separados para las cargas de trabajo de procesamiento de transacciones en línea (OLTP) y de procesamiento analítico en línea (OLAP). Los sistemas de gestión HTAP como SAP HANA y CockroachDB proporcionan una plataforma unificada que puede gestionar ambos tipos de tareas simultáneamente.

Sistemas de gestión de bases de datos in-memory – Los sistemas de gestión en memoria están diseñados para reducir la latencia utilizando la memoria principal para la gestión y el almacenamiento de datos. Volt Active Data y otros IMDBMS hacen que la recuperación de datos sea significativamente más rápida y mejoran el rendimiento general del sistema.

Sistema de gestión de bases de datos orientado a objetos (OODBMS) – db4o es un ejemplo de este tipo de DBMS. Los OODMBS están diseñados para gestionar estructuras de datos complejas como objetos de almacenamiento.

Sistemas de gestión de bases de datos NewSQL – Los SGBD NewSQL, como PostgreSQL, ofrecen las ventajas de escalabilidad y rendimiento de las bases de datos NoSQL, al tiempo que conservan las propiedades ACID de las bases de datos relacionales tradicionales. Este tipo de DBMS está diseñado para entornos distribuidos a gran escala y puede manejar cargas de trabajo transaccionales de alto rendimiento.

Sistemas de gestión de bases de datos de series temporales – Los SGBD de series temporales, como InfluxDB, optimizan el almacenamiento, la recuperación y el análisis de datos temporales. A menudo se utilizan para respaldar análisis financieros y sistemas de supervisión de Internet of Things (IoT).

Sistemas de gestión de bases de datos conocidos

Algunos ejemplos de SGBD conocidos son:

Microsoft Access logo Acceda a – un sistema ligero de gestión de bases de datos relacionales (RDMS) incluido en Microsoft Office y Office 365.
Amazon RDS logo Amazon RDS – a native cloud DBMS que ofrece motores para gestionar bases de datos MySQL, Oracle, SQL Server, PostgreSQL y Amazon Aurora.
Apache Cassandra logo Apache Cassandra – un sistema de gestión de bases de datos distribuidas de código abierto conocido por su capacidad para manejar cantidades de datos enormes.
Filemaker logo Filemaker – un código bajo/sin código (LCNC) SGBD relacional.
Google Cloud Spanner logo Llave en mano de Google Cloud — un servicio de base de datos relacional globalmente distribuido, horizontalmente escalable y fuertemente consistente ofrecido por Google Cloud.
IBM DB2 logo IBM Db2 — Un grupo de sistemas de gestión de bases de datos relacionales desarrollado por IBM que ofrece varias ediciones para distintos entornos y cargas de trabajo.
MariaDB logo MariaDB – una base de datos relacional de código abierto bifurcación de MySQL.
Microsoft Azure SQL Database logo Base de datos Microsoft Azure SQL — un servicio de base de datos relacional basado en la nube proporcionado por Microsoft Azure que ofrece bases de datos SQL totalmente gestionadas.
MongoDB logo MongoDB — Un popular sistema de gestión de bases de datos NoSQL que utiliza un esquema orientado a documentos para ofrecer una gran escalabilidad y flexibilidad.
MySQL logo MySQL – un sistema de gestión de bases de datos relacionales de código abierto (RDBMS) propiedad de Oracle.
Oracle RDMS logo Oracle – un RDMS propio optimizado para nube híbrida arquitecturas.
PostgreSQL logo PostgreSQL — un sistema de gestión de bases de datos relacionales de código abierto conocido por su solidez, escalabilidad y amplio conjunto de funciones.
SAP HANA logo SAP HANA — un SGBDR en memoria, orientado a columnas y optimizado para ingesta de datos en tiempo real y análisis de alto rendimiento. 
SQL Server logo Servidor SQL – un sistema de gestión de bases de datos relacionales de nivel empresarial de Microsoft capaz de manejar volúmenes de datos extremadamente grandes y consultas a la base de datos.
SQLite logo SQLite — un sistema ligero basado en archivos motor de base de datos relacional que se utiliza ampliamente en sistemas insertados y aplicaciones móviles.
Teradata logo Teradata – un poderoso Motor SQL que ofrece soluciones expansibles para gestionar y analizar grandes volúmenes de datos.

Ventajas de utilizar un SGBD

Los sistemas de gestión de bases de datos SGBD son especialmente cruciales en situaciones en las que varios usuarios o aplicaciones interactúan simultáneamente con las mismas bases de datos. El SGBD salvaguarda contra conflictos y errores con mecanismos de control de concurrencia que garantizarán que, incluso en escenarios de alto tráfico, la integridad de los datos permanezca intacta.

Otra ventaja es que los sistemas de gestión de bases de datos ofrecen una amplia gama de características, mecanismos y funcionalidades de seguridad. Los administradores pueden definir reglas de control de acceso, asignar funciones a los usuarios y especificar permisos para garantizar que sólo las personas autorizadas puedan introducir, acceder y manipular datos.

Los sistemas de gestión de bases de datos (SGBD) son herramientas útiles para el cumplimiento de la normativa, ya que ofrecen funciones de auditoría y registro para rastrear y supervisar el uso y las modificaciones de los datos.

Por ejemplo, un SGBD puede ayudar a los administradores a gestionar el ciclo de vida de los datos mediante la aplicación de políticas de retención, archivo y eliminación de datos. Un SGBD también puede ayudar a aplicar controles de privacidad proporcionando mecanismos que hacen anónimos o encriptan los datos sensibles.

Retos de los sistemas de gestión de bases de datos

Aunque los sistemas de gestión de bases de datos han revolucionado la forma en que las pequeñas y grandes empresas manejan y gestionan los datos, la curva de aprendizaje para la implantación y gestión de un SGBD empresarial puede resultar complicada. Esto es especialmente cierto si el SGBD debe integrarse con sistemas de planificación de recursos empresariales (ERP) o plataformas de gestión de relaciones con los clientes (CRM).

La implantación de un nuevo SGBD también puede resultar cara. Incluso las medianas empresas tendrán que contratar a un administrador de bases de datos cualificado para garantizar que el SGBD se configura, mantiene y optimiza correctamente. El coste de las licencias, la infraestructura de hardware, las actualizaciones de software y los gastos de mantenimiento continuo también pueden sobrecargar los presupuestos, especialmente en el caso de las empresas más pequeñas.

El futuro de los SGBD

Los SGBD actuales están incorporando tecnologías de vanguardia como la inteligencia artificial (IA), machine learning (ML) y blockchain para hacer frente a los retos del big data, y ayudar a las organizaciones a seguir cumpliendo las normativas y estándares pertinentes para la gestión de datos.

  • Los SGBD equipados con capacidades de IA y ML pueden automatizar tareas como la optimización de consultas, la indexación de datos y la detección de anomalías. Los sistemas inteligentes de gestión de bases de datos pueden aprender de los patrones de datos, adaptarse a las cargas de trabajo cambiantes y optimizar el rendimiento de forma autónoma.
  • Las bases de datos habilitadas para Blockchain pueden proporcionar un almacenamiento de datos inmutable y transparente y permitir transacciones seguras y auditables. Este tipo de sistema de gestión de bases de datos elimina la necesidad de autoridades centrales al tiempo que mejora la integridad de los datos. Por eso son ideales para sectores como las finanzas, la cadena de suministro y sanidad, donde los riesgos y el impacto de la manipulación de datos son significativos.
  • Los SGBD con capacidades de procesamiento de flujos incorporadas se están convirtiendo en vitales para casos de uso como el análisis en tiempo real, la detección de fraudes y las experiencias personalizadas de los clientes. Con el auge del Internet of Things (IoT) y las fuentes de datos en streaming, los SGBD tendrán que gestionar el procesamiento de datos en tiempo real de forma aún más eficiente.

Temas relacionados

Margaret Rouse

Margaret Rouse es una galardonada escritora técnica y profesora conocida por su habilidad para explicar temas técnicos complejos a una audiencia de negocios no técnica. Durante los últimos veinte años, sus explicaciones han aparecido en sitios web de TechTarget y ha sido citada como autoridad en artículos del New York Times, Time Magazine, USA Today, ZDNet, PC Magazine y Discovery Magazine. La idea de diversión de Margaret es ayudar a profesionales de TI y negocios a aprender a hablar los idiomas altamente especializados de cada uno. Si tienes una sugerencia para una nueva definición o cómo mejorar una explicación técnica,…