¿Qué es un gestor de base de datos?
Un gestor de base de datos —en inglés DBMS, Database Management System— es el programa que administra la base de datos. No es la base de datos: es el software que está en el medio, entre los datos guardados y quien los quiere usar.
La distinción es importante y suele confundirse. La base de datos es el conjunto de información; el gestor es el programa que la lee, la escribe, la protege y la ordena. Cuando alguien dice "uso MySQL", está nombrando al gestor, no a los datos.
Por qué hace falta
Sin un gestor, un programa que necesita guardar datos tendría que encargarse de todo: saber en qué parte del disco está cada cosa, decidir cómo se organizan los bytes, cuidar que dos usuarios no escriban a la vez sobre el mismo dato, y recuperar la información después de un corte de luz. El gestor hace ese trabajo una sola vez, y todos los programas que lo usan se benefician de él.
Qué hace un gestor
Las funciones de un gestor son muchas, pero se pueden agrupar en siete tareas. Conviene conocerlas porque cada una responde a un problema concreto que aparecería si no estuviera.
| Función | Qué resuelve | Ejemplo |
|---|---|---|
| Definir la estructura | Permite crear y modificar tablas, campos y relaciones sin tocar el disco a mano. | CREATE TABLE clientes (...) |
| Consultar y modificar | Es el que ejecuta las consultas y devuelve los datos. | SELECT, INSERT, UPDATE, DELETE |
| Controlar los accesos | Define quién puede ver y modificar qué. Un vendedor no necesita ver los sueldos. | Usuarios y permisos |
| Cuidar la integridad | Hace cumplir las reglas: que no haya dos documentos iguales, que una venta no quede sin cliente. | Claves primarias y foráneas, restricciones |
| Administrar transacciones | Garantiza que un conjunto de operaciones se aplique completo o no se aplique. | COMMIT y ROLLBACK |
| Organizar el acceso simultáneo | Evita que dos usuarios escribiendo a la vez se pisen entre sí. | Aislamiento entre transacciones |
| Respaldar y recuperar | Permite hacer copias de seguridad y volver atrás después de una falla. | Respaldos y registro de transacciones |
Hay una octava tarea que no se ve y que es igual de importante: optimizar las consultas. Cuando se le pide un dato, el gestor decide cómo buscarlo —si usa un índice o recorre toda la tabla— y esa decisión es la diferencia entre una respuesta instantánea y una que tarda minutos.
Cómo está organizado
Aunque se lo imagine como un programa único, un gestor siempre funciona en dos partes: una que atiende a quien hace la consulta, y otra que trabaja con los archivos. Entre las dos hay una capa de software que es la que hace el trabajo pesado.
Esa separación explica una ventaja muy concreta: se puede cambiar el disco por otro más rápido, o mover los archivos a otro servidor, sin que las aplicaciones se enteren. Como todos hablan con el gestor y nunca con el disco directamente, para ellas nada cambió.
Los gestores más usados
Estos son los gestores que aparecen una y otra vez, tanto en la industria como en la escuela. Los primeros cinco son relacionales, o sea que organizan los datos en tablas.
| Gestor | Quién lo mantiene | Dónde se lo encuentra |
|---|---|---|
| MySQL | Oracle | El más difundido en aplicaciones web. Es el que usa la mayoría de los sitios hechos con PHP. |
| MariaDB | Comunidad | Nació como alternativa libre a MySQL y es totalmente compatible. Es el que viene en muchos servidores y en XAMPP. |
| PostgreSQL | Comunidad | Muy usado en aplicaciones serias y con datos complejos. Es el más respetuoso del estándar SQL. |
| SQL Server | Microsoft | Empresas que trabajan con Windows y con las herramientas de Microsoft. |
| Oracle Database | Oracle | Grandes empresas, bancos y organismos. Es muy potente y muy costoso. |
| SQLite | Comunidad | Aplicaciones de escritorio y celulares. No necesita un servidor: la base entera es un archivo. |
También existen gestores no relacionales, como MongoDB, que guardan la información en documentos en lugar de tablas. Se los llama NoSQL, y se usan cuando la estructura de los datos cambia mucho o cuando el volumen es enorme.
Cuadro comparativo
Más allá de las marcas, los gestores se diferencian por unas pocas características que son las que realmente importan al momento de elegir.
| Gestor | Licencia | Costo | Facilidad de instalación | Ideal para |
|---|---|---|---|---|
| MySQL | Libre | Gratis | Alta | Aprender y hacer aplicaciones web |
| MariaDB | Libre | Gratis | Alta | Lo mismo que MySQL, con licencia más abierta |
| PostgreSQL | Libre | Gratis | Media | Datos complejos y aplicaciones que van a crecer |
| SQL Server | Propietaria | Según edición | Media | Organizaciones que ya usan tecnología Microsoft |
| Oracle | Propietaria | Alto | Baja | Sistemas críticos de gran escala |
| SQLite | Libre | Gratis | Muy alta | Aplicaciones chicas y proyectos de un solo equipo |
Cómo se elige uno
La elección de un gestor suele presentarse como una decisión técnica complicada, y en la práctica casi nunca lo es. Estos son los criterios que verdaderamente pesan, ordenados de mayor a menor importancia:
| Criterio | Por qué importa |
|---|---|
| Lo que ya está instalado | Es el criterio que decide la mayoría de las veces. Si la institución o el hosting ya tienen un gestor funcionando, esa es la respuesta. |
| Quién lo va a mantener | Un gestor que nadie sabe administrar es un problema esperando. Vale más uno conocido que uno mejor. |
| La licencia y el costo | Para un proyecto educativo, un gestor libre evita todo el problema del presupuesto y las licencias. |
| El volumen de datos | Para pocos miles de registros, cualquier gestor relacional alcanza. El tamaño solo importa en escalas grandes. |
| Las herramientas disponibles | Que exista una herramienta gráfica cómoda (phpMyAdmin, DBeaver) hace una diferencia enorme al aprender. |
| Con qué se conecta | El lenguaje con el que se va a programar tiene que tener soporte para ese gestor. Todos los lenguajes actuales lo tienen para los gestores conocidos. |
Resumen
| Concepto | La idea que hay que recordar |
|---|---|
| Gestor de base de datos | El programa que administra la base de datos. No es la base: es el software del medio. |
| Por qué hace falta | Hace una sola vez el trabajo difícil: disco, concurrencia, recuperación y seguridad. |
| Sus funciones | Definir, consultar, controlar accesos, cuidar la integridad, administrar transacciones, organizar la concurrencia y respaldar. |
| Está en dos partes | Una parte atiende las consultas y otra trabaja con los archivos. |
| Relacionales | MySQL, MariaDB, PostgreSQL, SQL Server, Oracle. |
| No relacionales | MongoDB y otros, que guardan documentos en lugar de tablas. |
| Cómo se elige | Lo que ya está instalado y lo que alguien sabe mantener, antes que lo más famoso. |