quarta-feira, 22 de dezembro de 2010

Cinto de utilidades do DBA

 
Mauro Pichiliani Segunda-feira, 25 de outubro de 2010

Olá, pessoal. Todo administrador de banco de dados (DBA) possui as suas ferramentas prediletas que podem ser utilizadas para salvá-lo em muitas situações. Neste artigo, apresentarei quais são as principais ferramentas que sempre carrego comigo no meu cinto de utilidades quando vou prestar algum serviço de consultoria de banco de dados.

Sou um grande defensor da idéia que para realizar um bom trabalho é preciso contar com as ferramentas e técnicas adequadas. Por isso resolvi escrever este artigo e ajudar aqueles que passam por situação semelhante. Além disso, no meu trabalho como consultor de banco de dados independente, já me deparei com diversas situações e ambientes em que, infelizmente, não há acesso às ferramentas adequadas para a realização do trabalho. Em muitas situações, nem sempre encontro o ambiente ideal com tudo que preciso instalado e configurado.
Devido a esse cenário, que é comum quando se visita vários clientes diferentes com bancos de dados heterogêneos (SQL Server, Oracle, MySQL, PostgreSQL, Informix, etc) em diversas plataformas (Windows, Linux, Mainframe, Mac, etc), ao longo dos anos aprendi a carregar comigo o meu próprio arsenal de ferramentas para onde quer que eu vá.
Da mesma maneira que o Batman possui o seu cinto de utilidades e que um eletricista ou um encanador possui a sua caixa de ferramentas, eu também tenho armazenado comigo as ferramentas que podem salvar o dia e que me auxiliam na realização o meu trabalho. A diferença aqui é que as minhas ferramentas são virtuais e assumem a forma de softwares.
Atenção: não falarei destes tipos de cinto neste artigo. esta é apenas uma analogia
Atenção: não falarei desses tipos de cinto neste artigo. Essa é apenas uma analogia.
Para auxiliar os leitores e quem mais desejar trabalhar na área de banco de dados, eu cito aqui as principais aplicações que sempre levo quando vou a uma consultoria. Geralmente coloco-as em um pen drive ou mesmo as instalo diretamente no meu computador pessoal. Contudo, algumas vezes preciso realizar a instalação de alguma ferramenta no servidor ou em uma estação desktop. De qualquer maneira, optei por ferramentas desktop e não por soluções online hospedadas na nuvem, pois nem sempre tenho a certeza de que vou contar com acesso à internet na consultoria.
Apenas mais um detalhes ante de começar a listar as minhas ferramentas prediletas: algumas delas são de código livre, outras são freewares ou sharewares e, por fim, algumas são de código proprietário. Obviamente, existem diversas alternativas para as ferramentas listadas aqui, e cabe a cada um escolher a ferramenta preferida e que melhor se adequa à necessidade em questão.
  • Documentação oficial do banco de dados
Ninguém guarda na cabeça todos os detalhes dos bancos de dados. Por isso é sempre preciso contar com as documentações oficiais dos mesmos. Sempre levo adocumentação do SQL Server, do Oracle, do MySQL e do PostgreSQL, além de alguma documentação específica de alguma ferramenta que já sei de antemão que vou precisar.
  • Ferramenta para teste de Stress
Todo DBA precisa realizar algum tipo de testes de desempenho do banco de dados em algum momento. Existem várias ferramentas para isso, mas eu sempre levo o JMetercomigo, pois é uma ótima ferramenta para realizar testes de stress em diversos bancos de dados.
Tela do JMeter
  • Ferramenta para Abrir e para editar arquivo XML
Não é raro me deparar com diversos arquivos XML durante consultorias que envolvem bancos de dados. E manipular XML em um editor de texto puro é péssimo. Por isso sempre tenho à mão o iXEdit XML Editor, que possui vários recursos como verificação e validação do XML, auto-complete e outros.
Tela do iXEdit XML Editor
  • Ferramenta para Carregar o banco de dados com dados artificiais
Gerar dados artificiais para preencher o banco de dados é outra tarefa rotineira em consultorias. Existem muitos softwares bons para isso, porém eu recomendo oSpawner Data Generator devido à sua ótima interface, opções e simplicidade.
Tela do Spawner Data Generator
  • Ferramentas para Rede
