Memnemonics fike’s Rotating Header Image

oracle

OpenJDK e JNLP

   Com a nova política da Oracle para distribuição do Java Hotspot nas distribuições linux, forçou a remoção dos pacotes java dos mesmo. As “distros” que  mais tiveram “impacto” foram o Debian e o Ubuntu.  E se você ficou órfão  e não pode mais  usar o Internet Banking ou alguma aplicação JNLP, tem um jeito de resolver. :)

Resolvendo do jeito Debian-Way,  basta instalar (Estou usando a versão instável/SID e AMD64/64 bits) os pacotes icedtea-netxicedtea-pluginicedte6a-plugin.

Algumas coisas irão parar de funcionar, Internet Banking do Santander não funciona em nenhum browser, o Banco do Brasil funciona no iceweasel/firefox.

Se precisar alterar as configurações (proxy, certificados) pode executar o comando itweb-settings.

Java Web Start with Openjdk

2º encontro do NoSQLBrasil e reflexões

 

    Tenho que agradecer o Alexandre Porcelli pela a oportunidade de participar com um lighting talk. O evento foi excelente, apresentações muito boas e técnicas (exceto a minha. :P ).

    Algumas palestras como da Microsoft e da Oracle fizeram-me refletir sobre algumas coisas do mercado de TI. Basicamente no mundo da Operação ou Sustentação:

 

- Big Data e Storages
   Com cada vez mais equipamentos conectados a Internet ou sistemas corporativos, está cada vez mais complexo gerenciar sistemas e infraestrutura. Tem-se informação demais e a necessidade de extrair tendências, relações, histórico, etc. Qualquer sistema a ser pensando (principalmente que envolva a internet) pode ter volume de transação ou acesso muito acima do que tinha-se planejado. 

    Os dados para armazenar, principalmente informação histórica ou legado crescerá exponencialmente. Storage do jeito tradicional, com a preocupação de Raid Group, Raid Type e etc. terá a importância menor. Pensarão em Provisionamento Dinâmico, Virtualização de Storages e robôs de Fitotecas.  

    Também ficará cada vez mais usado a "Tierização" ou seja, conforme o uso de um determinado dado tem acesso recorrente, o Storage automaticamente movimenta este de discos mais lentos para mais rápidos. 

    Nunca pensei em afirmar isso com grande convicção mas cada vez mais o uso de NFS (arquitetura Network Attach Storage) ou outro sistema de arquivo distribuído será cada vez maior pois conectar tantos equipamentos com "fibra ótica"  (SAN)  tem um custo operacional de crescimento do que uso de sistema de arquivo distribuído quando é necessário pensar em escalabilidade rapidamente.

    Só para deixar claro que transações OLTP ainda confio em Storages SAN mas confesso que a arquitetura Scale Out para armazenamento tem chamado minha atenção ultimamente, principalmente para uso de dado não estruturado como bancos de dados NoSQL, Áudio, Vïdeo, etc.

- NoSQL e Big Data

   Então, basicamente em qualquer sistema pode ocorrer o problema do sucesso além do esperado. Aí é cache, cache, cache onde puder ter para dar conta e ou abrir mão de alguma coisa de uma aplicação tradicional CRUD ou banco de dados relacional.

- Pradonização de produto não, processo:

  Isso é um pouco ainda difícil de aceitar mas é um fato. Se você é responsável por uma operação de infraestrutura ou serviço, perceberá que não adianta adotar um tipo de virtualização, um banco de dados, um tipo de sistema operacional, etc. Cada vez mais tem-se que encontrar soluções rápidas e adequadas para sustentar o negócio.

  O mais importante é o controle dos processo da operação de infraestrutura. Mesmo porque a operação não está, necessariamente na sede da empresa, está na nuvem.

- Virtualização é um commodite:

  Não sei se ambientes pequenos isso acontece/acontecerá mas em muitas situações tem hypevisor (Xen, KVM, VMware, Hyper-V, etc.) diferentes com ferramentas para gerenciar.  Felizmente existe algumas soluções interessantes para esse tipo de gerenciamento como Openebula e OpenStack.

