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.
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.