segunda-feira, 19 de dezembro de 2011

Tarefas de um DBA – O que faz um DBA?

Por Fábio Prado |

Pessoal,

No artigo de hoje irei escrever sobre as tarefas de um DBA: o que ele faz em seu trabalho e quais são as suas responsabilidades.

Este assunto, para quem já é um DBA, é fácil de entender, mas para quem é iniciante ou pretende ingressar nessa carreira, não é tão fácil assim! Para quem não trabalha com TI, pior ainda, essas pessoas não tem a mínima idéia do que é ou do que faz um DBA, por isso quando me perguntam qual a minha profissão, para facilitar a conversa, eu prefiro responder: - sou Analista de Sistemas. A música Hoje eu sou um DBA do The Sprinters explica bem esta situação.

TAREFAS DO DBA

Resumidamente, um DBA deve gerenciar os bancos de dados de um ou mais sistemas (geralmente muitos sistemas). Em detalhes, as tarefas que ele deve realizar são:

1- Avaliar o hardware do Servidor de Banco de Dados:
Avaliar e definir o hardware necessário para instalar o BD e comportar os seus dados e acessos.

2- Instalar o Software do Banco de Dados:
Instalar o Software do BD, instalar atualizações e correções de bugs e tudo o que for necessário para manter a estrutura física e lógica do BD.

3- Planejar e Implementar o Banco de Dados:
Definir e criar tabelas, indices e outros objetos de BD.

4- Criar e abrir o BD:
Criar o BD e garantir que ele esteja disponível para os usuários.

5- Fazer backup do BD:
Efetuar backups dos BD’s e garantir que eles sejam recuperáveis.

6- Gerenciar usuários de BD:
Criar usuários de BD e dar a eles privilégios de acesso aos dados, priorizando sempre a segurança dos dados, ou seja, os usuários devem ter o menor privilégio possível de acesso aos dados para evitar riscos desnecessários e proteger o BD como um todo.

7- Recuperar o BD em caso de falhas:
Definir e implementar estratégias e planos para recuperar o BD em caso de falhas.

8- Monitorar e ajustar a performance do BD:
Monitorar constantemente a performance do BD para identificar gargalos de desempenho e definir/implementar soluções para otimizar o seu desempenho.
Manter o tempo de resposta de acesso aos dados de acordo com as expectativas do usuários é o objetivo principal desta tarefa. Esta é a tarefa que eu mais gosto!

—————————————————————–

Em uma aula que eu dei para uma turma de Oracle Database 10G, gerei uma discussão com os alunos para definirmos (de acordo com os nossos conhecimentos e experiência) quais eram os 3 principais requisitos que o mercado de trabalho exigia para contratar um DBA. Chegamos nessa aula à seguinte conclusão:

O DBA tem que no mínimo saber:

  1. Instalar e gerenciar o Banco de Dados e seus usuários, com segurança;
  2. Efetuar e recuperar backups (qdo o BD for Oracle, tem que saber usar o RMAN);
  3. Monitorar e ajustar a performance do BD.
COMENTÁRIOS:

Já ouvi muitos Desenvolvedores/Analistas de Sistemas afirmarem que uma ou outra tecnologia ou que um ou outro sistema não exige o trabalho de um DBA. Já ouvi eles falarem: - Para quê um DBA? A gente otimizou tudo, não precisamos disso! ou - Para quê um DBA, o Hybernate é otimizado e cria todos os objetos no BD. Este sistema não precisa de um DBA. O meu comentário é que estes profissionais estão muito enganados. Sistemas que possuem muitos usuários, em organizações que possuem BD’s corporativos, que armazenam dados de múltiplas aplicações, precisam de um DBA.

Desenvolvedores ou Analistas de Sistemas geralmente não são especialistas em gerenciar Bancos de Dados, alguns até fazem isso, mas normalmente não fazem da melhor forma possível, pois eles não tem tempo para estudar a fundo os SGBD´s. Esta não é a atividade principal deles, eles tem é que especificar e desenvolver os sistemas. No quesito Banco de Dados, eles precisam apenas modelar os dados (ainda assim de preferência com o suporte de um DBA).

Também não acredito que uma ferramenta ou tecnologia de persistência de dados (já utilizei algumas) seja tão poderosa a ponto de fazer um trabalho de tunning para acesso a dados melhor que um bom DBA.

Já trabalhei em várias empresas como Analista/Desenvolvedor de Sistemas, com sistemas de pequeno à grande porte, por isso, de acordo com a experiência que eu tive, posso afirmar que, sempre que for necessário armazenar dados de muitos sistemas, com segurança e com a melhor performance possível,o trabalho de um DBA é necessário.

No Submarino (http://www.submarino.com.br/), uma das empresas em que trabalhei, se não existisse o trabalho de um DBA, além dos dados não terem a segurança necessária, acredito que o desempenho do site em datas próximas à datas comemorativas (Ex.: Natal) seria tão ruim que os clientes iriam desistir de efetuar compras, por causa da lentidão que o site iria apresentar para, por exemplo, carregar uma página de visualização de produtos de uma categoria específica.

Bom pessoal, por hoje é só!

[]s

Enviado por Fábio Prado

Nenhum comentário:

Postar um comentário