-  Soluções poliglotas:

  Então fã de uma linguagem de programação, pode continuar encantado com ela mas a oferta é tanta de soluções que muitas delas estão desenvolvidas em uma linguagem diferente que você gosta. Terá que aprender como adequá-las para suas necessidades (Perl, Python, Ruby, Java, Scala, etc… ). Um aparte: Gostei muito do Elastic Search.

- DBA, é o fim

  Não é o fim do DBA mas tornara cada vez mais um nicho especifíco. Muito da responsabilidade do DBA com o Big Data está com o desenvolvedor ou arquiteto da aplicação. Principalmente com os bancos de dados NoSQL.

- Sysadmin/Sysops/Devops/FuckOps

  De certa maneira também o sysadmin tem suas funções alteradas, os conhecimentos de ferramentas de configuração (Chef, Puppet, Cfengine, etc…) e administração de servidores na "nuvem" é cada vez mais frequente. Ah, se você é um sysadmin que não tem caguete de programação é melhor rever seus conceitos senão também sua área de atuação ficará mais limitada.

- Enfim, ganhamos e não sabemos:

   Os grandes, aparentemente perderam o bonde da virtualização de servidores, estão brigando numa "camada" acima. A tal de Sky Computing, tanto que a Microsoft com o Azure, IBM com Smart Cloud, Oracle com a Public Cloud, Google com App Engine. E eu achando que Daas com PostgreSQL era o bacana. :)

 

Obs. Tá meio troll esse post. Se tiver afim de aprofundar algum assunto, comenta aí que depois comentou ou posto algo menos genérico. ;)

PostgreSQL: Hints que não chegarão nele

    

    

Estava esperando o Telles (poderia traduzir esses post, hein!!!) escrever alguma coisas à respeito mas como não o fez até o momento…

    Hints é uma funcionalidade do banco de dados Oracle que muitos DBA reclamam que no PostgreSQL não tem. Frequentemente nas listas do PostgreSQL alguém pergunta porque não tem Hints e dá uma confusão danada! 

    No planeta do projeto, alguns desenvolvedores postaram sobre o assunto:  Josh Berkus que explica como surgiu o Hints no Oracle e porque o PostgreSQL não tem.  Jeff Davis que explica que Hints existe no PostgreSQL mas com uma abordagem diferente. E Robert Treat um pouco mais puto.

    De tão recorrente, até no FAQ tem uma entrada a respeito.

    Josh Berkus escreveu uma frase que simplesmente resume tudo:
 

"PostgreSQL não tem dicas de consultas porque não somos uma empresa de fins lucrativos."

    

    E você, o que acha?

Oracle: A maior e melhor plataforma java de todos os tempos

  

    Alguns anos atrás a Oracle tinha muitos produtos de infra-estrutura java mas de péssima qualidade. Tanto que fan-boys Java faziam pouco caso dos produtas deles.

  Porém, quando Larry Allisson atiçou sua sede de aquisições sem precedentes na história tecnológica. Uma das empresas adquiridas foi a BEA Systems que tinha em ser portifólio,  a melhor máquina virtual java (JRockit) e um excelente servidor de aplicação java, conhecido como WebLogic.

   Com a aquisição da Sun, a Oracle tem definitivamente as melhores soluções para arquitetura java. Servidores SPARC, Sistema Operacional Solaris, as máquinas virtuais da Sun e JRockit, além de ter dois excelentes servidores de aplicação java (WebLogic e Glassfish).

   A notícia que a próxima versão (Java 7) da máquina virtual Sun Oracle terá código-fonte vindo do JRockit e do Hotspot (Nome da máquina virtual daSun Oracle), possivelmente terá um aumento significativo de performance, debug mais apurado e mais recursos de monitoramento. Importante observar, qual será o estratégia em relação ao WebLogic e Glassfish, se tiver a fusão dos códigos, sem dúvida poderá ser o melhor servidor de aplicação Java.

 

   Caso a Oracle adote essa estratégia, poderá ser a empresa dominante em todos os sentidos na pilha Java, do Hardware (servidores) ao Servidor de Aplicação Java (também conhecido como J2EE ou JEE). A frente da IBM com Websphere, Red Hat com Jboss e Icedtea, Fundação Apache com Geronimo e Harmony e do Consórcio OW2 com JOnas.

   

 

   Da pior para a melhor, a competição no mercado Java está só para gente grande, vamos esperar o que os concorrentes irão fazer para manterem-se competitivos.

