Sistema de gestión de bases de datos o DBMS
Un sistema de administración de bases de datos (DBMS) es un software de sistema para crear y administrar bases de datos. El DBMS proporciona a los usuarios y programadores una forma sistemática de crear, recuperar, actualizar y administrar datos. Un DBMS también permite a los usuarios finales crear, leer, actualizar y eliminar datos en una base de datos. El DBMS esencialmente sirve como una interfaz entre la base de datos y los usuarios finales o programas de aplicación, asegurando que los datos estén organizados de manera consistente y permanezcan fácilmente accesibles.
El DBMS gestiona tres cosas importantes: los datos, el motor de la base de datos que permite acceder a los datos, bloquearlos y modificarlos, y el esquema de la base de datos, que define la estructura lógica de la base de datos. Estos tres elementos fundamentales ayudan a proporcionar concurrencia, seguridad, integridad de datos y procedimientos de administración uniformes. Las tareas típicas de administración de la base de datos compatibles con el DBMS incluyen la gestión de cambios, el monitoreo y/o ajuste del rendimiento, así como las copias de seguridad y la recuperación. Muchos sistemas de gestión de bases de datos también son responsables de las reversiones, reinicios y recuperación automatizados, así como del registro y la auditoría de la actividad.
El DBMS es quizás más útil para proporcionar una vista centralizada de datos a los que pueden acceder múltiples usuarios, desde múltiples ubicaciones, de manera controlada. Un DBMS puede limitar qué datos ve el usuario final, así como la forma en que ese usuario final puede ver los datos, proporcionando muchas vistas de un único esquema de base de datos. Los usuarios finales y los programas de software no tienen que comprender dónde se encuentran físicamente los datos o en qué tipo de medios de almacenamiento residen porque el DBMS maneja todas las solicitudes.
El DBMS puede ofrecer independencia de datos tanto lógica como física. Eso significa que puede proteger a los usuarios y las aplicaciones de la necesidad de saber dónde se almacenan los datos o tener que preocuparse por los cambios en la estructura física de los datos (almacenamiento y hardware). Mientras los programas usen la interfaz de programación de aplicaciones (API) para la base de datos que proporciona el DBMS, los desarrolladores no tendrán que modificar los programas solo porque se hayan realizado cambios en la base de datos.
Con los DBMS relacionales (RDBMS), esta API es SQL, un lenguaje de programación estándar para definir, proteger y acceder a datos en un RDBMS.
Tipos populares de DBMS
Los modelos de bases de datos populares y sus sistemas de gestión incluyen:
Sistema de gestión de bases de datos relacionales (RDMS): adaptable a la mayoría de los casos de uso, pero los productos RDBMS Tier-1 pueden ser bastante caros.
NoSQL DBMS: adecuado para estructuras de datos poco definidas que pueden evolucionar con el tiempo.
Sistema de gestión de bases de datos en memoria (IMDBMS): proporciona tiempos de respuesta más rápidos y un mejor rendimiento.
Sistema de gestión de bases de datos en columnas (CDBMS): adecuado para almacenes de datos que tienen una gran cantidad de elementos de datos similares.
Sistema de gestión de datos basado en la nube: el proveedor de servicios en la nube es responsable de proporcionar y mantener el DBMS.
Ventajas de un DBMS
El uso de un DBMS para almacenar y administrar datos conlleva ventajas, pero también gastos generales. Una de las mayores ventajas de usar un DBMS es que permite que los usuarios finales y los programadores de aplicaciones accedan y usen los mismos datos mientras administran la integridad de los datos. Los datos se protegen y mantienen mejor cuando se pueden compartir utilizando un DBMS en lugar de crear nuevas iteraciones de los mismos datos almacenados en nuevos archivos para cada nueva aplicación. El DBMS proporciona un almacén central de datos al que pueden acceder múltiples usuarios de manera controlada.
El almacenamiento central y la gestión de datos dentro del DBMS proporciona:
- Extracción de datos e independencia
- Seguridad de datos
- Un mecanismo de bloqueo para acceso concurrente
- Un controlador eficiente para equilibrar las necesidades de múltiples aplicaciones que utilizan los mismos datos
- La capacidad de recuperarse rápidamente de accidentes y errores, incluyendo la capacidad de reinicio y la capacidad de recuperación
- Robustas capacidades de integridad de datos
- Registro y auditoría de la actividad
- Acceso simple usando una interfaz de programación de aplicaciones (API) estándar
- Procedimientos uniformes de administración de datos
Otra ventaja de un DBMS es que puede usarse para imponer una organización lógica y estructurada en los datos. Un DBMS ofrece economía de escala para procesar grandes cantidades de datos porque está optimizado para tales operaciones.
Un DBMS también puede proporcionar muchas vistas de un único esquema de base de datos. Una vista define qué datos ve el usuario y cómo ese usuario ve los datos. El DBMS proporciona un nivel de abstracción entre el esquema conceptual que define la estructura lógica de la base de datos y el esquema físico que describe los archivos, índices y otros mecanismos físicos utilizados por la base de datos. Cuando se utiliza un DBMS, los sistemas se pueden modificar mucho más fácilmente cuando cambian los requisitos del negocio. Se pueden agregar nuevas categorías de datos a la base de datos sin interrumpir el sistema existente y es posible aislar las aplicaciones se pueden de la forma en que se estructuran y almacenan los datos.
Por supuesto, un DBMS debe realizar un trabajo adicional para proporcionar estas ventajas, trayendo consigo la sobrecarga. Un DBMS usará más memoria y CPU que un simple sistema de almacenamiento de archivos. Y, por supuesto, diferentes tipos de DBMS requerirán diferentes tipos y niveles de recursos del sistema.
Cambios en cómo se construyen, venden y mantienen los DBMS
Para 2019, las tendencias más significativas en el sector DBMS fueron cómo se construyeron las bases de datos y cómo se usaron. Los DBMS de código abierto estaban ganando rápidamente tracción. De hecho, Gartner proyectó que el 10% del gasto total en software de base de datos para 2019 se debe a una mayor adopción de la empresa. La mayoría de las organizaciones de TI convencionales utilizan software de código abierto en algunas de sus operaciones de misión crítica.
Esta tendencia complementa otras dos tendencias: la adquisición de proveedores de bases de datos de código abierto por parte de rivales más grandes y la expansión del mercado de servicios de bases de datos basadas en la nube. En 2019, MongoDB, fabricante de la plataforma de nube Atlas, adquirió el fabricante de bases de datos de aplicaciones móviles Realm para impulsar. Y Microsoft adquirió Citrus Data, cuyo software de código abierto permite que PostgreSQL se use como una base de datos distribuida en una configuración de nube pública.