Hoje eu fui substituir o ilustre Sr. Ricardo Portilho numa palestra numa universidade em São Paulo. Para quem não sabe, o Portilho é um dos mais respeitados profissionais em bancos de dados Oracle do Brasil e por acaso também é um Oracle ACE. Mas sobre tudo é alguém que tem um espírito crítico aguçado que o torna para mim uma fonte de informações das mais confiáveis. Em maio o Portilho escreveu um artigo que realmente me chamou a atenção, sobre as práticas comerciais duvidosas da Oracle na tentativa de empurrar o Oracle Cloud no mercado. Depois assisti sua palestra no GUOB com um guia intrincado para não ser multado pela Oracle, com suas inúmeras funcionalidades pagas à parte. Eu sempre tive minhas dúvidas sobre como seria colocar uma base Oracle na nuvem, mas assistindo a palestra do meu antecessor hoje, sobre Cloud, vi o tamanho do buraco em que eles estão metidos.
Primeiro existe uma questão técnica complicada. Na nuvem uma das coisas importantes é ter agilidade, flexibilidade e embora no Oracle 12c (o “c” é de Cloud mesmo!) tenham coisas muito interessantes como a arquitetura multitenant, o Oracle vem caminhando na contramão há tempos. Veja, uma das coisas bacanas de se usar na nuvem é o Docker. Poder distribuir serviços como pequenas caixinhas que você pode subir, descer, mover, duplicar etc, de forma ágil e segura. É óbvio que o Oracle Database não roda no Docker. O motivo é simples, o Oracle é um dragão com tentáculos por todo o sistema operacional. Na versão 9i o Oracle já tinha a opção de gerenciar toda a memória para você, tirando essa função do sistema operacional. A própria instalação do Oracle é uma piada de mau gosto para o SO. Ele traz o seu próprio Java, seu Apache, seu Perl e um zilhão de ferramentas empacotadas todas numa única caixa preta. Depois, no 10g veio o ASM, onde o sistema de arquivos do SO dançou. Enfim surgiu o Exadata, onde o hardware se tornou acoplado ao software numa única caixa preta – Na Oracle eles chamam aquele super hardware do Exadata de “lata”, afinal, o hardware deve valer uns 10% do custo total, quem vale mesmo são as licenças! Então a Oracle criou a ideia de “Privete Cloud”. A ideia não é ir para a nuvem, é montar uma estrutura tão grande que você tem a sensação de ter comprado a nuvem toda para rodar dentro da sua empresa. A verdade é que não apenas não é possível rodar o Oracle Database como docker container, como não é possível também rodar um Oracle RAC na Amazon. O motivo é simples, o RAC depende de uma interconexão física entre os nós de excelente qualidade. E na nuvem toda a camada física é virtualizada. Não há como garantir que esta conexão física exista de fato. O Oracle Database não nasceu para surfar na nuvem.
Siga o líder
Responda rápido agora:
- Qual é o banco de dados com o maior market share no mercado?
A resposta certamente será Oracle. Sim, eles são os que mais vendem. O quadrante mágico do Gartner ou o ranking do DB-Engines também apontam para o mesmo lado. Por outro lado o sucesso de um banco de dados livre não se mede pelo market share. Não há uma licença para ser vendida. Eles são os que de longe ganham mais dinheiro com banco de dados. Mesmo assim, recentemente o Gartner apontou a Microsoft ligeiramente na frente da Oracle. As coisas estão mudando. - Qual é o banco de dados mais utilizado no planeta?
Até alguns anos atrás era o MySQL. Foi ele que difundiu a web 2.0, milhões de sites funcionam com ele. Mas a web mudou e o MySQL também. Hoje o MySQL ganhou muitos superpoderes que não tinha antes. A Oracle deu uma musculatura fantástica para o MySQL. Mas não foram recursos fantásticos que fizeram o MySQL tão popular, foi a simplicidade e a liberdade. E isso mudou para pior com a Oracle no comando. E veja, é cada vez mais comum a utilização de sites estáticos onde o banco de dados é utilizado apenas para gerar as páginas estáticas e não ser acessado continuamente a cada vez que alguém acessa uma página do site. Bem vindo à web 3.0! Hoje, o banco de dados mais utilizado no munto é o SQLite. Quase todos os smartphones rodam ele. Além disso, tudo quanto aplicação monousuário utiliza o SQLite. Simples, livre e muito leve. - Qual é o banco de dados OLTP mais rápido do mercado?
Agora respire fundo antes de responder. Se você disse que o Oracle é o mais rápido, então você derrapou na curva. O mais rápido e confiável ainda é o velho e bom DB2 rodando em mainframe. Mas um mainframe não é um brinquedo barato. Somente grandes empresas como bancos usam o DB2 atualmente. E em aplicações menos críticas certamente o banco utiliza outros bancos de dados que não o DB2. Mas o staff da IBM está muito bem entrincheirado dentro dos bancos e não deve sair tão cedo de lá. Ou você acha que um grande banco como o Itaú está pensando em abandonar o mainframe? Alguém aqui lembra da famosa migração do não por acaso falido Banco Bamerindus? Eles decidiram abandonar o mainframe na década de 90… Mas a IBM não é líder no mercado de banco de dados, muito pelo contrário. O DB2 (em mainframe) virou um banco de dados de nicho, especializado e com um pequeno público disposto a pagar por ele. - Qual é o banco de dados mais rápido em DataWarehouse?
Aqui a briga fica um pouco mais difusa, mas provavelmente o Teradata ainda é o banco de dados mais rápido neste segmento. Certamente o Teradata não é um dos bancos de dados mais populares do mercado. A razão é a mesma do DB2: ele é muito caro. E na verdade pouca gente realmente tem bala na agulha para brincar de DataWarehouse. Se não pelo custo, pela dificuldade que é romper as caixas dos departamentos das grandes empresas e fazer a informação fluir para um repositório de informações centralizado. Não confundir DataWarehouse com Big Data. No cenário do Big Data entram as bases NoSQL, e aí os bancos livres dominam disparado. - Qual é o melhor SO em baixa plataforma para se rodar um banco de dados?
Um administrador de sistemas me convenceu esses dias por A + B que o Solaris rodando em Sparc é a melhor opção atualmente. E realmente o Solaris tem coisas muito bacanas, o Sparc é muito robusto e eficiente. Tem ferramentas fantásticas e tudo o mais. Mas a SUN naufragou depois do estouro da bolha da internet no final da década de 90. Naufragou por um motivo simples: pode ter uma ótima qualidade, mas é muito caro. E quem ganhou o mercado de sistemas operacionais foi o Linux. A Oracle lançou seu próprio Linux depois de desistir de tentar comprar a Red Hat. Há 15 anos atrás a própria Microsoft dava gargalhadas ao falar de Linux, mas quando criou a sua versão de nuvem, o Azure, teve que abraçar o Linux e até mesmo o SQL Server já tem uma versão beta rodando nele. Muita gente espera um belo salto do SQL Server quando essa versão estiver estável.
O futuro é livre
A Oracle fez um enorme investimento no Exadata, atingiu um desempenho espetacular com tecnologia e arquitetura de ponta. Mas ficou caro. Muito caro. As recentes mudanças no licenciamento do Oracle Standard One a partir do 12.1.0.2 foram um golpe duro para muitos usuários por exemplo. E todo ano a Oracle gasta alguns bilhões comprando novas empresas, nem todas muito lucrativas. Alguém tem que pagar esta conta. E o usuário final é quem paga, claro. Em resposta a isso a Oracle nos diz: quer baixar seus custos, vá para a nuvem! Acontece que muitas pessoas já foram para nuvem…
E na palestra de hoje o palestrante demonstrou as qualidades do OpenStack. Uma ferramenta fantástica. Muito bacana mesmo. Ele tem algo que interessa muita gente, assim como interessou as pessoas que adotaram o Linux, a liberdade e o preço. E esse jogo não é novo. Alguém aqui lembra do Betamax? Foi enterrado pela história enquanto o VHS reinou por muito tempo. E uma das grandes qualidades do OpenStack, além de ser gratuito é justamente a liberdade. Liberdade em mais de um sentido. É um software livre, no sentido que você pode usar, ver o código fonte, alterar e redistribuir. Mas vai mais além, usa padrões abertos, o que facilita muito a vida do universo. Alguém lembra o estrago que foi o padrão proprietário do HTML da Microsoft? Mais além, ele não tem um dono, como o MySQL que era desenvolvido pela MySQL AB, que foi comprada pela SUN que foi comprada pela Oracle. E ele tem um modelo de desenvolvimento decentralizado que permite a participação ativa da comunidade. Alguém aqui lembra o RaiserFS? O projeto quase afundou quando o desenvolvedor foi preso. Essas quatro liberdades fazem muito sucesso em ambientes como a nuvem. E qual o banco de dados tem essas quatro liberdades hoje? Sim, o PostgreSQL. E os casos de sucesso na nuvem não param de pipocar por aí. Basta ver o sucesso do Heroku ou do Instagram por exemplo.
Sem dúvida a Oracle representa um universo gigantesco hoje. A IBM também já foi conhecida como a Big Blue antes de começar a vender seus pedaços até diminuir e se ajustar a um nicho específico de mercado. Muita areia vai rolar no mercado ainda. Mesmo com os lançamentos de tecnologias cada vez mais incríveis no mercado de banco de dados, um número cada vez menor de pessoas vai estar disposta a pagar uma diferença tão grande de preço e perder tanta liberdade e flexibilidade no futuro. O lançamento da versão 9.6 do PostgreSQL mostra que ainda existem funcionalidades importantes para serem desenvolvidas, mas a diferença para a grande maioria dos usuários diminuiu muito. Haverão demandas que apenas um Exadata, um Teradata ou um DB2 darão conta. Mas para a maioria esmagadora do mercado, isso não fará muito sentido. Claro que o mercado não é regido por uma competição justa. Existem vendas casadas, processos na justiça, patentes e uma miríade de recursos que podem atrasar a comoditização dos bancos de dados. Mas sejamos francos, ela já está acontecendo.