Eu fui: FISL10

 

 

  O FISL é como uma festa religiosa, todo ano as pessoas fazem romaria para participar da festa. Para muitos de nós nerds/geeks o FISL é nossa festa santa, nossa Festa da Padroeira. :)

  O FISL 10 que acabou de acontecer foi especial pois é a comemoração de 10 anos de evento. Muita gente que deixou de vir, voltou a participar do FISL. Com um pouco mais de 8 mil pessoas, o evento contou com a ilustríssima presença do Presidente da República.  Não lembro se um presidente de um país fosse para um evento de Software Livre. :D

  Esse ano ajudei um pouco mais do que costumei, ajudei na avaliação das palestras  e apresentei uma palestra sobre o PostgreSQL 8.4, também ajudei  na coordenação do evento comunitário do PostgreSQL. É sempre bom reencontrar os amigos, conhecer pessoas e etc. Resumindo…

 

  Palestras

  As palestras estavam muito diversificadas, com palestras de excelente nível técnico à palestras mais filosóficas mas ainda sim muito interessante. Esse ano as palestras patrocinadas estavam marcadas com "P", facilitando que o participante do FISL identificadas como palestra de Patrocinadores, umas das grandes reclamações do ano passado foi atendida pela organização.

  Num universo de mais de 300 palestras, sempre tem as ruins, de pouca qualidade ou inexperiência do palestrante em apresentar. Esse ano foi diferente e isso faz parte do evento. Ter 100% de palestras excelentes é um desafio quase que impossível pela os diferentes interesses objetivos e interesse dos participantes. As poucas que vi, gostei.

  O Peter Sunde do Pirate Bay foi imperdível.  Richard Stallman, John Maddog Hall e Sérgio Amadeu fizeram suas apresentações tradicionalmente cheias e empolgantes.

  Para variar, eu sempre termino na última hora minha palestra, espero que as pessoas não tenham odiado demais.

 

  Infra-estrutura

   O problema com internet ainda continua sendo um problema para quem usou as diversas redes sem fio. Tinha tanta rede sem fio (criadas pelos participantes) lá que todos os canais de frequência estavam lotados, com muita interferência. Quem usou conexão 3G conseguiu usar internet melhor.

   Quem sabe no FISL 11 teremos uma rede MESH que resolverá esse tipo de problema? Voluntários?

   Esse ano foi mais organizado que o ano passado, as filas dos crachás foram pequenas comparado com os anos anteriores. Tinha boa sinalização das salas.Os estandes em maior quantidade e melhores, uma sala de imprensa e blogueiros. A impressão geral que esse ano estava mais organizado.

 

   Geral

    A relação do evento com instituições públicas e palestrantes internacionais ainda ficou um pouco a desejar. =/
    O evento acabar às 18 horas todos os dias (exceto sábado) não foi legal.
    Esse ano eu perdi a Festa de Lançamento do Lenny no estande do Debian, pensamos em aproveitar e comemorar junto o lançamento do PostgreSQl 8.4 mas não nos organizamos o suficiente (PostgreSQL Brasil), quem sabe o ano que vem. :)
    O César Cardoso quebrou sua missão de não assistir palestras e esse ano assistiu.
    Seria bom ano que vem ter uma mini-pgcon brasil dentro do FISL. :)
    Senti a falta do estande do Google e a presença da IBM e a Oracle estve com um estande
    Ah, ia deixar passar batido. Não participei mas pelo que vi o Festival de Cultura Livre foi bem bacana.
    Por fim, fazer o encerramento na área de estandes e comunidades foi bem legal. :D

