Profissão

Administrador de Banco de Dados, comumente chamado de DBA (sigla em inglês de Database administrator).

Descrição da atividade

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:

  • Avaliar o hardware do Servidor de Banco de Dados e definir o hardware necessário para instalar o BD e comportar os seus dados e acessos.
  • Planejar e executar as manutenções em bancos de dados de produção.
  • Pesquisar inovações tecnológicas para banco de dados. Efetuar backups de produção, garantir que eles estão sendo executados e que eles sejam recuperáveis.
  • Maximizar e aprimorar a performance do banco de dados. Garantir a segurança dos bancos de dados de produção.
  • Administrar servidores de bancos de dados de produção.
  • Identificar riscos de atrasos nos trabalhos.
  • Prestar suporte aos usuários, orientar analistas e desenvolvedores na otimização de performance das aplicações referente a área de banco de dados.
  • Instalar o Software do Banco de Dados, 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.
  • Planejar e Implementar o Banco de Dados: Definir e criar tabelas, índices e outros objetos de BD.
  • Criar e abrir o BD e garantir que ele esteja disponível para os usuários.
  • 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.
  • Recuperar o BD em caso de falhas: Definir e implementar estratégias e planos para recuperar o BD em caso de falhas.
  • 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 dos usuários é o objetivo principal desta tarefa.

Requisitos mínimos

Para conseguir cumprir com suas responsabilidades, o DBA naturalmente deve deter algumas competências. Ele não necessita dominá-las (até porque é pouco provável que ele consiga ser especialista em todas elas), mas deverá conhecer mais ou menos dependendo do ambiente em que atue. Algumas dessas competências são:

  • Conhecimentos em Sistemas Operacionais: Ainda que existam SGBDs que rodem em mais de um banco de dados, eles são dependentes do sistema operacional onde estão instalados. É importante que o DBA conheça conceitos ligados ao sistema operacional (processos, threads, gerenciamento de memória, paginação, sistema de arquivos, etc) bem como a implementação e otimização desses conceitos no Sistema Operacional que hospeda o banco de dados. Isso auxilia na configuração e otimização do sistema operacional ao banco de dados utilizado.
  • Conhecimento em Redes: Os bancos de dados são em sua esmagadora maioria compartilhados. Se forem compartilhados é certo que o acesso será feito via rede (Intranet, Internet e Extranet) e conhecer como essa transmissão ocorre é importante. É desejável que o DBA conheça características da rede (capacidade de tráfego, protocolos, etc). Esse conhecimento pode ajudar a resolver problemas e otimizar o acesso ao banco de dados.
  • Compreensão em arquitetura em banco de dados: Entender como funciona um banco de dados é um pouco mais do que conhecer uma tecnologia específica (ORACLE, DB2, SQL Server, etc). Entender alguns dos fundamentos de banco de dados (algoritmos de indexação, concorrência, transações, etc) podem ser tão valiosos quanto conhecer as implementações de um produto específico. Bons DBAs não são aqueles que conhecem todos os comandos de um produto, mas certamente aqueles que sabem o que acontece nos "bastidores".
  • Noções do sistema de armazenamento: A persistência dos dados é realizada em algum local próprio para armazenamento. É importante ao DBA ter conhecimento dos princípios que são utilizados nos sistemas de armazenamento (RAID, SAN, NAS, etc). Esse conhecimento pode ajudar o DBA a utilizar a infraestrutura de armazenamento para um projeto físico eficiente.

Ferramentas usadas

Entre algumas das ferramentas usadas, temos Banco de Dados Oracle, modelador de dados ERwin, SQL-Station, gerenciador de modelos ModelMart, diagnóstico de estrutura de Banco de Dados DBExaminer.

Tecnologias envolvidas

Para se tornar um administrador de banco de dados é necessário adquirir pleno domínio sobre as tecnologias de banco de dados mais utilizadas no mercado, como Oracle, SQL Server, MySQL, Postgres e DB2, além de ferramentas de Business Intelligence (Qlik Sense, QlikView, Tableau, Yellowfin, Pentaho e etc).

Exemplo de resultado tangível

Garantia de disponibilidade do banco de dados o maior tempo possível. Dadas as limitações (Hardware, SO, redes e etc), o DBA providencia o melhor desempenho possível do banco de dados. Isso inclui otimização de consultas, utilização de infraestrutura (disco, memória, processador, etc) de forma adequada, monitoração do ambiente, entre outras coisas. Realiza uma implementação adequada do banco de dados visando desempenho, escalabilidade, flexibilidade.

Apresentação DBA

[[Mídia:Apresentação DBA.pdf]]