DBA ou Administrador de banco de dados: Que bicho é esse?

AGRADEÇA AO AUTOR COMPARTILHE!

Em algumas regiões aqui no Paraná costumamos usar a frase “que bicho é esse?” para qualquer coisa que não sabemos bem o que é, desde um alimento a um objeto que não estamos habituados a ver. Da mesma maneira, em diversas empresas o tal DBA ainda é uma figura desconhecida, então nesse artigo vamos explicar o que fazemos.

Em primeiro lugar é necessário ter em mente que praticamente todo aplicativo ou sistema, por menor que seja, costuma acessar um ou diversos bancos de dados. O banco de dados é, em termos gerais, o mecanismo que armazena e gerencia os dados de um ou de diversos aplicativos e sem acesso a esses dados o sistema costuma ficar inacessível ou inoperante. Costumamos chamar de “Sistema Gerenciador de Banco de Dados”, do inglês “Database Management System“, os sistemas que tem essa função como o SQL Server, Oracle, DB2, MySQL e outros.

data-dados-migracao-tecnologia

A função principal do DBA é, como o nome já indica, administrar esses sistemas. Essa administração divide-se em diversas funções que vão desde as rotinas de pré-instalação (estimativas de tamanho e crescimento), passando pela instalação, configuração e manutenção, chegando ao processo chamado genericamente de tuning, que consiste basicamente em manutenções preventivas, monitoramento e garantia de aplicação das melhores práticas estabelecidas pelos fabricantes, tanto do banco de dados em si quanto dos aplicativos que o consomem.

Dentre tantas atividades, podemos citar como as mais importantes:

  • Performance. O DBA garante, dentro dos critérios previamente estabelecidos, a velocidade de resposta adequada do banco de dados aos aplicativos que o acessam, são os problemas que mais causam desconforto aos usuários.
  • Segurança. É de responsabilidade do administrador de banco de dados garantir que os aplicativos e usuários tenham todos os acessos necessários para executar as suas funções, e que não tenham acessos indevidos, permissões adicionais que podem abrir brechas para invasões, ataques ou mesmo falhas humanas.
  • Disaster recovery. Recuperação de desastres parece um termo muito forte, mas é o que acontece quando há uma falha grave nos servidores de bancos de dados que impedem os acessos. Nessas horas é que as empresas costumam saber se as rotinas de backup e restore estão devidamente definidas e validadas. Aqui o barato costuma sair muito caro.
  • Monitoramento. Depois de instalado e configurado um bom banco de dados precisa de monitoramento e otimização constantes. Mesmo com a adequada configuração, uma base de dados com 100.000.000 registros não terá a mesma performance de uma com 100.000 de registros, e a manutenção e otimização dos recursos é uma tarefa contínua.
  • Suporte. A equipe de desenvolvimento (programadores, analistas de sistema, analista de negócios, etc) em geral não tem conhecimentos profundos sobre as tecnologias de bancos de dados, por isso o ideal é que sempre nos times esteja presente um DBA, que dará as devidas orientações para o melhor funcionamento do banco de dados, desde a concepção do aplicativo e seguindo todo o seu ciclo de vida.
  • Atualização. Novas versões costumam ser disponibilizadas pelos fabricantes, apresentando novas funcionalidade e muitas melhorias em diversos sentidos, seja em segurança, performance ou mesmo novas features que facilitam a vida tanto dos administradores quanto dos desenvolvedores. Além disso patches de correção de bugs são lançados e precisam ser aplicados o mais cedo possível.

Como vimos, as atribuições desse profissional são muitas, e poderíamos ainda listar diversas outras, há DBAs que também fazem codificação ou validação do código de triggers, stores procedures, user-defined functions, constraints e diversos outros componentes das bases de dados.

Em muitos times de desenvolvimento, em alguns casos até em bases de dados com alto volume de transações, não existe a figura do DBA. Nesses casos o restante da equipe acaba “assumindo” essas responsabilidades, mas como não são especialistas acabam não consumindo os recursos da melhor maneira, o que costuma no decorrer do tempo causar os mais diversos problemas nos sistemas, conforme o volume de dados aumenta e da mesma maneira o número de acessos.

Que bicho é esse? O que são e onde vivem? :)

Muitos desses profissionais, além de ralarem em suas profissões, ainda estão por aí contribuindo com a comunidade de desenvolvimento com a sua atuação profissional e voluntária.

Até a próxima pessoal.

AGRADEÇA AO AUTOR COMPARTILHE!

Hernando Santana Pinto

Mais artigos deste autor »

- 20 anos de experiência em TI, grandes conhecimentos em arquitetura, análise e desenvolvimento de sistemas, cloud computing, integração de sistemas e administração de bancos de dados.
- Gerenciamento de projetos e equipes de desenvolvimento de software, monitoramento, melhoria contínua, aplicação de melhores práticas de mercado e constante integração com as áreas de negócio.
- Grande experiência em arquitetura de sistemas e modelagem de bancos de dados, tendo coordenado o desenvolvimento de diversos sistemas web em PHP, bancos de dados SQL Server, MySQL e NoSQL utilizando a nuvem da AWS – Amazon Web Services, entre os quais destaco o Aprova Concursos, sistemas para diversas instituições ensino a distância (EAD), tanto e-commerces (lojas virtuais) quanto e-learnings, também chamados LMS ou AVA - Ambiente Virtual de Aprendizagem.
- Conhecimento em metodologias ágeis - SCRUM.
- Microsoft Certified Professional, MCP - MCPS - Exames 70-461 e 70-462 – SQL Server 2012/2014.


Deixe seu comentário

Seu endereço de e-mail não será publicado. Campos com * são obrigatórios!

Você pode usar estas tags e atributos de HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">