Oracle compra Sun: comentários…

    Possivelmente é a notícia mais importante de 2009 até o momento, a compra da Sun pela Oracle. Depois de muita especulação sobre quem compraria a Oracle levou a Sun com um valor um pouco acima de 6 bilhões de dólares. Já deve ter muitas análise e palpites sobre o futuro, vou falar os meus aqui. :D

    Uma pulga atrás da orelha…

    O que explica uma empresa que tem uma boa arquitetura de hardware (Sparc), uma plataforma (java) para aplicações largamente usada, uma suíte de escritório (OpenOffice), um sistema de virtualização (Virtualbox), um banco de dados (MySQL), um servidor de aplicação (Glassfish), um sistema operacional (Solaris) e uma IDE de desenvolvimento (NetBeans). Além desses citados, ela tem alguns anos a frente com Computação em Nuvem  (Cloud Computing) e HPC (Computadores de Alta-Performance). Como ela saí para o mercado se oferece de porta e porta para ser comprada?

    Eu não consigo afirmar categoricamente mas a Sun nos últimos dez anos teve muito mais anos de prejuízo do que lucro (Alguém confirma?). 

    As várias compras feitas pelas Sun nos úlitmos anos foram para capitalizar a empresa para ser vendida?

    A saída de pessoas importantes da Sun do MySQL (Criadores do MySQL) e PostgreSQL (dois dos principais desenvolvedores) já eram algum sintoma do caminho que ela estava rumando?

 

    O que a Oracle comprou

    A Oracle levou uma das principais empresas infra-estrutura em ambientes corporativos, praticamente fecha toda a pilha de soluções possíveis de ser fornecida para uma empresa. poderá oferecer desde o hardware, sistema operacional até a solução de gerenciamento da empresa (ERP e etc…). Ela pode oferecer soluções para grande porte ou pequeno porte pois tem muitos produtos semelhantes para público diferentes. O público atual da Oracle vai desde empresas de alta-tecnologia(HPC) à usuários finais (OpenOffice).

 

    O que vai mudar com a compra da Sun pela Oracle?

     Essa é a mais difícil responder mas pelo histórico de IBM e a própria Oracle, os projetos em Software Livre/Código Aberto continuaram do mesmo jeito, elas terão maior aderência aos produtos dela mas não deve mudar muito. O que deve mudar a forma de relacionar com as comunidades pois a relação que Sun mantinha era controversa. Para contribuir com os projetos da Sun, você  tem que ceder seus direitos autorais para ela, alguns eram a favor pois facilita juridicamente a defesa dos projetos.  Projetos como OpenOffice tinham esse tipo de relação, porém alguns dizem que isso era perigoso pois a renúncia dos seus direitos autorais é um ato que só beneciava a Sun.

    Os projetos que Oracle contribua ou doa o código como o Kernel Linux e Brtfs, ela segue o guidelines dos projetos. Não duvidaria que o ZFS mudasse a licença e tivesse uma fusão com o Brtfs. :)

   Isso poderia acontecer com os outros projetos ou criar fundações para que o projetos tivessem autonomia maior no desenvolvimento. Um projeto como OpenOffice tendo maior autonomia maior e uma fundação sustenando o desenvolvimento deixaria mais propenso outras empresa contribuir de forma mais efetiva.

    Meu palpite é de que onde a Oracle não tem produtos fechados (software proprietário), incentivará o uso de Software Livre. Pode ser um pouco batiro para alguns mas para muitas pessoas essa estratégia não é tão clara. Fica mais claro quando observamos que a Oracle é umas das 10 empresas que mais contribuem com código no Kernel Linux, mas não vemos alguma coisa do Oracle Database (banco de dados) liberado com alguma licença livre/aberta.

    A Oracle tem muitos produtos que estão sobrepostos como JD Edwards e Peoplesoft, JRockit e Sun JVM, Weblogic e GlassFish, Oracle Database e MySQL, Solaris e Oracle Unbreakable Linux, NetBeans e Oracle JDeveloper. São produtos de boa aceitação comercial e/ou técnica.

 

   E você sysadmin, o que tem haver?

    Se você por acaso já teve que manter alguns sistemas que foram desenvolvidos pela Oralce antes de alguns dos sistemas acima serem adquiridos sabem o inferno que era/é manter coisa como: Oracle Application Server, Oracle Internet Application Server ou Oracle Internet Directory. São bem divertidos (irônico) de manter em ambientes corporativos complexos. Com os novos produtos dentro da casa ser mais fácil e documentado sustentá-los. :D

 

   E o PostgreSQL?

     Numa visita no Brasil do Bruce Momjian (líder do time de desenvolvimento do PostgreSQL) comentou que em cinco anos o PostgreSQL seria o banco de dados mais utilizado no mundo. O PostgreSQL deverá continuar com seu crescimento contínuo e linear sem grandes alterações pois a comunidade é bem forte e distribuída entre várias empresas que o apóiam.

 

    O MySQL?

    Continuará com boa penetração de mercado mas tenderá a ter menor participação pois seus projetos derivados (Drizzle, MariaDB) ocuparão quando estiverem estáveis ou coisas como CouchDB, Xapian e Lucene tenderão ocupar alguns nichos do MySQL. Mas onde o MySQL competir com o Oracle Database, provavelmente será priveligiado o Oracle Database.

 

   Observação

     A  Oracle é como qualquer outra grande empresa, contribuir para os projetos de Software Livre/Código Aberto é só uma pequena parte de suas operações, não fazem caridade. ;)

