DBA - Quem somos de Verdade?
janeiro 22nd, 2010 por Fabio Ishii

Olá,
Depois de uma longo período afastado… mais por causa da Pós e de “estudar” o Twitter,estou novamente escrevendo no blog, li uma matéria ótima sobre o S-Commerce, mas o que realmente significa? Social-Commerce ou comércio eletrônico por meio das Redes Sociais, isso ainda não existe oficialmente mas deve ser a tendência no Futuro.
Analisemos com mais calma. O GPO tem uma comunidade voltada para o Banco de Dados Oracle somos então de certa forma uma Rede Social, grande aliás, que temos bastante coisas em comum. Não conheço todos e nem uma pequena parte da maioria mesmo, mas posso concluir que quase todos temos gostos parecidos: Rock, Jazz e Blues, Produtos de Tecnologia quase geeks (Multifones que fazem tudo inclusive ligações, Notebooks e Micros potentes em casa apenas para citar), estilos de filmes e livros (provavelmente a maioria dos livros serão técnicos e os filmes serão na maioria SciFi ou derivados dos HQs) uma boa parte deve ter hobbies semelhantes como Música (sendo uma maioria Guitarra ou Bateria/Teclado) ou desmontar-montar equipamentos (quaisquer), Seriados (nos próximos posts vou falar sobre o The Big Bang Theory) e com certeza GAMES, e que poste aqui aquele que nunca jogou num vídeo-game ou on-line ou ficou até altas horas da noite para completar/concluir/exterminar alguma missão. Agora, e como Rede Social, como estamos influindo no Comércio? Quantos, dentro do nosso Grupo de Profissionais Oracle, temos o potencial de influenciar as decisões de compra de nossos amigos do GPO? Seja com base nas discussões do Fórum ou em troca de mensagens pelas amizades que criamos aqui, ou até em conversas no Café com GPO?
Podemos nem nos importar com isso que mencionei acima, mas existem muitos profissionais e empresas que estão sim muito preocupados com isso. Antes o Marketing se limitava interagir de forma unidirecional com o “público-alvo” e com isso era possível determinar algumas regras. Hoje com a Tecnologia (essa mesmo que uso para escrever no Blog ou no Twitter) posso expressar ou passar um conhecimento de maneira interativa e portanto receber um feedback online, preciso e até em quantidade suficiente para saber que as “regras” que o Marketing tinha estão num processo de mudança dinâmica. Basta ver a polêmica com a UNIBAN, recentemente com o Blog Nokia NokiaBR que saiu do ar no dia 05 de janeiro desse ano, de como os artistas ainda não sabem lidar com o Twitter.
Tudo isso gera uma massa enorme de dados que ninguém ainda sabe como lidar. As empresas tem Banco de Dados Oracle, milhares de GB de Informação, estamos constantemente nos preocupando com a segurança dessas informações, com os backups dessas informações, da performance de consultas dessas informações mas ninguém ainda se preocupou em transformar essas Informações em CONHECIMENTO.

Olá,
Vamos a mais uma filosófica parada para repensar o futuro… Hoje muito se fala no Cloud Computing, mas eu queria trazer dois assuntos mais antigos para que sejam analisados e que cada um tire suas conclusões sobre isso.
Platão foi discípulo de Sócrates e mentor de Aristóteles, grego, filósofo e matemático, uma de suas obras mais interessantes é o Mundo das Idéias.

Basicamente o Mundo das Idéias de Platão era a segunda parte da Realidade, na primeira parte, Platão chamava de Mundo dos Sentidos, ou seja, onde você sentia e podia tocar objetos e estes materiais era passíveis de corrosão ou destruição com o passar dos tempos, porém havia uma outra parte que era o que Platão chamava de Mundo das Idéias composto de essências imutáveis em suas formas puras. Seria como responder: Como eu reconheço uma Zebra? Apesar delas serem diferentes sua forma e cores são entendidas pelo Cérebro e mesmo que eu nunca reconheça uma única Zebra, sempre reconhecerei a forma e cor da Zebra, então a FORMA da Zebra fazia parte do Mundo das Idéias.
Então, pergunto: Onde está o Mundo das Idéias? Como eu acesso essas informações? Para ilustrar um pouco melhor isso (ou dificultar, não sei bem) todos ouvimos falar sobre a célebre questão: Quem veio primeiro, o ovo ou a galinha? Neste caso, a IDÉIA da Galinha veio primeiro, antes do Ovo e da própria galinha, mas DE ONDE ELA veio afinal? E como eu faço interface com ela? (Essa colocação foi proposital…)
Antes de polemizar o tema, vamos a outro assunto, mas peço que notem de um aspecto macro semelhanças entre elas:

