Lectura 4 - Being a DBA

martes, 20 de enero de 2009

INTRODUCCIÓN

En el siguiente resumen se da a conocer lo que es un Data Base Administrator y las responsabilidades que este debe tener, así como los 5 diferentes tipos de administrador de bases de datos que existen y las funciones o tareas que cada uno de estos es encargado de realizar, incluso presentamos un breve diagrama que muestra como nos podemos convertir en DBA y las habilidades necesarias que se debe obtener en cada fase para que un DBA tenga un crecimiento progresivo en su carrera. A continuación se desglosa cada uno de los aspectos antes mencionados.

Ser un DBA (Data Base Administrator)

RESPONSABILIDADES DE UN DBA

El asegurar la validez y la recuperación de datos en la base de datos son los trabajos más importantes de un DBA.
Algunos ejemplos de responsabilidades de los Data Base Administrators incluyen:

* Dando acceso a usuarios ad hoc a la base de datos.
* Permitiendo a los reveladores directos acceder a la producción de la base de datos.
* Aplicando cambios de aplicaciones no comprobadas.

Otras responsabilidades de un DBA ya sean directas o indirectamente relacionadas a las metas primarias, incluyen el asegurar que:

* Los datos estén seguros y solamente usuarios relevantes puedan hacer cambios de datos.
* Solo se le pueden hacer cambios válidos a los datos.
* Los datos estén disponibles para los usuarios.
* Los datos sean accesibles en una manera oportuna.


TIPOS DE DBA

Existen diferentes tipos de DBA, estos son:

Junior DBA
Senior DBA
Production DBA
Development DBA
Consultant DBA

JUNIOR DBA:

Es alguien relativamente nuevo para el rol de Data Base Administrator, maneja las operaciones de día a día asociadas con uno o más servidores de bases de datos, incluyendo:
Comprobando que los respaldos de la base de datos sea completada sin edición.
Comprobando que otros trabajos que estén en agenda y los trabajos de mantenimiento de la base de datos se completen sin edición.
Dando acceso a las bases de datos a usuarios autorizados
El junior DBA le reporta al Senior DBA. Ediciones que el junior DBA no pueda resolver son pasadas al senior DBA para atención.


COMPROBACIÓN DE RESPALDOS

Los respaldos pueden ser automatizados para mandar mensajes en fallas y/o en la terminación, así que el proceso de checar por respaldos fallidos debe incluir escanear un correo de notificación por fallas. Si se encontró un respaldo con fallo, el junior DBA volverá a recorrer el proceso de respaldo para asegurar que se haya tomado un buen respaldo de la base de datos.
El Junior DBA probará el proceso de restauración en una base periódica. Cualquier falla de respaldo repetida, u otras ediciones involucradas con restauración serán extendidas al Senior DBA.

COMPROBACIÓN DE TRABAJOS

Muchas bases de datos corren otros trabajos regulares. Estos deben ser trabajos extraídos para poblar un almacén de datos, por ejemplo, o para el mantenimiento de los procedimientos de la base de datos. Usualmente es responsabilidad del junior DBA asegurar que estos trabajos se completen sin errores.

MANTENIENDO USUARIOS

Para acceder a una base de datos, necesitas ser autenticado para asegurar que te sea permitido ver los datos que quieres. El junior DBA toma la responsabilidad de asignar o retirar la habilidad de usuarios para acceder a la base en línea de SQL server con un requerimiento del negocio. Dependiendo del tipo de autenticación usado, contraseñas deben necesitar ser asignadas y mantenidas.

SENIOR DBA

El Senior DBA esta más envuelto con el lado de manejo y la planeación del ambiente de la base de datos. Este también interactúa con los manejadores de negocios para identificar cualquier edición potencial que los negocios deben experimentar relacionado con las aplicaciones de la base de datos. Incluso está envuelto con los equipos del proyecto que implementan aplicaciones nuevas.
Las responsabilidades del senior DBA incluyen:

PROPIEDAD DEL AMBIENTE DE LA BASE DE DATOS

Como propietario, el Senior DBA toma la responsabilidad para resolver problemas serios que previenen usuarios de acceder a la base de datos. También escribe y hace cumplir reglas de uso, así que estas ediciones no suceden en el futuro.
Los Senior DBA establecen los procesos y procedimientos para que sean usados por el Junior DBA al administrar el ambiente, así como mantienen el control de toda cualidad de administración.