Luis Nassif e o PostgreSQL

   No blog do Luis Nassif saiu uma nota bem inusitada para quem acompanha, tem uma pequena nota sobre PostgreSQL:
 


O PostgreSQL

 

Tenho ouvido falar muito no PostgreSQL. Dizem que tem um sistema de arquivar em memória as modificações, tornando o processo mais rápido. Mas que, às vezes, dá sobrecarga que resulta em tilt.

Alguém conhece vantagens e desvantagens desse banco de dados, em comparação com outros abertos e fechados?"


   O PostgreSQL não tem um sistema de arquivar em memórias em memória as modificações. Tem um log transacional que é armazenado em disco antes de ser efetivado no disco rígido, sendo esse mecanismo semelhante ao banco de dados Oracle.

   Como muitos elogiaram e para não ser redundante, citerei algumas coisas que o PostgreSQL está um pouco atrás.

- Interface de gerenciamento do PostgreSQL:

    O mais conhecido e de código aberto é o PgAdmin3 que tem uma boa interface e recursos mas ainda não tem os mesmo recursos das ferramentas "oficiais" de gerenciamento do Oracle e Microsoft SQL Server. Existem soluções proprietárias para gerenciamento do PostgreSQL que são similares aos de outros banco de dados.

- Alta-Disponibilidade/Cluster:

  O PostgreSQL ainda não tem uma solução de alta-disponibilidade/cluster como o Oracle RAC, existem ferramentas livres que possibilitam atingir o mesmo nível de qualidade de serviço mas com uma complexidade maior que o Oracle RAC.

- Privilégio por coluna:

  Está sendo incorporado no PostgreSQL 8.4/8.5 que deverá ser lançado no primeiro semestre de 2009. Por enquanto não é possível separar privilégios de usuários por coluna de uma tabela.

- Visões Materializadas:

  Apesar de ter algumas estratégias de como conseguir usar Visões Materializadas, ainda é uma função oficial do banco de dados.

- Proteção para Força Bruta:

  Hoje ainda não tem proteção nativa para ataque de força bruta. Apesar de ser possível atenuar com SE-PostgreSQL, Database Firewall (infelizmente ainda não tem um DF em Software Livre com suporte para PostgreSQL) ou ferramentas externas com firewall, IDS, etc.

- Auditoria: 

   Não tem uma função nativa, pode criar usando alguma das PL’s disponívels para criar funções e gatilhos para auditoria.

 

   Sem dúvida tem outros problemas/limitações que não estão citados smas nada que a comunidade possa contribuir para resolver. ;)