Carl Gustav Jung, psicólogo, discípulo e amigo de Sigmund Freud, pai da Psicologia Moderna, entre suas obras podemos destacar “Memórias, Sonhos e Reflexões” e o “Inconsciente Coletivo“, neste caso falarei um pouco sobre o Inconsciente Coletivo. O que é? Freud, dizia que cada pessoa possuía um inconsciente individual onde todas as frustrações e desejos se manifestavam, porém Jung evoluiu o conceito para o Inconsciente Coletivo. O Conceito é formado pelos Arquétipos que basicamente são “formas semelhantes” e entendidas pelo indivíduo, porém estão todas juntas e podem se acessadas, conforme Jung, por sonhos e símbolos (arquétipos)
Mas novamente, Onde estão essas informações? Como eu interpreto elas? (o Método de Acesso já foi descoberto por Jung pelo Sonhos…) Cada pessoa pode ter Sonhos que tem significado individual para cada uma, mas os Símbolos (arquétipos) podem servir para todos e a chave da interpretação sobre esses símbolos foi o estudo da uma vida inteira…

Para o Cloud Computing tenho as mesmas perguntas… Onde fica? O acesso (ou interface) eu já sei, mas o mais importante de ambas comparações: O QUE EU FAÇO COM ELAS? COMO EU ORGANIZO DE FORMA A SER PRODUTIVA? (nesse caso, financeiramente, evolutivamente, socialmente etc).
Se alguém tiver uma idéia rentável, pode contar comigo,
Abraços
Olá,
Sempre penso em qualquer projeto ou tarefa mais complexa: Qual será o Plano B? Qual nossa rota de saída ou escape caso tudo mais falhe? Acho isso de extrema importância no sucesso de qualquer Projeto. O Plano B deve ser aquele em que nunca se deveria usar, mas quando tudo mais falhar, pelo menos esse não será contestado, seja pela sua qualidade (às vezes pouca, mas funcional) ou pela sua urgência.

