Guia do artigo:
O que é um DBA (Administrador de banco de dados)?
O Administrador de Banco de Dados (DBA) é o profissional responsável pela instalação, administração e suporte dos SGBDs, sempre assegurando segurança, disponibilidade e eficiência à base de dados. Para que todas essas tarefas sejam corretamente cumpridas, se faz necessário um ótimo conhecimento da arquitetura da base de dados, experiência e uma formação sólida.
Conhecendo o papel e tarefas de um DBA
Nessa primeira parte serão abordados o papel e tarefas a serem desempenhadas pelo DBA. No segundo artigo da série conheceremos um pouco sobre certificações de DBA, sua importância para o mercado de trabalho, as etapas para realizar uma certificação e como se preparar para alcançá-la. Por fim, conheceremos no terceiro artigo as certificações existentes em diferentes SGBDs.
O papel do DBA
O DBA precisa manter um banco de dados corporativo “no ar” por todo o tempo que o sistema necessita, sem erros, com rapidez e confiabilidade. Ele precisa conhecer o banco e suas peculiaridades, pois ele é o responsável pela criação, manutenção e segurança do banco de dados da empresa. Isto inclui instalar o SGBD e o ajuste da infra-estrutura para permitir que as aplicações alcancem as bases de dados. Veja com mais detalhes a seguir algumas das atividades desempenhadas pelo DBA.
Tarefas do DBA
- Projeto e criação do banco de dados
- Ajuste e monitoramento de desempenho
- Backup e recuperação
- Armazenamento de dados
- Tipos de Backups
- Segurança do banco de dados
- Integridade de dados
- Integridade Física
- Integridade Semântica
- Integridade Interna
- Suporte
- Migração e atualização do SGBD
As tarefas de um administrador de banco de dados variam dependendo do tipo de trabalho, da empresa, das políticas de Tecnologia da Informação (TI) e das características técnicas e potencialidades dos SGBDs que estão sendo administrados. A seguir estão relacionadas algumas tarefas que o DBA deve desempenhar:
- Projeto e criação do banco de dados;
- Ajuste e monitoramento de desempenho;
- Backup e Recuperação;
- Segurança do banco de dados;
- Integridade de dados;
- Suporte
- Migração e atualização do SGBD;
Mesmo não sendo diretamente um dos deveres do DBA, a infra-estrutura e as modelagens lógica e física do banco de dados, às vezes, acabam fazendo parte do trabalho. Estas funções são tradicionalmente de responsabilidade do administrador de sistema (AS) e administrador de dados (AD) ou projetista (ver Figura 1).
Projeto e criação do banco de dados
Uma tarefa do DBA é projetar o banco de dados com o intuito de obter o máximo de performance, escalabilidade, flexibilidade e confiabilidade. Na fase inicial do projeto é definida a estrutura do banco de dados, levando em consideração o levantamento de requisitos. O esquema desenvolvido nessa etapa é chamado projeto conceitual e proporciona uma visão detalhada da organização.
Na fase de projeto lógico, o esquema conceitual de alto nível é mapeado para o modelo de implementação de dados do SGBD que será usado.
No projeto físico é necessário, além das técnicas supracitadas, um conhecimento mais aprofundado sobre o SGBD que será utilizado para criar o banco. O DBA deve estabelecer regras para o ciclo de vida dos dados armazenados, a fim de evitar ocrescimento exagerado do banco, que compromete seu desempenho, além de ocupar desnecessariamente espaço em disco.
Ajuste e monitoramento de desempenho
O DBA deve certificar-se que o banco de dados é rápido e que a performance do servidor não afetará negativamente sua disponibilidade e usabilidade. O ajuste do banco de dados é um trabalho que exige bom senso e experiência. Existem algumas regras gerais, mas muitas são aprendidas com o uso, na base da tentativa e erro.
O ajuste de um de banco de dados pode ser dividido em quatro partes (ver Figura 2):
Projeto
O projeto lógico de um banco de dados mal elaborado resulta, obviamente, em um projeto físico mal elaborado, o que geralmente degrada o desempenho. Não espere sua aplicação entrar em produção para ajustar o modelo. Nenhum dinheiro gasto com máquinas pode reparar um desempenho ruim causado por um projeto lógico mal elaborado.
Sistema Operacional
O sistema operacional deve ser ajustado de acordo com a documentação do fabricante. Para plataformas Windows, os ajustes default são geralmente suficientes. Já plataformas Solaris e Linux necessitam de uma atenção especial.
Banco de Dados
O ajuste do banco de dados abrange a memória alocada, o uso do disco, CPU, E/S e os processos do banco de dados. Envolve também a gerência e a manipulação da estrutura, tal como o design e o layout das tabelas e dos índices. Além disso, tuning de banco de dados envolve quase sempre a modificação da arquitetura a fim de otimizar o uso dos recursos de hardware disponíveis.
Aplicação
O ajuste da aplicação está diretamente relacionado aos códigos SQL armazenados nos sistemas. O objetivo desses ajustes é fazer com que os comandos SQLs acessem de maneira eficiente o banco de dados.
Backup e recuperação
Para muitos profissionais de TI, a tarefa mais importante do DBA é manter a disponibilidade do banco: Do que adianta ter uma base de dados grande e funcional se a metade do tempo ela estiver inacessível?
Uma boa arquitetura de backup e recuperação deve incluir um plano de prevenção de desastres, procedimentos e ferramentasque auxiliem na recuperação, além de procedimentos e padrões para realizá-la.
Há dois tipos de backup: os backups físicos e os backups lógicos. Backup físico é a operação em que os arquivos físicos do banco de dados são copiados para uma mídia qualquer, geralmente nas chamadas fitas de backup que possuam uma grande capacidade de armazenamento e que “fisicamente” poderão ser repostos a qualquer tempo. Já o backup Lógico é feito através de um utilitário do próprio banco de dados, responsável por ler as tabelas/tablespaces indicadas e gravá-las em outro lugar.
É importante notar que o backup deve estar armazenado distante dos servidores para não ser atingido em caso de uma calamidade (incêndio, desabamento, entre outras). O recovery deve estar acessível e próximo de onde desejamos efetuá-lo.
Armazenamento de dados
Muitas formas de maximizar a segurança foram criadas com base em novas tecnologias, hardwares e métodos de apoio aos processos de backup e recuperação, tais como:
Clustering
Também conhecido como Cluster, pode ser definido como um sistema onde dois ou mais computadores trabalham de maneira conjunta para realizar processamento pesado, como visto na Figura 3. Os computadores dividem as tarefas de processamento e trabalham como se fossem um único computador. Ele é desenhado de tal forma que uma falha em um dos componentes seja transparente aos usuários.
Mirrored (espelhamento)
Os discos são espelhados, ou seja, é feita uma cópia exata de cada um em servidores diferentes. Em caso de falhas ou perda de um disco, o outro assume inteiramente o papel até a substituição do disco com problemas. Tem como vantagem não gastar tempo para a cópia, pois ocorre em tempo real, mas necessita de backup em caso de falha nos dados do servidor principal. É necessário pelo menos dois servidores, como mostra a Figura 4.
Device Parity Protection
A proteção de paridade tem a tecnologia similar ao do RAID-5 (redundant array of independent disks). Ela permite a manutenção concorrente quando houver falha em um dos discos, pois divide toda a informação que chega e distribuí de um modo idêntico para todos os discos, como pode ser visto na Figura 5. Vale a pena lembrar que essa tecnologia não substitui a estratégia de backup e recovery. A proteção de paridade pode impedir que seu sistema pare quando determinados tipos de falhas ocorrem. Pode diminuir o tempo de recuperação para determinados tipos de falhas, porém não protege de muitos tipos, tais como um desastre local ou um erro do operador ou do programador.
Dual System
Dois sistemas, onde um deles (primário) atualiza constantemente o outro (secundário), permitindo assim a existência de uma base de dados duplicada e atualizada. Quando o sistema primário falha, o sistema secundário assume o seu papel. Técnica semelhante ao espelhamento.
Contingência
Modelo de processos que visa implementar medidas para garantir a disponibilidade dos principais serviços e a continuidade dos negócios vitais da companhia em situações de desastre ou contingência. Em caso de necessidade, todo o sistema pode ser transferido para uma instalação contratada junto a um provedor de serviços de contingência (data center). Essa mudança envolve o chaveamento dos links de comunicação entre o site de contingência e todas as filiais do cliente (ver Figura 6).
Tipos de Backups
Cópia simples:
O backup é chamado de simples quando não envolve compressão de dados.
Normal:
Consiste em armazenar tudo que foi solicitado, podendo ainda ser feita a compressão dos dados ou não. Este método também é chamado de backup completo quando são gravadas todas as informações existentes no banco. A desvantagem desse método é que se gasta muito tempo e espaço em mídia.
Diário:
A cópia é feita checando-se a data. Armazenam-se todos os arquivos que foram criados ou alterados na mesma data em que se faz o backup. Gasta-se menos tempo e espaço em mídia, mas são armazenados apenas os arquivos criados ou alterados no dia;
Diferencial:
Só é realizado após um backup normal. Gravam-se as diferenças entre os dados gravados no último backup normal e a data de gravação do backup diferencial. Apresenta como vantagem menos tempo e espaço em mídia, mas necessita do backup normal inicial.
Incremental:
Necessita do backup normal, e visa o incremento da informação após a criação do backup normal. Ao contrário do diferencial, se for feito um backup incremental após outro incremental, o segundo backup não irá conter os dados do primeiro. Caso seja preciso restaurar o backup, será necessário restaurar o backup normal e todos os incrementais na ordem em que foram gravados, isto é, uma vez feito o backup normal, o incremental só irá gravar os dados alterados ou criados após o backup anterior, seja ele normal ou incremental. Tem-se como vantagem menor gasto de tempo e espaço em mídia, mas necessita do backup normal inicial e de todos os backups incrementais feitos após o normal.
Segurança do banco de dados
Neste item, o trabalho do DBA deve ser aterrado nos fundamentos da segurança de TI. A segurança deve ser projetada no banco de dados e nas aplicações. Isto envolve criar usuários no banco e determinar o nível apropriado de segurança para cada um.
Integridade de dados
Para assegurar a integridade dos dados, o DBA executa regras de integridade usando características do SGBD. Há três tipos principais de integridade: física, semântica e interna.
Integridade Física
A integridade física pode ser assegurada usando características do SGBD, como, domínios e tipos de dados. O DBA pode também utilizar constraints para delimitar o tipo de dado que pode ser armazenado em determinadas colunas.
Integridade Semântica
Um exemplo de integridade semântica é a qualidade dos dados na base de dados. O resultado desse armazenamento incorreto é o dado armazenado de forma incoerente e redundante. As procedures ajudam a manter a integridade dos dados.
Integridade Interna
Neste caso, o SGBD utiliza-se de estruturas e código internos para manter os links, ponteiros e identificadores. Na maioria dos casos, o SGBD manterá estas estruturas sem precisar do auxílio do DBA, porém este necessita estar ciente de sua existência e como lidar quando o SGBD falha. A integridade interna do SGBD é essencial nas seguintes áreas:
Consistência do índice
Um índice não passa de uma lista ordenada com ponteiros direcionados aos dados das tabelas no banco de dados. Se por alguma razão o índice perder o sincronismo com os dados, o acesso indexado pode não retornar os dados apropriados. O DBA possui ferramentas para verificar e remediar estes tipos de erros.
Consistência do índice
Consistência do ponteiro. Às vezes, objetos grandes de multimídia não são armazenados nos mesmos arquivos físicos que outros dados. Conseqüentemente, o SGBD requer estruturas de ponteiro que mantenham o sincronismo desses dados.
Consistência do backup
Consistência do backup. Alguns produtos do SGBD ocasionalmente fazem backup errado ou inapropriado. É essencial identificar estes cenários e tomar ações corretivas.
Suporte
Os DBAs precisam trabalhar próximo aos membros da equipe técnica para assegurar um alto desempenho de todo o banco de dados. Além disso, em conjunto com as tarefas de Administração de Sistema Operacional, o DBA dará suporte e resolverá problemas associados com o SGBD, como alocação de recurso e o número de instâncias que serão criadas.
Migração e atualização do SGBD
O DBA também é responsável por controlar a migração das releases do SGBD. Após compreender as características oferecidas e a estabilidade da release, deve-ser decidir o melhor momento para a instalação.
A importância da certificação
- Para os fabricantes
- Para os empregadores
- Para os profissionais de TI
- Porque começar certificado?
- Etapas para obter uma Certificação
- Verifique as exigências da certificação
- Baixe os softwares e a documentação do banco de dados
- Assine revistas e sites especializados
- Procure frequentar grupos e fóruns de discussões
- Leia bastante
- Faça cursos voltados para a certificação
- Pratique os simulados
- Oracle
- SQL Server
- DB2
- PostgreSQL
- MySQL
- Sybase
Para os fabricantes
Obter uma certificação enriquece cada vez mais as empresas que oferecem tais credenciais. Estas empresas lucram, além da venda, autorizando treinamentos e publicações relacionadas a seus produtos. Além disso, os indivíduos certificados agem como verdadeiros campeões, aproveitando seus conhecimentos e entusiasmo na utilização dos softwares das empresas.
Para os empregadores
A certificação é encarada pelas empresas como um selo de qualidade, pois fornecem uma garantia que os profissionais qualificados estudaram e possuem as exigências mínimas que o mercado exige. Com profissionais certificados, a empresa procura demonstrar para o mercado que trabalha com pessoas altamente qualificadas. Além disso, muitas prestadoras de serviços contratam profissionais certificados para somar pontos ou cumprir exigências em licitações.
Para os profissionais de TI
- A certificação é uma forma prática do profissional avaliar suas próprias habilidades e experiência em relação aos altos padrões da indústria, reciclar seus conhecimentos e buscar novos títulos. Auxilia no avanço da carreira, possibilitando maiores chances em processos seletivos;
- A certificação também provê ao profissional certificadoum suporte e assistência da instituição que o certificou. Este suporte auxilia no dia-a-dia e possibilita que o profissional continue aprendendo enquanto coloca em prática a sua certificação;
- O profissional certificado pode obter melhores salários e benefícios;
A certificação fornece uma porta de entrada no mercado de trabalho para os profissionais que estão iniciando a carreira. Porém, esses benefícios são acompanhados de alguns investimentos de tempo e dinheiro:
- O investimento financeiro para obter uma certificação é significativo e nem sempre é custeado pela empresa na qual o profissional trabalha;
- Além do custo dos exames, há o custo do material didático e dos cursos necessários à certificação;
- O profissional precisa investir tempo para obter a sua certificação e em alguns casos é necessário também experiência na ferramenta.
Porque começar certificado?
A idéia da certificação de DBA é assegurar que um indivíduo seja capaz de administrar tarefas e resolver problemas em um banco de dados, sempre de forma eficiente. Contudo, o fato de uma aprovação em um destes títulos não significa sucesso para as complexidades da administração de um banco de dados, principalmente, para um iniciante em que a falta de experiência se mostrará fator limitante no dia-a-dia deste profissional. DBAs novatos, mesmo que certificados, não começam gerenciando grandes bancos de dados e aplicações de grande porte. Eles serão colocados em treinamento como DBA Junior e é aí que o processo de certificação se fará útil.
Etapas para obter uma Certificação
Há muitas etapas para se obter uma certificação e a primeira delas é fazer alguma pesquisa sobre o assunto. Gaste um tempo definindo suas habilidades atuais, decidindo qual área você gostaria de seguir, como uma certificação ajudaria na sua carreira e quais certificações são aplicáveis aos seus objetivos. Apresentaremos a seguir passos que consideramos importantes para obtenção de uma certificação:
Verifique as exigências da certificação
Visite o site da empresa responsável pela certificação. Verifique as exigências e o período em que novos produtos são liberados. O site lhe dará os detalhes mais importantes sobre o exame, incluindo o número de perguntas, a porcentagem de perguntas corretas para passar e o tempo que você tem para execução do teste. Cada empresa lista os tópicos ou os objetivos para cada teste. Verifique também a necessidade de refazer testes periodicamente para manter o certificado válido.
Baixe os softwares e a documentação do banco de dados
Não saia baixando e lendo sobre tudo que você encontrar. Estude focado! Um dos segredos nos exames é o estudo direcionado. Muita gente estuda um pouco de tudo e ao final lembra de tudo um pouco. Por isso, acesse os guias das provas e verifique exatamente os tópicos avaliados na prova.
Assine revistas e sites especializados
Diversas colunas regulares são muito boas e possuem dicas que facilitam a vida do estudante. Procure fazer visitas regulares aos sites especializados.
Procure frequentar grupos e fóruns de discussões
Há muitos profissionais com conhecimento apurado nos fóruns. Alguns são excepcionais. Uma outra forma de adquirir conhecimento é participando das respostas, tanto resolvendo quanto ajudando a encontrar a solução. Isto pode significar um asto adicional de seu tempo, mas ao final pode ajudá-lo bastante no processo de aprendizado.
Leia bastante
É necessário estudar livros específicos que lhe ajudarão a passar no teste. Estudar apenas livros de banco de dados ou saber muito sobre o produto no geral não é o suficiente.
Faça cursos voltados para a certificação
Será que você precisa de um curso preparatório para se tornar certificado? Se você for inexperiente, o curso pode realmente te ajudar. DBAs experientes, entretanto, não necessitam de cursos presenciais para passar nos exames de certificação. A única exceção ocorre quando o vendedor requer um curso como parte das exigências da certificação. O fato de não precisar fazer o curso não significa que os mais experientes não podem fazê-lo ou não precisam estudar.
Pratique os simulados
Os simulados lhe dão uma visão geral de como funciona a prova e o nível das questões. Não decore as questões! Muitas questões são parecidas na hora da prova, mas muitas são completamente diferentes. O ideal é você ter em mente que o simulado é um objeto de estudo que ajuda o aprendizado. Na Tabela 1 está a relação de alguns sites onde você pode encontrar simulados e tutoriais referentes às certificações de banco de dados.
Oracle
A certificação Oracle Certified Associate (OCA) é o nível inicial para profissionais de TI que estão começando a trabalhar com banco de dados Oracle. A certificação Oracle Certified Professional (OCP) é o nível profissional de certificação que a maioria dos candidatos procura, e o ponto de parada normal para a maioria dos candidatos a certificação Oracle. A Figura 7 mostra o caminho que o profissional percorre para alcançar esta certificação.
Se você quiser ir mais além, você pode tentar a certificação Oracle Certified Master (OCM). Este programa requer o término com sucesso de um exame prático com duração de dois dias no centro de teste da Oracle em Chicago (USA). Na Tabela 1 disponibilizada no portal da SQL Magazine (veja links no final do artigo) estão relacionadas as principais características das certificações do Oracle.
A Oracle University atualiza constantemente as certificações Oracle. Uma vez finalizada a certificação OCP, é necessário somente um exame para atualizar seu certificado para uma versão mais nova. Por exemplo, um OCP 9i necessita fazer apenas o exame 1Z0-040 – New Features for Administrators para se tornar OCP 10g.
Para mais informações sobre o programa de certificações da Oracle visite a página do Oracle University. Para saber mais sobre onde e como realizar os exames acesse aqui.
SQL Server
A Microsoft criou uma nova geração de certificações Microsoft para melhor atender às necessidades de seus clientes. Dividido em três níveis (Technology, Professional e Architect) e em três credenciais (MCTS, MCITP e Microsoft Certified Architect) conforme a Figura 8, a nova geração de certificações Microsoft formam especialistas capazes de instalar, configurar e administrar os produtos Microsoft.
O nível Especialista (Techonology) atesta habilidades básicas em tecnologias e/ou produtos, como habilidades práticas e habilidades de implementação. Já o nível Professional atesta as habilidades de funções específicas, fora da tecnologia básica, como processos e procedimentos operacionais e análise de problemas empresariais. O nível Arquiteto (Architect) atesta as habilidades necessárias para impactar com sucesso a TI na empresa. Isso inclui amplitude técnica, profundidade técnica, comunicação, estratégia, políticas organizacionais, processos e liderança.
Na Tabela 2, disponibilizada no portal da SQL Magazine, (veja links no final do artigo) estão relacionadas as principais características das certificações do SQL Server voltadas ao Administrador de Banco de Dados. A certificação Microsoft Certified Architect é única para todos os produtos englobados pela nova geração de certificações Microsoft e não será incluída. Para mais detalhes acesse o site.
DB2
De forma geral, o processo de certificação segue a estrutura apresentada na Figura 9.
Na fase de Educação, os profissionais ou empresas terão um ano para cumprir os requisitos exigidos pela IBM e os certificandos deverão participar dos treinamentos preparatórios para a qualificação.
A segunda fase, a certificação, é considerada como o item central de toda engrenagem do programa de qualificação. Sem ela, a Educação vai funcionar apenas como um treinamento, não teremos profissionais certificados. Por fim, o Report é a fase na qual o profissional receberá seu certificado IBM. Na Tabela 3, disponibilizada no portal da SQL Magazine (veja links no final do artigo), estão relacionadas as principais características das certificações do DB2.
Para mais informações sobre o programa de certificações IBM, visite a página.
PostgreSQL
Na Tabela 4, disponibilizada no portal da SQL Magazine (veja links no final do artigo), estão relacionadas as principais características das certificações do PostgreSQL.
Para mais informações, visite.
MySQL
Na Tabela 5, disponibilizada no portal da SQL Magazine (veja links no final do artigo) , estão relacionadas as principais características das certificações para o MySQL.
Caso você já possua a certificação MySQL 4 Professional Certification, você pode atualizar para a certificação Certified MySQL 5 DBA. Segue, na Figura 10, o fluxograma destes caminhos para uma melhor compreensão.
Para mais informações sobre as certificações MySQL, visite a página.
Sybase
A certificação ASE Administration Associate Certification foi elaborada para indivíduos que projetam, administram e dão suporte ao banco de dados Sysbase. Já a certificação Administrator Professional Certification foi desenvolvida para indivíduos que desejam demonstrar proficiência em banco de dados Sybase. Na Figura 11 temos os testes necessários para a obtenção destas certificações.
Na Tabela 6, disponibilizada no portal da SQL Magazine (veja links no final do artigo), estão relacionadas as principais características das certificações para o Sybase.
Para mais informações sobre as programa de certificação SysBase, visite a página.
Por fim, gostaríamos de reforçar que a certificação hoje é uma necessidade cada vez maior, por ser uma forma de reciclagem e de valorização do profissional. Segundo pesquisa do Institute Data Corporation (IDC) Brasil, as chances de um profissional certificado conseguir um emprego aumentam em 53%, em relação a profissionais que não possuem este título, podendo esse índice ser ainda mais elevado de acordo com a categoria de certificação possuída. Os salários são de 10 a 100% superiores à média que o mercado paga a profissionais sem certificação que ocupam as mesmas funções.