Comentários iniciais sobre Oracle RAC

   Ultimamente tenho trabalhado mais com Oracle RAC do que PostgreSQL. Para quem não conhece, Oracle RAC é uma solução de cluster para banco de dados Oracle

   Nessas minhas últimas semanas de manutenção, minhas impressões iniciais são:
 

 1 – É uma caixa mágica que ninguém sabe como funciona por dentro.

2 – Os idiotas que desenvolveram não entendem porra nenhuma de System V.

3 – Heartbeat é para checar o estados dos nós de um cluster ou serviços, não para replicar dados dentro dele.

4 – Modificar o coreutils e incrementar biblioteca quer permite acesso como O_DIRECT é quase o mesmo que mandar o Sistema Operacional para o limbo, prá que um SO mesmo?

5 – OCFS (não o OCFS2) é uma bomba-relógio, se tem Oracle nele, tenha plano de saúde.

6 – Não adianta te enganarem, RAC não foi feito para trabalhar em rede WAN.

7 – Não se preocupe, alguns erro ORA-XXXX são considerados normais. (hã?) -

8 – Se sua rede não é confiável, esquece de usar RAC, ele irá cair e você demorará para entender onde está o problema. Na verdade, com um hardware intermediário ele já tem surtos psicóticos.

9 – Tenha uma bendita conta no Metalink, senão viverá menos dias diante ao caos.

10 – Se você não tem suporte nem da Oracle, nem Red Hat (Debian é mais rápido, quer apostar?), pode instalar em qualquer Linux decente que funciona igual ou mais rápido.

11 – Ainda bem que o PostgreSQL não é Oracle e não existe nenhum projeto estável que se inspire no RAC. :P

 

 

Obs: Convença-me que estou errado, ficarei feliz com opiniões divergentes. ;)

Entrevista com Leandro Dutra: Arquiteto de Dados

   Estava precisando recomendar a contratação de um Arquiteto de Dados para uma instituição e estava faltando uma base mais sólida para sustentar a proposta de contratação. Decidi perguntar para o Leandro Dutra que é Arquiteto de Dados e no fim acabou virando uma bela de uma entrevista. Obrigado Leandro pela disposição em responder as perguntas. :)

   Na entrevista, usamos AD para Arquiteto de Dados e DBA para Administrador de Base de Dados.


1 – O que é um Arquiteto de Dados?

    A pessoa responsável pela arquitetura e administração dos dados de uma organização.
No caso, a arquitetura envolve desde a arquitetura de sistemas de bases de dados até a modelagem dos dados e sua manutenção; e a administração seria mais especificamente a manutenção dos modelos e dicionários de dados.

2 – Qual a interação de um Arquiteto de Dados e um DBA? Ou é a mesma coisa?

    Muitas vezes, em organizações menores ou menos estruturadas, a administração de dados é efetuada pelo Administrador de Bases de Dados. Mas normalmente, o DBA deve se ocupar da administração diária dos bancos de dados físicos e seu conteúdo, efetivamente uma administração dos Sistemas Gestores de Bases de Dados. Enquanto o AD deve se ocupar do projeto das bases de dados e sua estrutura lógica, não se envolvendo diretamente nos aspectos físicos.

3 – Com essa afirmação, é possível supor que o AD seria o chefe de DBA (vou manter a sigla por enquanto…)?

    Não, eles colaboram em níveis hierárquicos similares. Imagine um novo sistema.  O arquiteto de dados será responsável pelos aspectos lógicos, principalmente a modelagem da estrutura da base; o DBA participará do projeto físico, como questões de distribuição, processamento e armazenamento. Um não trabalha sem o outro, e enquanto o projeto lógico deveria teoricamente determinar o físico, restrições tecnológicas podem (embora indesejável) determinar aspectos do lógico.

