quarta-feira, 6 de janeiro de 2010

Guia de estudos DB2 - Prova 731 - Introdução


Desenvolvi este material para servir como uma base de consulta e suporte aos estudos para a prova de certificação de DBA DB2 (731). A maior parte do conteúdo é proveniente de anotações que eu fiz conforme ia estudando.

Os estudos basearam-se no Livro "DB2 9 for Linux, Unix and Windows Database Administration", do autor Roger E. Sanders. Também existe um material de estudos online disponível gratuitamente aqui.

É muito importante ter em mente que a prova é em INGLÊS. Então recomendo fortemente que este guia seja utilizado como a primeira leitura para a prova, e depois, que você estude com base nos materiais em inglês.

Dividi o estudo em 7 capítulos para que os leitores possam aproveitar o material do link acima:
  • Parte 1 - Gerenciamento do Servidor - Como administrar seu servidor, consistência de dados, transações, locks, etc.
  • Parte 2 - Gerenciamento de dados - Como criar bases de dados, mecanismos de armazenagem, etc.
  • Parte 3 - Acesso ao banco de dados - Objetos do DB2, índices, compressão, etc, .
  • Parte 4 - Monitoramento- Mostra as ferramentas e técnicas comuns que DBAs tem que conhecer para administrar e configurar seu ambiente DB2.
  • Parte 5 - Utilitários do DB2 - Movendo e mantendo dados, extraindo dados, populando tabelas, etc.
  • Parte 6 - Alta disponibilidade - Backup e Recovery.
  • Parte 7 - Recuperação de desastres.
Ao longo dos próximos posts estarei disponibilizando cada parte citada acima, talvez alguma parte dê mais que um post

Este material não é indicado como uma introdução a Banco de Dados e DB2. Deve ser utilizado por quem já tem uma ótima base e preferencialmente o certificado 730 ou equivalente.

Mais sobre a carreira de DBA e as provas aqui.

Enjoy!

terça-feira, 5 de janeiro de 2010

Introdução a Web Services


Eu e meu amigo José Damico escrevemos um artigo para a Java Magazine 75 intitulado: Introdução a Web Services.

O artigo começa introduzindo o leitor na atual conjuntura de integração e reusabilidade nas empresas e onde os Web Services se encaixam. Passamos pela anatomia básica de um Web Service explicando o lado cliente e servidor, e como a comunicação ocorre utilizando o protocolo SOAP. Explicados os conceitos, partimos para o desenvolvimento de um Web Service simples que recebe um parâmetro e retorna o mesmo concatenando-o com “alo”. Para finalizar, desenvolvemos um cliente que irá consumir este serviço.

Muito obrigado ao Eduardo Espinola pelo convite para participar do time de articulista da JM e as demais pessoas que colaboraram para a escrita do mesmo, espero que seja útil para a comunidade!

segunda-feira, 4 de janeiro de 2010

Introdução a Data Warehouse (DW for dummies)


OBS: Este artigo destina-se a pessoas que tem conhecimentos básicos sobre banco de dados e querem saber o que é Data Warehouse.

Em uma empresa que utiliza um sistema de banco de dados, diariamente são efetuadas N transações. Quando uma compra é efetuada por exemplo, ocorrem várias operações no banco (selects, inserts, updates e deletes). Imagine um sistema maior agora, o que registra as ligações em uma empresa de telefonia celular. Pensando superficialmente, quando você inicia uma ligação, um insert é executado, registrando os dados da ligação, tais como horário de início e número discado. Quando você desliga seu celular, é efetuado um update na linha que foi inserida, registrando dentre outros dados, a hora na qual a ligação foi finalizada. Estas base de dados, tem que estar preparadas para responder rapidamente a transações pequenas e rápidas. Tais bases tem que ter um nível de disponibilidade altíssimo. Não podem cair nunca! Elas são conhecidas como bancos de dados transacionais ou OLTP - Online Transaction Processing ou Processamento de transações em tempo-real.

Os gerentes da empresa de telefonia demandam relatórios sobre as ligações, então naturalmente você já deve estar imaginando um gigantesco select sendo feito na tabela de ligações, cruzando dados com a tabela de clientes, cidades, estados, país, etc, etc, etc. Tudo isso para um simples relatório para ver os dados sobre as ligações que foram feitas em um determinado período por exemplo.

Você acha possível rodar este "simples" select na base que está sofrendo as operações para cadastro de ligações? Sim, possível até que é! Porém é arriscadíssimo e demorado. Um select como este pode facilmente gerar um estouro de memória em uma base, pode retardar outras operações, dentre vários outros problemas.