Muitas vezes, vi projetos geniais irem para o buraco simplesmente por não ter um Plano Alternativo. Quem nunca fez uma migração urgente de servidor e descobriu que não tinha Backup na última hora? Quem nunca teve problemas de super-aquecimento por causa de uma ventoinha ou ar-condicionado com problemas?
Não importa se não ficou “bonito” ou se não está o ideal, lembrem-se apenas de 2 Regras:
1) O ótimo é inimigo do bom
2) Espere pelo Melhor e prepare-se para o Pior
Tem uma coisa que você pode fazer, mas somente quando for o responsável pelo Projeto. Isso garante confiança da Equipe: O Plano B é para todos os membros mas a decisão de acionar é do Responsável, por isso se você for o responsável tenha ainda o Plano C!! (D, E ou F pode ser meio paranóia, porém em casos de Grandes Projetos, pode vir a serem úteis…)
Abraços
Olá,
Muitas vezes temos notado problemas de tuning de procedures ou de queries dentro de um sistema no Oracle. Na maioria das vezes a solicitação deste “ajuste fino” acaba nas mãos do DBA que tem que ficar correndo atrás de material ou documentação e até de Fóruns (ainda bem que temos o GPO…) para solicitar um apoio e até uma nova visão sobre como melhorar isso ou aquilo. Como já havia dito antes, não sou exatamente um DBA, apenas conheço o Oracle há mais tempo que alguns, mas também fiz meus cursos e estudo por gostar e ter uma certa visão lógica mais apurada. Com isso, na grande maioria das vezes também tenho presenciado problemas de performance causados por três principais razões:
Modelo de Dados inadequado: não vou criticar o modelo de ninguém, apenas temos por necessidade criar ou desenvolver um modelo para atender uma especificação funcional, porém essa visão pode representar apenas uma situação de momento, poucos são os modelos que atendem as expectativas de uma empresa. Afinal para que colocar tratativas Globais de auditoria no TIMESTAMP se a empresa tem apenas uma unidade com 50 funcionários? Por outro lado, alguns modelos não estão preparados para grandes volumes de dados ou de inúmeros acessos simultâneos com diversas atualizações em várias tabelas filhas-mãe-avó-etc. por inúmeros usuários concorrentes. Mas o Modelo de Dados nada mais é que o Resultado de uma Definição de Negócios, que é o próximo item.
Definição de Negócios subestimada: Note que essa definição de negócio é que determina praticamente o Modelo de Dados. Se a Empresa não sabe onde quer chegar, quando deseja (e não quando quer, pois há outros fatores além do querer) chegar e principalmente como investir no resultado, acho muito difícil que essa definição represente algo confiável. Sei que é difícil para as empresas saber isso, mas é necessário. Quem já passou pelo drama de desenvolver algum sistema para Empresas e depois de pronto descobre que precisa ser utilizado para várias empresas o mesmo modelo unificado, sabe bem o que estou falando, ou ainda quem desenvolveu um sistema de fluxo de negócio qualquer e descobre que tem que ter vários níveis de aprovadores que não foi nem mencionado, também sabe o que é isso.
Queries mal-estruturadas: Criam-me que este é o menor dos problemas, isso pode ser resolvido com duas ações principais: Treinamento sobre como o Oracle processa e executa as queries (e isso pode e deve até ser explicado por um DBA, pois fica mais fácil depois de esclarecer alguns locks, waits e enqueues) e princípios de lógica. O ponto está que a lógica da query às vezes é definida pela necessidade do negócio que é dinâmica, ou seja, muda conforme a necessidade de mercado (ou da cabeça do Pseudo-Gerente) e nisso recai os pontos acima… Ora, se a lógica da query muda por causa do Negócio, então A Definição de Negócios pode estar equivocada (não errada, apenas não adequada ao momento) e portanto uma boa parte do Modelo de Dados também deve ter esse problema. Vou colocar um exemplo para esclarecer melhor:
Um modelo de dados de um ERP foi muito bem analisado e desenvolvido para altos volumes, porém em um dos processos havia um gargalo que não foi considerado na época de sua definição, isso somente representaria um problema na seguinte situação: algum processo batch que levasse horas e outros usuários acessando a mesma tabela simultaneamente a esse processo. Como os processos em lote (batch) normalmente podem ser efetuados em horários de menor pico, isso nunca representou uma ameaça. Porém anos depois os processos em lote passaram a ser mais recorrentes (por conta do mercado) e apesar da infra-estrutura ser excelente para o Oracle, os processos em lote quando executados fora do horário de pico levariam alguns minutos, porém nestes horários de pico demorava-se horas e simplesmente travando outros processos on-line. Mas como resolver isso se os horários de pico estão aumentando por conta do crescimento da empresa? Hoje alguns atendimentos são 24X7 e esses processos estão quase sempre com altos volumes, analisar o Negócio e verificar se é possível executar esse lote em outro momento, ou melhor qual o momento adequado para esse processamento? Essa é a alternativa mais coerente, o balanceamento seria melhor distribuído por tarefas. Ponto, colocamos um agendamento para esse processo batch, se mesmo assim o processo continuar a gerar problemas então temos que analisar as rotinas mesmo até chegarmos as queries problemáticas… mas sempre tentar deixar elas por último pois nem sempre o problema será resolvido com elas, pois se a query já estiver otimizada, o volume ser alto mesmo e tempo ser demorado por conta de limitações físicas - pode ser que o resultado ainda não seja satisfatório, em outras palavras, o Tuning deve começar pelo Negócio e depois para a lógica e somente então para o DBA, mas se nem assim resolver ou se verificar que o Modelo de Dados é inadequado melhor ter uma dessas por perto…

Abraços
Olá,
Algumas imagens que circularam na internet que são marcantes (ou não…)


Notebook para que???

Velhas coisas com cara nova…