4 – Como você afirmou acima, as vezes o DBA acaba executando algumas funções que estariam com AD, no Brasil tem mercado para um Arquiteto de Dados?

    Ainda restrito e subvalorizado, mas tem.  Empresas que têm na informação seu principal meio de trabalho costumam contratar ou formar um quando amadurecem.  Bancos, empresas de informação de crédito, seguradoras e até corretoras de seguros, mesmo fornecedores de programas (é o caso de meu empregador atual).

    É verdade que há retrocessos, como o advento da terceirização; assim, há o caso de uma multinacional fabril que terceirizou a mão de obra, de modo que a mesma vaga, que antes percebia determinada quantia CLT, hoje percebe a mesma quantia mas em regime PJ, sem correção significativa. Outro fator detrimental é o foco em produtos, não em conceitos e processos.  Assim, a mesma multinacional já deixou de contratar ótimos candidatos por falta de experiência em determinada marca de ferramenta de administração e diagramação, sendo que o candidato em questão tinha experiência suficiente em mais de uma ferramenta completamente equivalente.

    Resumindo, ainda é um mercado bastante imaturo, o que leva a situações como as recomendações do AD serem vencidas por meras impressões e preconceitos de pessoas sem experiência com dados, opinando simplesmente do ponto de vista de vícios de programação por exemplo.

5 – Então é possível afirma que para um Arquiteto de Dados não é necessário ter conhecimento em vários banco de dados?

    Em princípio não.  Entretanto, devido à imaturidade de vários SGBDs — citem-se por exemplo, mas não exaustivamente, suporte deficiente a tipos de dados em Oracle, MS SQL Server, Sybase e MySQL, e problemas graves de desempenho e consistência neste último —, muitas vezes é conveniente que o AD possa compreender essas especificidades e trabalhar com o DBA e os desenvolvedores para adaptar a arquitetura e o modelo de dados às circunstâncias tecnológicas.


6 – Não citou o PostgreSQL, ele é um boa referência para quem quer iniciar uma carreira como AD?

    Uma das melhores, no mesmo nível do IBM DB2.  São os SGBDs que têm o melhor suporte tanto ao padrão ISO SQL:2003 (o 2006 ainda não se fez sentir no dia-a-dia) quanto ao modelo relacional — ambos com restrições, mas ainda assim superiores a todos os concorrentes mais óbvios. Entretanto, sendo uma área de atuação eminentemente lógica, recomenda-se, mais que determinados SGBDs, o futuro AD tenha um bom domínio tanto do modelo relacional, quanto de outros aspectos da teoria da gestão de bases de dados, e inclusive do padrão ISO SQL:2003 em si.  As referências padrão, pela atenção que dão aos aspectos lógicos, são as obras de Christopher J DATE, embora polêmicas em vários aspectos que chegam a suscitar reações apaixonadas contra e a favor de vários praticantes de prestígio.


7 – Esse é um ponto interessante, pois reflete em alguns aspectos teóricos que envolvem o DBA. Um AD necessariamente deve ser um DBA também?

    Não necessariamente.  Entretanto, justamente devido a todas as restrições tecnológicas atuais, é interessante que o AD tenha a capacidade de adaptar-se a circunstâncias, o que pode ser facilitado se ele tiver tido alguma experiência com aspectos físicos, seja como DBA, programador, analista de sistemas, SysAdmin…

    Isso lhe dará mais empatia com posições eventualmente divergentes na negociação de projetos de arquitetura de dados e modelagem, e possibilidade de dialogar com os problemas físicos reais ou imaginários freqüentemente trazidos por outros profissionais.


8 – Pensando que uma empresa irá contratar uma consultoria para área de banco de dados, o que a mesma economizará contratando um Arquiteto de Dados ao invés de ter somente DBA´s?

    Nem tudo na vida são economias.  Embora o principal foco do AD não seja monetário, porque o resultado do seu trabalho dificilmente &