PLANEAMIENTO DE CAPACIDAD

Planear para sistemas nuevos o para crecimiento futuro, es una de las tareas más importantes del Senior DBA. Antes de que una aplicación a la base de datos sea implementada, el senior DBA va a interactuar con el cliente para aumentar el entendimiento de cómo la base de datos será usada durante todo su tiempo de vida. Este también determinará el hardware, software, e infraestructura requerida para soportarlo.
Los requerimientos de aplicaciones de bases de datos pueden cambiar dinámicamente durante su tiempo de vida. La temprana detección de baja capacidad en un nivel de hardware, permite tiempo para la capacidad de aumentar antes de que la aplicación de base de datos comience a sufrir por estar baja de recursos.

AYUDA DINÁMICA

La temprana detección de problemas potenciales mejora significativamente la confiabilidad del ambiente de la base de datos. Tal como permita que se resuelvan problemas antes de que empiecen a impactar usuarios de base de datos. Incluso reduce significativamente el tiempo que el DBA gasta “apagando fuegos”.

CONSTRUYENDO SERVIDORES

El Senior DBA construye servidores para el ambiente de producción. Después de que la instalación sea completada, el Senior DBA configura el servidor para el nivel apropiado requerido de seguridad para la aplicación de la base de datos y agrega otros requerimientos necesarios. Si el servidor va a estar sirviendo cargas de trabajo de transacción alta, el Senior DBA debe correr algún software de prueba para asegurar que el servidor puede cumplir adecuadamente los requisitos de la carga.
Una vez que el servidor ha sido configurado y probado, puede ser instalado en el ambiente de producción, donde el manejador de respaldos, trabajos, y usuarios se harán responsabilidad del junior DBA.

PETICIONES DE ESCALADA

El Senior DBA usa la información que le provee el junior DBA para investigar la causa del problema e implementar cualquier remedio necesario.

GERENCIA DEL EQUIPO

A veces el senior DBA tiene responsabilidades de staff sobre un equipo de junior DBAs. En esos casos el Senior DBA es requerido para manejar la trayectoria del desarrollo de junior DBAs, asegurándose que estos estén cumpliendo con los requerimientos ya establecidos.

ENTRENAMIENTO Y AYUDA

Es un requerimiento para senior DBAs existentes para que permitan entrenar a los junior DBAs y ayudarlos a desarrollar sus habilidades.
Es responsabilidad de los Senior DBAs resolver ediciones que han sido reportadas por el junior DBA, también es importante para este alimentar información en la resolución regresada al junior DBA.
La posición del senior DBA encapsula todas las ediciones que rodean el desarrollo y el despliegue de aplicaciones en un ambiente de base de datos. Sin embargo, en organizaciones grandes, el rol del senior DBA deben ser rotas en dos roles diferentes: La producción de administrador de base de datos y el desarrollo de administrador de base de datos.

PRODUCTION DBA

La producción DBA está envuelta principalmente para ayudar la plataforma de base de datos. El rol de producción DBA puede ser considerado como una forma especializada del rol del senior DBA.
La clave de la diferencia, son las áreas en las que las responsabilidades son enfocadas.
Ediciones de importancia para una producción DBA incluye:


DATOS RECUPERABLES

La producción DBA asegura que la producción de datos este completamente protegida en un ambiente específico. Esto incluye disponer de planes apropiados de respaldo, el cual es solo un aspecto para asegurar la recuperación de datos.

SEGURIDAD

Es extremadamente importante para asegurar que solo personas autorizadas puedan tener acceso a la base de datos y, una vez que tengan acceso, que solo puedan ver información que sea permitida para ellos.
Muchas bases de datos contienen información que una organización no quiere que esté disponible para ver y modificar por todos.
Asegurando que los permisos correctos que son asignados, es un aspecto de buena seguridad, pero hay muchos otros. Implementando la revisión apropiada, utilizando apropiadas tecnologías de red de comunicación, tales como encriptación, y usando arquitecturas de aplicaciones apropiadas, son todos los aspectos que podría afectar la seguridad de una base de datos.


