La administración de bases de datos es un conjunto de actividades que permiten mantener la continuidad o disponibilidad en el servicio de las bases de datos, asegurar su integridad y favorecer el óptimo performance del motor de base de datos. Esta tarea es realizada por el DBA o Administrador de bases de datos por medio de herramientas, guías y metodologías especializadas. Algunas de las tareas principales de un DBA son:
- Implementar, dar soporte y gestionar las bases de datos por medio de la utilización de las herramientas o comandos SQL especializados.
- Asegurar la integridad de la información asegurándose de que el diseño de las bases de datos siga las mejores prácticas de modelado como las formas normales y teniendo constante comunicación con los desarrolladores y con los usuarios finales de las bases de datos.
- Performance & Tuning por medio del monitoreo constante y persistente de los elementos de la base de datos que permitan detectar problemas de rendimiento, cuellos de botella o baja en el rendimiento y tomando las medidas necesarias para mejorar el rendimiento (tuning) aplicando cambios a la infraestructura o apoyando a los desarrolladores a mejorar sus consultas SQL.
- Diseñar y administrar el almacenamiento para asegurar la integridad, seguridad y rendimiento del acceso físico a los datos.
- Implementar mecanismos de seguridad asegurándose de que los permisos y privilegios de uso sean los mínimos indispensables para cada aplicación y usuario.
- Apoyar en la planeación de las aplicaciones propias y de terceros por medio del apoyo a los equipos de desarrollo para que estos realicen las transacciones de la mejor manera en la base de datos y por medio de la aplicación de metodologías de mejora de la calidad como las formas normales.
- Elaborar -o participar en la elaboración- de los diferentes planes de contingencia para minimizar los riesgos que se detecten con otras áreas de la organización.
- Documentar la base de datos, configuraciones, tareas, etc. de tal manera que exista una base de conocimientos que pueda utilizarse por el personal de administración de las bases de datos y que permita detectar patrones de comportamiento que sean de utilidad en el futuro.
Áreas de acción en la administración de bases de datos
Existen diversas áreas que caen dentro del ámbito de acción de la administración de bases de datos, y en general se dividen en cinco grandes apartados
- Hardware
- Software
- Datos
- Usuarios
- Aplicaciones (propias y de terceros)
Hardware
Incluye toda aquella infraestructura física administrada por el DBA. Esto incluye, entre otras actividades:
- Servidores individuales o granjas de servidors o clusters.
- Balanceadores de cargas, cuando fuera necesario.
- Arreglos de discos (tipo, disposición).
- Memoria disponible por los servidores y por los diversos servicios del motor de bases de datos.
- Conectividad entre servidores de bases de datos y aplicaciones. Si bien esta es una tarea específica del área de comunicaciones, el DBA regularmente aporta elacceso y diversas pruebas de comunicación para detectar posibles riesgos o fallas.
- Planeación de la capacidad para poder establecer un parámetro de crecimiento y hacer las previsiones necesarias en cuanto a almacenamiento se requiere.
Software
Esto incluye toda la infraestructura de aplicaciones de sistema que son utilizadas en los servidores de bases de datos como:
- Sistemas operativos; controlando versiones, idiomas y configuración.
- Balanceadores de carga (de software).
- Arreglos de discos.
- Motor de bases de datos (versión, edición, idioma).
- Herramientas de terceros para realizar monitoreo, respaldos, en temas de seguridad, etc.
- ODBC, JDBC, OLE DB y todos aquellos componentes de comunicación entre las aplicaciones y los servidores de bases de datos.
- Mantener las actualizaciones a todo lo anterior, elaborando los planes de actualización y las pruebas pertinentes junto con las áreas involucradas.
- Administración de las licencias y permisos de todas las piezas de software utilizadas en las bases de datos.
Datos
Consiste en la administración y conocimiento sobre los datos de la organización y que están almacenadas en las bases de datos. No solo se refiere a los datos, si no a su modelado y configuración para mejorar los tiempos de respuesta, aumentar la disponibilidad y aumentar su seguridad. Esto incluye administrar, elaborar o configurar
- Del lado de las bases de datos elementos como estadísticas, índices, fragmentación de la información, etc.
- Respaldos y su resguardo para utilización en caso de ser necesario.
- Réplicas de las bases de datos que así se considere adecuado.
- Participar en la recuperación de la información cuando se presenten contingencias o se realicen migraciones.
- Conocer las bases de datos, su contenido, crecimiento e importancia para realizar una adecuada planeación de la capacidad.
- Administrar los Metadatos por medio de elaboración de la documentación requerida, administración de bases de conocimientos o cualquier repositorio establecido.
- Documentación de las actividades realizadas y programadas para la administración de las bases de datos.
Usuarios
- Administración de los usuarios del Sistema gestor de bases de datos, incluyendo los desarrolladores, usuarios de las aplicaciones y usuarios finales, por medio de la configuracíón de permisos o privilegios.
- Controlar la vigencia de los derechos de acceso
- Establecer o apoyar enla elaboración de las políticas de seguridad
- Apoyar en la capacitación de los usuarios finales o desarrolladores para hacer un uso eficiente, racional y adecuado de las bases de datos.
Aplicaciones
Si bien las aplicaciones son piezas de software, este apartado se refiere no a las aplicaciones de sistema como sistemas operativos, si no a las aplicaciones desarrolladas en la organización o adquiridas a untercero y que son las que utilizan y alimentas a las bases de datos del usuario. Estas tareas incluyen:
- Configuraciones y actualizaciones de las aplicaciones.
- Verificar que las aplicaciones no constituyan un riesgo de seguridad para la organización
- Medición del performance de las aplicaciones para detectar posibles cuellos de botella o para detectar áreas de oportunidad para mejorar el performance o rendimiento de las bases de datos.
- Apoyo en el Tuning de aplicaciones por medio de las herramientas con que cuenta el DBA y aplicando las mejores prácticas de modelado y mejora del rendimiento.