eacute; mensurável nesses termos, há muitos erros de projeto caros que podem ser minorados pela presença de um AD, ou pelo menos de um DBA com preocupação pelos aspectos lógicos. Por exemplo, um dos aspectos do trabalho do AD é a normalização, que evita duplicação de dados que normalmente torna o desenvolvimento do sistema como um todo, mesmo na fase de programação, mais complexo, frágil, lento e arriscado, podendo também gerar custos de manutenção e operação como freqüentes anomalias de atualização, consumo exagerado de recursos de sistema, problemas de escalabilidade &c.

    Um exemplo foi uma operadora de telecomunicações brasileira que tinha um consultor ao custo de ao menos nove mil dólares por mês (valor mínimo cobrado pela consultoria, possivelmente muito mais naquele caso específico) para resolver casos de inconsistência de dados.  Além desse gasto muito simples e mensurável, essas inconsistências geravam grandes problemas de insatisfação de clientes.  Não é difícil imaginar alguns desses problemas tornando-se questões mesmo de relações públicas, no caso de uma operadora de serviços públicos.

    Há que se considerar também a questão da eficiência: embora alguns DBAs possam desempenhar funções de AD com razoável competência, será um uso ineficiente do recurso humano, que perderá foco em sua função tradicional sem realmente se concentrar na de AD. O outro lado da moeda é que, devido ao baixo nível intelectual de muitas equipes de desenvolvimento impedi-las de compreender questões lógicas de conseqüências não inteiramente óbvias e imediatas, o peso da opinião de um DBA praticante pode ser maior que a de um AD.  Entretanto, uma equipe com esse problema certamente terá muitos outros problemas igualmente óbvios e imediatos.

9 – Para finalizar, dicas rápidas para quem quer trabalhar como AD?

1) Concentrar-se num sólido conhecimento conceitual;
2) Abstrair problemas específicos de SGBDs, mesmo que depois sejam necessárias adaptações;
3) Desenvolver uma visão ampla, que contemple desde as regras de negócio (== restrições de integridade) até questões de desempenho e manutenção da aplicação.

Certificação PostgreSQL, agora deve ser oficial

   As pessoas sempre perguntam porque o PostgreSQL não tem uma Certificação Oficial. Sentindo que essa demanda está mais presente alguns desenvolvedores iniciaram as discussões sobre uma Certificação Oficial PostgreSQL, Joshua Drake postou na lista de discussão Advocacy do PostgreSQL o início do debate.

   É muito provável que siga o caminho da BSD Certification na parte em que a comunidade se organizou para criar a Certificação. Continuo não gostando da idéia de certificação, ela dificilmente consiguirá mensurar a qualidade de um profissional, mas ter uma certificação pode abrir portas mas isso não quer dizer que é consegue manter as portas abertas. Um membro ativo de um grupo de usuário é mais fácil mensurar sua qualidade analisando respostas de listas de discussão, reportes de erro, tradução, patches, etc. Aí vem os questionamentos…

- Porra, o mercado não é assim do jeito que você fala, os caras querem diploma. Como eles irão saber se você sabe?

   Quem disse que o cara que tem certificação sabe realmente do produto/solução?

- Ele estudou para passar!

   Sim, a maior parte estuda o tal de Actual Test, especializado em certificações. Logo terá muitas pessoas que passarão na certificação PostgreSQL estudando as respostas do Actual Test, você fará duas ou três perguntas mais técnicas e a pessoa não conseguirá responder, parecido com algumas pessoas com certificação OCA (Oracle Certified Associate) como cachorro saber miar.

   O mercado de TI  é viciado em soluções proprietárias e seus modelos de negócio, não tenho ilusão que isso mudará rápido, mas terá mais espaço e valor aqueles que realmente entende mais de um produto/solução baseado no seu conhecimento

   Se for levar a sério certificação para banco de dados, pode basear-se no padrão SQL-ANSI 2003, os banco de dados em Software Livre/Código Aberto já tem muitas funções implementadas. Teria uma Primeira Certificação fortemente baseada no que os principais bancos livres (PostgreSQL, MySQL e Firebird) tem implementado da SQL-ANSI 2003 e ter Certificações mais avançadas específicas para cada Banco de Dados. Este seria um modelo interessante da certificação BSD, unir os Banco de Dados Livres em torno de uma certificação, os benefícios gerados favoreceriam eles perante a concorrência com os Banco de Dados Proprietários.

  Ok, pronto para a pancadaria. :)