CAMBIAR GERENCIA

Generalmente, los desarrolladores no tienen acceso al ambiente de producción de la base de datos. Todo su código y cambio de diseño toman lugar en un ambiente de desarrollo aislado, son probados en un ambiente de prueba y, una vez probados, son hechos disponibles para implementarse en el ambiente de producción. La responsabilidad de la producción DBA es implementar todos esos cambios en el ambiente de producción.

DISPONIBILIDAD

Si un usuario puede conectarse a una base de datos y sacar su trabajo, entonces la base de datos es considerada disponible.
El primer aspecto de asegurar la disponibilidad incluye determinar que existe una infraestructura adecuada de recuperación del desastre para ayudar la aplicación de base de datos.
La recuperación del desastre incluye usar discos redundantes apropiados para asegurar que un único disco de fallos no cause la falla total del ambiente de la base de datos.
Es importante notar que los sistemas de manejo de bases de datos son más capaces de hacer cambios y mantenerse haciendo tareas mientras las bases de datos permanecen en línea.

ACTUACIÓN

Tener la base de datos actuando para los requerimientos de los usuarios es otra responsabilidad importante de la producción DBA. Aunque asegurando que los usuarios pueden mantener acceso a la base de datos es más importante, los usuarios solo pueden ser productivos y felices si la base de datos responde a sus requerimientos en tiempo y forma.

DEVELOPMENT DBA

Está envuelta en primer lugar con la creación actual de la solución de la base de datos. Esto debe involucrar ser parte de un equipo de desarrollo de aplicación o parte de un equipo de proyecto probando una aplicación potencia para la implementación futura en la producción.
Ediciones de importancia para el desarrollo DBA incluye:

REVISIÓN DEL CÓDIGO

El término “Código de base de datos” se refiere al código T-SQL que accede SQL Server, pero también se refiere al código que interacciona con SQL Server desde niveles mayores de lenguaje. El desarrollo DBA entiende el código de la base de datos muy bien, tal vez mejor que los desarrolladores de aplicación. Es generalmente un requerimiento del desarrollo DBA inspeccionar el código de la base de datos antes de ser aceptado como parte de una aplicación. Como aplicación los desarrolladores usualmente evalúan el código de una perspectiva, funcionalidad: si el código regresa el resultado deseado, entonces debe estar bien. El Desarrollo DBAs evalúa el código para eficiencia, uso de recursos complacidos con la política de seguridad, impacto en otros usuarios, y consistencia transaccional. Esta evaluación desde perspectivas no funcionales puede mejorar la calidad del código que es producida y significativamente reduce ediciones ayudadas una vez que la aplicación es desplegada en la producción.

DISEÑO DE LA BASE DE DATOS

El desarrollo DBA generalmente esta atareado con la creación de los diagramas de la base de datos para ayudar a un grupo de requerimientos de aplicación. Puede ser necesario para el desarrollo del DBA cambiar los documentos de requerimientos de usuarios o una especificación técnica en la primera fase del diseño de la base de datos, el cual es un modelo de datos lógicos.

CREACIÓN DEL CÓDIGO DE LA BASE DE DATOS

El desarrollo DBA debe estar ocupado escribiendo el código de base de datos y manejando la creación del código. La creación del código no debe ser necesariamente asociada con la aplicación lógica actual; en cambio, esto está a menudo en áreas que rodean la base de datos. Algunas de estas áreas incluyen código para importar datos desde otras fuentes, códigos para realizar tareas de mantenimiento, o códigos para realizar validaciones de datos.

ENTRENAMIENTO DEL DISEÑADOR

Porque el desarrollo DBA es el responsable de la cualidad del código de la base de datos con la aplicación. Es en su mejor interés el gastar algún tiempo entrenando diseñadores en la mejor manera para escribir el código de base de datos.

PROBANDO ESCALABILIDAD

La prueba de escalabilidad se realiza en conjunto en la aplicación, con un software de comprobación de tensión siendo utilizado para simular las cargas de trabajo de la producción. Como parte de esta prueba, genera datos de prueba que representan lo que podría ser esperado en el ambiente de producción, ambos en información y cantidad. Una vez que está bajo carga de prueba, la responsabilidad del desarrollo DBAs es monitorear el impacto de la carga e identificar los cuellos de botella que están limitando la realización de las bases de datos. Una vez que sea identificado cualquier cuello de botella, debe de depender del desarrollo DBA para resolver estas ediciones haciendo cambios estructurales al diseño de la base de datos o añadiendo índices nuevos.