Uma imagem vale mais que mil palavras…



Ainda não sei onde vende…

Workalcoholic…(ou besta mesmo…)

E da série “Propagandas inexplicáveis…”
Abraços
Olá,
Depois do excelente diagrama do RAID do nosso Amigo Portilho…
Data Guard … Literalmente….
Abraços
Olá,
Aproveitando a vida… segue algumas imagens de invenções tecnológicas que nunca foram (algumas nem deveriam..mas outras seriam sensacionais!!!) inventadas… Enjoy!!







Abraços!
Olá,
Não este não é um post em homenagem ao Ricky Martin (seja lá quem for esse cara, aliás, pesquisando descobri que ele era do Menudo) e sim mais um alerta sobre o estilo de vida do Profissional de TI. Ando pensando nestes últimos dias, por que temos uma vida corrida? Note que meu último post foi sobre a cultura do nano-segundo, agora tenho pensado em como aproveitar melhor a vida.

Temos que aproveitar mais a vida fora do trabalho, curtir a família, os filhos (para os que tem e para os que terão ainda), neste mês de julho, fiquei um pouco mais em casa com meu filho… Com 4 anos e meio, ele já escreve no Micro seu nome inteiro sem ajuda (seu nome é Guilherme… e tem mais 3 contando o sobrenome que não é muito fácil) e com isso fiquei pensando sobre a evolução do aprendizado atualmente… puxa, eu que fui precoce, comecei a escrever com 5-6 anos e fui usar um Tk-85 com uns 16…meu filho já usa um Core Quad e escreve…
Provavelmente ele vai escutar músicas que nunca ouvi e dizer para mim que “viu uma banda que o guitarrista tocava fogo na guitarra no palco” ou que o Baterista tinha apenas um braço, e quando eu disser que o Jimi Hendrix já fez isso em 1969 ou que o Def Leppard teve um baterista assim - Rick Allen - em 1985…mas o pior será ouvir dele “Pai, isso é coisa do século passado!!!” e com razão…
Por isso estou aproveitando melhor a vida… tenho muitas coisas para fazer, mas estou vivendo o presente um minuto de cada vez…
Pensem nisso!
Abraços
Olá,
Será que vivemos na cultura do nano-segundo? Será que não aguentamos mais esperar alguns segundos pelo semáforo abrir? Ou ainda será que não podemos esperar o M$-Windows abrir? Às vezes fico pensando se a Lei de Moore não está nos acostumando a ter resultados cada vez mais rapidamente e nos deixando menos pacientes com a espera…
Tendo trabalhado anos com Implementações de Sistemas, vivi casos onde a Equipe de Desenvolvimento tinham várias outras prioridades definidas por outros clientes e outras empresas parceiras (acho que isso nunca aconteceu com ninguém…) e com isso alguns prazos eram de 6 meses ou até 12 meses de alteração. Não que eu achasse isso estranho, afinal estávamos falando de um Sistema com 5000 tabelas e 15000 objetos no Oracle que dava um total de quase 1 milhão de linhas de código, entendia e entendo perfeitamente que as alterações que eu solicitava (e não eram nada simples mesmo) não iriam sair prontas em 2 semanas muito menos em 2 dias e o prazo era passado para o Cliente com a mesma calma e paciência que eu explicava o contexto inteiro. Desta experiência saíram as teorias da Reunião do XIXI ou do Pseudo-Gerente, aquele que falava “isso é fácil…” ou ainda “É só colocar essa coluna aqui…” ou ainda “Isso demora, no máximo uns 10 minutos…”
Note que eu menciono que o prazo era passado para o Cliente, isso não significa que ele gostava ou concordava até, porém era passado um prazo fixo, qualquer melhora a partir desse primeiro era um ganho, mas nunca passei prazos ridículos. Acho que essa cultura atual de não ter mais a mesma paciência de esperar que um computador responda tende ainda a ficar cada vez pior, porém notei também que essas pessoas que querem as respostas rápidas, gostam de ser enganadas… se você for honesto e responder “Essa solicitação vai levar 4 semanas!” mesmo sabendo que vai levar quase 6 meses, vão reclamar de você…

Pense nisso!!!
Abraços