Qual a solução? Por que não fazer uma "cópia" dos dados em um outro banco de dados distinto, o qual poderá sofrer enormes selects sem afetar o sistema da empresa que não pode parar ou sofrer com lentidão. Essa base criada é a tal de Data Warehouse, também conhecida como DW!

Mas em quais momentos essa "cópia" é feita? Depende! Cada empresa define o momento mais oportuno. Pode ser semanalmente, duas vezes por semana, antes de rodar a folha de pagamentos, etc. Geralmente as grandes empresas de telefonia iniciam a alimentação seus DWs a meia noite (e terminam por volta das 5 da manhã). Tente ligar para a sua operadora neste horário e perceba que o atendente vai falar que o sistema está lento.

As técnicas envolvidas nesta "cópia" são as mais diversas possíveis. Porém você deve ter reparado que todas as ocorrências da palavra cópia no texto acima estão entre aspas certo? Normalmente, não é feita uma simples cópia. São copiados somente os dados relevantes para o DW, ou seja, os dados que serão utilizados nos relatórios, prognósticos, previsões, etc. Neste momento também podem ocorrer algumas transformações nos dados, alguma conversão, a aplicação de uma equação, de-normalização, etc. A esta operação é dado o nome de ETL - Extraction, Transformation and Load.

Este processo de carregamento também é chamado de um processo Batch ou em Lote. Pois movimenta grande quantidade de dados de uma só vez.

Um Data Warehouse tem que ser otimizado para sofrer enormes operações de busca, porém um DW não sofre somente selects. Cada dia mais os DWs estão ficando "espertos", o termo utilizado comercialmente é SMART. O que é isso exatamente? Imagine que você carregou seu DW com os dados das ligações e quer gerar um relatório que além dos dados cadastrados em banco irá trabalhar com os mesmos para gerar forecasts, ou seja, previsões, dentre outras. Então várias operações podem ocorrer em banco para preparar os dados. Com base nos dados "antigos", o banco deve ser capaz de mostrar tendências de comportamento por exemplo. Então acabam ocorrendo outras operações no DW além do select para preparar os dados.

Em teoria, qualquer banco de dados disponível no mercado pode ser utilizado com um DW. Obviamente que vão existir diferenças em desempenho, recursos e escalabilidade. É perfeitamente possível se criar um DW utilizando o MySQL, porém análises técnicas apontam que o mesmo não tem o nível de escalabilidade de um IBM DB2 ou um Oracle por exemplo. Convém a empresa interessada fazer uma extensa pesquisa de mercado antes de escolher seu produto.

Quanto a equipamentos, normalmente um banco de dados já demanda um servidor muito poderoso e enorme quantidade de memória ram. Para um DW, as exigências são maiores ainda. É importante observar que quando falo "um servidor", quero dizer um servidor de banco de dados que pode ser constituído por um ou N computadores. Em grandes bancos, um DW pode ser 50 computadores, cada um com 8 processadores de 8 cores e 200 gigas de memória ram por computador. Os dados em si são armazenados em equipamentos chamados storages, totalizando uma capacidade de vários Terabytes!

Enfim, espero ter dado uma boa visão introdutória sobre DW. Se quiser se aprofundar mais, sugiro procurar por livros relacionados. O "Papa" do DW é o autor Ross Kimball, qualquer livro dele vai agregar muito.

Em breve postarei artigos sobre storages e servidores. Estou aberto a sugestões, críticas e dúvidas.

Enjoy!

segunda-feira, 28 de dezembro de 2009

Conheça o IBM InfoShere

Quer saber com o que exatamente eu trabalho? Ai vai:

quinta-feira, 17 de dezembro de 2009

Transito mais inteligente para uma vida menos stressante

O transito mais inteligente para uma vida menos stressante! É isso ai o que a IBM propões.  Será que os governantes estão prontos para investir e colhers os benefícios?

Isso já é possível, em resumo, basta colocar rfid em tudo e fazer todos os dispositivos conversarem! Fácil, fácil, falta boa vontade! Veja que vídeo simples e que mostra a idéia:







Enjoy!

quarta-feira, 16 de dezembro de 2009

Coca Cola migra de Oracle para DB2 (e fica muito feliz)


Recentemente foi publicado um artigo sobre a migração da Coca Cola de Oracle para DB2 no site Search Oracle em inglês. Fiz um resumo/tradução para vocês, ai vai:

Nesta ano(2009), no processo de upgrade do novo sistema SAP, a Cola Cola precisaria fazer um upgrade de seu banco de dados Oracle do 9i para o 10g para poder obter os benefícios e novos recursos do SAP.

Porém isso demandaria a compra significativa de novas licenças do Oracle, demandando um alto investimento, enquanto se fossem utilizar o DB2, o valor a ser investido seria bem menor.

Eles tinham a preocupação sobre a falta de conhecimento sobre o DB2, pois eles já estavam trabalhando com Oracle a mais que 10 anos.

Porém a IBM e a SAP ofereceram treinamentos que fizeram a curva de aprendizado ser extremamente curta e a Coca percebeu que a falta de conhecimento não seria impactante. A própria SAP forneceu ferramentas para a migração Oracle -> DB2.

A decisão da Coca Cola foi então migrar tudo que era possível para DB2.

O time que fez a migração foi composto por 4 funcionários da Coca Cola e 1 da IBM, durando em média 2 meses e meio.

Uma das bases de produção tinha aproximadamente 1 terabyte. Com a migração conseguiram 40% de compressão de dados. Provando assim as ótimas capacidades do DB2 em tratando-se de compressão de dados, tornando a mesma infra-estrutura que rodava Oracle, capaz de armazenar MAIS dados, reduzindo o custo de armazenamento dos mesmos.

O tempo de execução de processos batch foi reduzido em 65%.

O artigo cita outros fatos interessantes sobre a migração, que abriu precedentes para que outras fábricas migrem gradualmente, pois só obtiveram benefícios.

A frase mais importante que fica do artigo é:
"We have been pretty pleased with the performance, compression savings and things like the self-tuning memory with DB2," he said. "But now the DBAs doing the work have a lot more time to focus on SAP issues rather than Oracle issues."

Uma tradução indireta é: "Estamos muito felizes com a performance, compressão e coisas como tunning automático de memória do DB2", "Agora os DBAs não tem tanto trabalho com problemas do Oracle e podem se dedicar muito mais no SAP."

É isso ai pessoal. Aprendam DB2, vale a pena! Para quem quiser saber como começar, escrevi um post bem direto aqui! Vocês tem acesso a um livro em português grátis, podem baixar o DB2, tem acesso a suporte nos nossos fóruns, etc.

Enjoy!

terça-feira, 15 de dezembro de 2009

DB2 - Fenced user, o que é isso?

Pergunta muito comum para quem está conhecendo o DB2: O que é o tal de Fenced user?

O usuário Fenced é utilizado para rodar funções definidas do usuário (user defined functions - UDFs) e determinadas stored procedures.

Mais detalhes aqui.

segunda-feira, 14 de dezembro de 2009

Jogos online que envolvem dinheiro são "sadios"?


Está havendo um aumento massivo no número de jogadores de jogos casuais via internet, um bom exemplo disso é o "Colheita Feliz", que é uma mini aplicação para o Orkut na qual os usuários criam uma fazenda e a administram, plantando e colhendo legumes e frutas, cuidando de animais tais como Galinhas, Vacas, etc. A fazenda vai rendendo “dinheiro virtual” e o mesmo pode ser utilizado para comprar sementes e animais mais caros, e assim vai se evoluindo no jogo. Além disso, para que sua fazenda cresça ou para comprar coisas avançadas, você vai precisar de experiência, que é ganha conforme se joga (lentamente).

Só isso não garantiria o sucesso do jogo! O que realmente faz com que esse tipo de jogo se destaque é a possibilidade de interação com outros usuários do Orkut que também o tenham instalado. Nele você pode roubar coisas de outras pessoas, presenteá-las com flores, cuidar de suas plantações e animais e até jogar praga na fazenda alheia, ganhando/perdendo popularidade.

Os itens mais avançados do jogo (pavão, frutas exóticas, etc) custam dinheiro de verdade para o "fazendeiro", se quiser tais itens o mesmo vai ter que passar o número do cartão de crédito e pagar por isso! Ai o Orkut ajuda o jogo a ganhar grandes proporções, pois as pessoas querem ser as melhores por natureza, tendo os bens mais caros (o mesmo sentimento que motiva uma mulher a querer uma bolsa Victor Hugo ou um óculos Dolce Gabana... e um homem a ter um carrão da hora), as pessoas não se conformam em ter uma fazendinha com uma galinha e plantação de Nabo.

Ficamos com algumas importantes questões em aberto em relação a esse jogo: esse tipo de jogo on-line é mais viciante que um jogo off-line? Essa motivação em ter as coisas melhores move as pessoas a jogarem mais e gastar seu dinheiro para "evoluir"? Até onde isso é sadio? Temos que observar os aspectos negativos e positivos do jogo.

É claro que eu estou jogando Fazenda Feliz para poder escrever este artigo com alguma base estatística, conhecendo pessoas que jogam. Em uma amostragem de 10 pessoas com perfis diferentes (homens, mulheres, casados, solteiros) que instalaram o jogo, 7 jogam diariamente, 2 joga eventualmente e 1 não gostou e abandonou. Dos 9 que jogam, 4 já gastaram algum dinheiro real e 3 me falaram que jogam no trabalho visitando a fazendo pelo menos uma vez por dia.

Podemos dizer que jogos online que envolvem dinheiro podem ser classificados como jogo de azar, pois eles induzem claramente o usuário a gastar dinheiro, pois para alcançar as vias máximas do jogo, só pagando. É fato que a maioria dos jogos online (e não só os online) não agregam NADA intelectualmente, muito pelo contrário, só desagregam, a não ser que você seja uma criança aprendendo a fazer contas, cores, palavras, etc, aí os jogos podem até te ajudar a se desenvolver. Existem pesquisas que mostram que jogos online destroem a atenção das pessoas, que mesmo no trabalho ficam pensando no jogo ("como será que minha plantação está..."), e acabam jogando em horário de expediente quando possível.

Porém não podemos dizer que jogos que não agregam nada não devam ser jogados, senão jogaríamos no lixo a maioria que está disponível por ai! As pessoas tem direito sim a fazerem algo para relaxar, algo que simplesmente não ocupe demais o cérebro, realmente, usufruir uma "porcaria", é o fator diversão.

Existem jogos sim que estimulam as pessoas, e pesquisa que demonstram isso provando por A + B. Jogadores de videogame tem maior atividade cerebral. Porém este não é o caso de um jogo como Colheita Feliz por exemplo.

Na minha modesta opinião (que pode mudar), jogos online que envolvem dinheiro podem ser jogado com cautela. Eu acredito que estes tipos de jogos irão dominar a cabeça de pelo menos metade das pessoas que os jogam e que elas vão acabar gastando dinheiro com isso e mais tempo que elas deveriam. Porém, é um problema gastar para jogar? Dependendo do tipo de jogo, eu acredito que sim!

Algumas pessoas podem argumentar que os produtores do jogo precisam ganhar dinheiro de alguma forma. Na minha opinião os jogos online deveriam viver de publicidade ou de aluguel, porém, esta última opção só será valida quando tivermos banda realmente larga e conteúdo sob demanda decente, compraremos jogos (tal como um Guitar Hero) online e pagaremos pelo tempo que estivermos com ele, como uma locadora, ai sim, acho justo pagar, trata-se de um "aluguel" por um conteúdo de qualidade.

Por enquanto, tenham cautela, usem a parte grátis dos jogos ou procurem por opções que não suguem seu suado dinheiro.

sexta-feira, 11 de dezembro de 2009

Frase para a geração X e Y

Essa vale a pena, principalmente para a geração X e Y:

“Não andeis ansiosos por coisa alguma; antes em tudo sejam os vossos pedidos conhecidos diante de Deus pela oração e súplica com ações de graças.”

Filipenses 4:6 

quinta-feira, 10 de dezembro de 2009

Novo livro grátis - Getting started with IBM Data Studio for DB2


Pessoal, a IBM está disponibilizando um novo livro gratuitamente: "Getting started with IBM Data Studio for DB2".

Data Studio é uma ferramenta para gerenciar dados no DB2, muito interessante!

Para download, clique aqui.

Só para lembrar, já oferecemos gratuitamente o Livro "Iniciando com DB2", em português! Eis o link.

Enjoy!

quarta-feira, 9 de dezembro de 2009

Estágio na IBM


Pessoal, a IBM está com 150 vagas de estágio previstas para o 1 Quartil de 2010. As inscrições no site foram abertas segunda-feira (23/11) e irão até o dia 15/01.

O Programa de Estágio (Passaporte IBM) tem como objetivo principal estimular o desenvolvimento profissional dos estudantes através de experiências práticas do dia-a-dia dos negócios, para que eles adquiram novos conhecimentos e se tornem profissionais qualificados e diferenciados.

Quem pode participar?
 
São elegíveis ao Programa de Estágio IBM, estudantes regularmente matriculados em instituições de ensino oficialmente reconhecidas, em cursos de nível médio/superior.

Se o estagiário perder, por qualquer motivo, a condição de estudante ou se transferir para um curso não compatível com os objetivos da IBM, o estágio poderá ser dado por encerrado.

Para se inscrever, vá em http://www.ibm.com/br/estagio/

OBS: Não sei dar informações sobre salário, provas, etc....

Boa sorte!

terça-feira, 8 de dezembro de 2009

IBM e Consist fecham acordo que pode gerar US$ 200 milhões em receita

A IBM e a Consist fecharam um acordo de homologação e implementação dos software da empresa utilizando o banco de dados DB2. A Consist é uma empresa de software brasileira com presença internacional.

Vale muito a pena conhecer o DB2, ele é o banco que mais cresce no mercado! Se quiser conhecer um pouco mais, fazer o download gratuito e estudar, veja este post meu mesmo.

Sobre as notícias, veja mais aqui e aqui.

Enjoy!