Já escrevi um artigo para o iMasters recomendando várias Ferramentas de Rede para o DBA. Em particular, nunca saio de casa sem o PortTunnel, o  ConnectionMonitor  e oTCPView 
Tela do TCPView
Tela do ConnectionMonitor
Tela do PortTunnel
  • Ferramentas para comparar bases de dados
Comparar bases de dados faz parte do feijão com arroz no dia a dia do DBA. Essa tarefa pode ser um inferno na terra dependendo das características do banco de dados. Já escrevi um artigo sobre isso aqui no iMasters chamado Comparação de base dados. Para me auxiliar na comparação de bases, geralmente recorro a scripts prontos e, no caso específico do SQL Server, utilizo o SQL Server Compare.
Tela do SQL Server Compare
  • Ferramentas para abrir arquivo de dados CSV grandes e editar scripts
Manipular arquivos texto no formato CSV com muitos dados requer ferramentas prontas para isso. Recomendo o Notepad2, que é leve, permite trabalhar com expressões regulares na busca/substituição e ainda é um excelente editor de scripts/código fonte.
Tela do Notepad2
  • Conversão automática de instruções SQL entre diferentes dialetos
Ambientes que possuem múltiplos bancos de dados são comuns atualmente. E decorar cada detalhe de cada sintaxe de cada banco de dados é impraticável. Por isso recorro a uma ferramenta que me auxilia na conversão automática de instruções SQL entre vários dialetos chamada  SwissSQL Console
Tela do SwissSQL Console
  • Clientes do SSH, VNC e do Terminal Services
Trabalhar em ambientes remotos requer diversas ferramentas clientes. Algumas já são fornecidas pelo próprio sistema operacional (FPT, TELNET, etc) enquanto é preciso levar outras para onde quer que se vá. Recomendo o Putty  para acesso SSH, o Real VNC  para acesso pelo VNC e o cliente do Terminal Services (Remote Desktop Connect)para ambiente Windows.
Tela de conexão do Putty
Tela de conexão do Real VNC
  • Ferramenta de modelagem
Trabalhar com banco de dados geralmente requer acesso ao modelo de dados utilizado. Por isso sempre estou munido de ferramentas como o  DBDesigner  e oMySQL WorkBench ,que permitem a geração automática e a edição dos modelos do banco de dados.
Tela do DBDesigner
Tela do MySQLWorkBench
  • Ferramenta de ETL
Jogar dados pra lá, trazer dados pra cá. A manipulação de dados com importações, exportações e modificações é outra tarefa básica para quem possui o título de DBA. Para me auxiliar nas tarefas de ETL, recorro às ferramentas Kettle (antigo Spoon) e aoTalend Open Studio.
Tela do Kettle (antigo Spoon)
Tela do Talend Open Studio
  • Imagem de SO Trial ou Open Source virtualizado com o Banco de Dados
Nem sempre posso contar com mais de um sistema operacional no meu computador pessoal e, por isso, recorro à virtualização para poder levar comigo diversos sistemas operacionais e bancos de dados instalados e prontos para serem utilizados. Isso é possível através de softwares como o VMWare , o VirtualPC e o VirtualBox. Geralmente já deixo preparadas várias imagens com os principais sistemas operacionais (Linux, Windows, etc) e os principais bancos de dados (SQL Server, Oracle, MySQL e PostgreSQL) prontos, caso haja a necessidade de realização de algum teste. Quando não consigo utilizar software livre, procuro por versões de demonstração (Trial) ou de estudo. Alias, já escrevi dois artigos sobre virtualização de bancos de dados aqui no iMasters:
Melhores práticas na virtualização do SQL Server Parte 2. Contudo, no cenário de consultoria, utilizo as máquinas virtuais apenas como ambiente de teste pré-configurado
  • Compactador
Trabalhar com grandes volumes de dados requer compactação. Por isso sempre tenho ao meu lado um bom compactador, como o WinRar  ou o 7-Zip 
  • Software para boot pelo Pendrive
Em algumas situações é preciso acessar diretamente os dados de um servidor sem passar pelo sistema operacional. Para isso faço um boot direto pelo pen-drive e utilizo o software Active@Boot.
Essas foram as principais ferramentas que levo quando vou para uma consultoria de banco de dados. Obviamente, existem diversas outras ferramentas e alternativas que podem ser utilizadas e, por isso, convido aos leitores a deixarem comentários neste artigo, indicando quais são as suas ferramentas prediletas quando se trabalha com banco de dados.

Nenhum comentário:

Postar um comentário