CONSULTANT DBA

Finalmente, este provee asistencia a los equipos del proyecto o ayuda a otros DBAs en la base de un caso por caso. Usualmente, el consultor DBA era un Senior DBA con experiencia previa tanto como en producción DBA y como desarrollo del DBA.
Habilidades requeridas por un consultor DBA incluye:

VALORACIÓN DE SITUACIONES COMPLEJAS

Generalmente es traída a una organización para diagnosticar problemas serios, tales como actuación o problemas de consistencia de datos. En circunstancias extremas, el consultor DBA debe ser traído como un crítico para aislar el problema de usuarios previniendo de acceder la aplicación de base de datos. Esas situaciones pueden costarle decenas de miles de dólares por hora a una organización en réditos perdidos y deben ser resueltos con urgencia. Teniendo una aproximación metódica y estructurada del problema, resolverlo es inmensamente valioso al diagnosticar y resolver ediciones técnicas en la manera más eficiente.

CONSEJO ESPECIALISTA

El consultor DBA requiere conocimiento especializado en sus áreas elegidas para ser efectivo. El DBA interno y staff de ayuda esperaran la resolución, o pasos de resolución, de los problemas complejos que están viviendo. Un consultor DBAs es inhabilitado para ofrecer una resolución o, más importante, un camino de resolución, va a dejar al staff interno cuestionando el valor del consultor DBA.

COMUNICACIÓN

El consultor DBA habla competentemente con un staff técnico en casa, y en el otro fin, debe hablarle al manejador para entender los controladores de negocios para su envolvimiento. La comunicación efectiva es un debe tener-no debe tener, la gente probablemente no va a sentir que está obteniendo valor por dinero de la fuente del consultor.

DOCUMENTACIÓN

Requiere habilidades excepcionales de documentación. Debe tener buena documentación. El consultor DBA está usualmente envuelto con la organización solo por un periodo corto de tiempo para completar un proyecto específico. Una vez que el trabajo ha sido completado, los pasos del Consultor DBA salen y el equipo de DBA interno debe dominar la ayuda del llevado y el mantenimiento del trabajo.
Sin documentación efectiva, el DBA interno va a encontrar gran dificultad al realizar su soporte y mantenimiento.


MIGRACIÓN DE DATOS

Como aplicación la migración no sucede muy a menudo en una organización, hay muchas oportunidades para el staff en casa de convertirse experimentado en esas complejidades. Como un consultor DBA va a realizar frecuentemente este tipo de trabajo, debe ser traído a una organización también para ofrecer consejos a los DBA internos o para el subcontrato fuera del componente de migración de datos.

¿CÓMO CONVERTIRSE EN DATA BASE ADMINISTRATOR?

Generalmente, muchos DBA entran en su profesión como desarrolladores o junior DBA. Incluso moverse entre los roles es muy dependiente en los requerimientos de la organización, el DBA está trabajando por tiempo, un plan de carrera progresivo se ve así:
Consultor DBA
Producción DBA
Desarrollo DBA
Senior DBA
Junior DBA
Diseñador


CONCLUSIÓN

Es un tema sumamente interesante, el aprender de las responsabilidades que los administradores de bases de datos van adquiriendo con el tiempo, y las funciones que realizan, también es importante resaltar que todos los tipos de DBA tienen relación entre sí considero que es primordial conocer como se administra una base de datos, desde que esta es creada hasta que los usuarios finales hacen uso de ella.
A mi parecer uno de los tipos más importantes es el Senior DBA porque es el que lleva más tiempo interactuando con la base, y conoce a fondo todos los procesos que se han creado en esta.
Otro de los puntos que se me hizo relevante es el conocer que para ser un administrador de Base de Datos hay que ir pasando y conociendo las funciones de todos los tipos de DBA según lo vaya requiriendo la empresa.


BIBLIOGRAFÍA

Bain, Pavliashvili, Sack, Benkovich, Freemanv
Pages:1-19

0 Comments: