Posts Tagged “MySQL”

Quem estava no OSCON 2008 viu… O Sr. Josh Berkus desenvolvedor do PostgreSQL em luta franca com Monty Widenius fundador do MySQL. E digo mais, o Josh apanhou feio! Confira o vídeo:

Ok, a notícia é velha, mas uma coisa é verdade: os eventos de Software Livres são realmente divertidos. Bem que a gente podia fazer umas coisas assim por aqui. :-)

Tags: , , ,

Comments Nenhum comentário »

O lançamento do Drizzle não é notícia nova mas, é realmente interessante. Ao invés de comentar o assunto, veja o que dois grandes desenvolvedores do PostgreSQL dizem sobre o assunto, o Sr. Josh Berkus e o Sr. Bruce Momjian. Vale a pena conferir o post do Guto Carvalho também.

Bom, vou lhes dizer que eu concordo com os mestres em gênero número e grau. Vejamos como a Sun vai reagir quanto a isso no caminho. Alias, o Sr. Josh Berkus escreveu sobre o Drizzle logo após anunciar sua saída do time da Sun. Ele ainda não falou para onde vai, mas já apresentou quem será o seu sucessor, o Sr. Peter Eisentraut, outro grande desenvolvedor do PostgreSQL.

Não percam os próximos capítulos desta saga que promete muitos lances curiosos no caminho. ;-)

Tags: , , , ,

Comments Nenhum comentário »

A Evans Data Corporation realizou uma pesquisa com 1400 usuário de bancos de dados em todo o mundo para saber o que eles acham dos principais SGDBs do mercado. A pesquisa virou matéria na InformationWeek que por sua vez foi comentada pelo Sr. Lewis Cunningham.

A pesquisa envolveu os seguintes bancos de dados:

  • Informix Dynamic Server
  • IBM DB2
  • Microsoft SQL Server
  • MySQL
  • Oracle Database 10g or later
  • PostgreSQL
  • Sybase Adaptive Server

Os critérios de avaliação foram:

  • Performance
  • Funcionalidades de segurança
  • Scalabilidade vertical
  • Atomicidade
  • Consistência
  • Isolação de transações
  • Durabilidade das transações
  • Qualidade das ferramentas de modelagens
  • Suporte ao XML
  • Suporte a Multiplatforma
  • Qualidade das ferramentas de gerenciamento inclusas no banco de dados
  • Qualidade das ferramentas de gerenciamento avaliáveis por outros fornecedores
  • Suporte a linguagens de programação

Antes de comentar sobre os resultados, é preciso dizer que a pesquisa é sobre a percepção dos usuários e não sobre testes de laboratório. portanto não reflete características reais dos softwares em questão e sim o que os seus usuários pensam deles.

Os resultados:

  • A Oracle ficou em primeiro lugar em todos os critérios. Com o lançamento do 11g no ano passado eu imagino que toda a campanha de marketing esteja ainda viva na memória das pessoas, mas a posição não é de toda desmerecida. Particularmente, acredito que as ferramentas de monitoramento e gerenciamento da Oracle sejam realmente excelentes. Mas acredito que nos itens relativos a ACID (Atomicidade, Consistência, Isolação e Durabilidade) o DB2 rodando em mainframes ainda seja lider absoluto. O DB2 ficou em segundo lugar, mostrando que a Oracle realmente conseguiu cativar os corações do pessoal de TI. Também senti falta da Teradata como competidor, que é líder na área de Data Warehouse e teriam batido a Oracle e o DB2 nesta área. Pelos ítens da pesquisa, o foco foi avaliar os competidores que se destacam na area de OLTP.
  • O MySQL foi o terceiro SGDB mais bem avaliado no geral. Apesar disso ter ficado longe no ranking no que diz respeito a ACID, escalabilidade e funcionalidades de segurança. O que puxou sua nota para cima foi a sua avaliação em suporte multiplataforma (2º lugar), performance (3º lugar), qualidade de ferramentas fornecidas por 3ºs (3º lugar) e suporte a linguagens de programação. Acho que a avaliação reflete bem o status do MySQL, sua popularidade e suas características de bicicleta de velódromo: é leve e rápido, mas não tem freios, câmbio, etc. O lançamento do falcon é a promessa de mudar isso. Particularmente eu gostaria que o MySQL continuasse exatamente do jeito que ele é, pois se torna uma ótima opção em sites web dinâmicos, que não se preocupam muito com transações.
  • O MS SQL Server foi mal em suporte multiplataforma (ok, isso é óbvio) e performance. Se destacou na parte das ferramentas de modelagem, gerenciamento e suporte a XML.
  • O PostgreSQL não foi muito bem… foi mal avaliado nas ferramentas de gerenciamento, modelagem, suporte a XML. No entanto foi bem avaliado em ACID e em funcionalidades de segurança. Estas avaliações positivas são importantes, pois demonstram a percepção dos usuários de que o PostgreSQL é confiável. Uma zebra ocorreu na parte de suporte a plataformas, pois o PostgreSQL deveria ser melhor avaliado aqui. Veja por exemplo que ele roda em FreeBSD uma plataforma para poucos.

O PostgreSQL foi o que teve a segunda pior avaliação Mas estamos em 2008 e apesar do nome da pesquisa, ela foi conduzida em dezembro de 2007. Com o lançamento do PostgreSQL 8.3 algumas coisas mudam na avaliação: a performance melhorou muito e o suporte a XML também. Isto já seria motivo para o PostgreSQL subir vários pontos e encostar no Oracle e no DB2.

O que temos que perceber é que o PostgreSQL vem se desenvolvendo sobre terreno firme. Com a parte de ACID bem resolvida, é possível crescer sem ter que abrir mão da segurança. A performance do PostgreSQL vem crescendo numa taxa que o coloca entre os líderes desta categoria. Algumas funcionalidades que precisam ser melhoradas como a parte de particionamento de tabelas já estão sendo trabalhadas para a versão 8.4. Assim, o que os usuários ainda sentem falta (veja o histórico das listas do PostgreSQL e você verá que isto é recorrente) são de ferramentas de monitoramento, gerenciamento e modelagem. Ainda há muito o que se trabalhar nesta área. Mas acredito que isto seja uma questão que se resolverá. O PostgreSQL tem evoluído muito na quantidade de funções e tabelas de sistemas capazes de fornecer informações úteis para o DBA. O pgsnmpd deverá abrir as portas para o gerenciamento corporativo. O que falta são ferramentas mais amigáveis. Isto não será problema. Já vemos coisas muito promissoras neste sentido. O PostgreSQL está sedimentado sobre uma base sólida, a parte do acabamento virá naturalmente.

Tags: , , , , ,

Comments Nenhum comentário »

O PostgreSQL 8.3 foi lançado. Demorou mais que o dobro do que se esperava. Sim… a expectativa inicial eram de 6 meses até o lançamento. Mas não há motivo nenhum para se ficar triste. 2007 foi um ano excepcional para o PostgreSQL.

Vamos começar simplificando as coisas, agora é correto chamar o PostgreSQL de Postgres. Segundo a documentação oficial:

Many people continue to refer to PostgreSQL as “Postgres” (now rarely in all capital letters) because of tradition or because it is easier to pronounce. This usage is widely accepted as a nickname or alias.

Particularmente eu me acostumei a falar e escrever “PostgreSQL”. Dá mais trabalho e é mais enrolado. Mas além disso, “Postgres” parece ter mais força, causa menos confusão (com pessoas que acabam usando “Postgre” ou “Postgree”). Comercialmente também parece soar melhor, :-).

Bom, antes de falar sobre a versão 8.3, eu gostaria de mostrar alguns detalhes interessantes sobre como o Postgres passou por 2007. A comunidade cresceu, não apenas em número, mas em qualidade. Após a explosão populacional causada pela versão do Postgres nativa para o Windows, houve um crescimento numérico em usuários do Postgres, mas a sua comunidade caiu notavelmente em termos de nível técnico. 2007 pareceu recuperar o fôlego. Veja alguns detalhes interessantes:

  • O planet postgresql cresceu em número de participantes e número de artigos;
  • No Brasil também surgiram alguns blogs novos sobre PostgreSQL como o PG Viável e o Meu Blog de PostgreSQL;
  • O número de companhias contribuindo diretamente com código aumentou, como a Sun e a Skype;
  • O número de projetos no Pg Foundry também aumentou muito (hoje conta com mais de 260 projetos). Eles estão mais ativos também, com varias novas versões de projetos sendo lançadas toda semana.
  • O número de eventos em que o Postgres esteve presente ou de eventos dedicados exclusivamente ao Postgres também explodiu.
  • Foi criado o Postgres OnLine Journal;

Tudo muito bonito… mas chegou a hora do “Show me the code”! Sim, sim, vamos ao que realmente interessa. Vou começar mostrando um teste de performance criado quando o PostgreSQL ainda estava na sua fase Beta.

Postgres 8.2 x 8.3

Antes de dizer qualquer coisa, você precisa entender que o teste foi feito numa condição muito específica:

  • Uso do pgbench que realiza uma carga semelhante ao TPC-B, que é uma carga transacional que visa simular um ambiente OLTP;
  • As tabelas forma ajustada para um fator de escala de 100, o que equivale a um volume de 10 milhões de linhas;
  • 100 conexões ativas simultâneas;
  • 10 milhões de transações;

Isto demonstra um cenário bastante específico. Se você esperar um ganho de performance em pequenas aplicações, você certamente não encontrará ganhos de performance tão significativos. Mas o cenário utilizado é muito importante, pois é semelhante a um ambiente corporativo, onde temos aplicações com um grande volume de dados sendo alterado por muitos usuários simultaneamente. Este é um cenário bastante difícil de lidar. Bancos de dados menores certamente sofrerão amargamente neste cenário.

Quando a versão 8.0 foi lançada, uma série de novas funcionalidades importantes marcaram a transição da série 7.x para a série 8.x . Além das novas funcionalidades que tornam a vida do desenvolvedor mais fácil (ou funcionalidades que melhoram a usabilidade) notou-se um aumento significativo nas opções de segurança (PITR, Stand By, etc) e de desempenho (Tablespaces, Particionamento, AutoVacuum, etc). Com a versão 8.3, estas novas funcionalidades atingiram um bom grau de maturidade. Ao comparar a versão 7.4 com a versão 8.3, você verá um salto enorme atingido em apenas 4 anos. Veja a matriz de comparação de funcionalidades para ter uma idéia do que foi realizado.

Ao olhar a última versão do Oracle 11g, percebe-se um aprimoramento notável nas ferramentas de gerenciamento do SGBD. As ferramentas de gerenciamento do Oracle 11g são realmente invejáveis. No entanto, quando pensamos em desempenho, não vemos um aprimoramento significativo. O mesmo aconteceu na transição da versão 9i para o 10g.

Por outro lado, o Postgres tem dado saltos enormes em termos de desempenho e ainda possui ferramentas pouco sofisticadas. A questão é que o desempenho do Postgres deve ultrapassar o do Oracle rapidamente. Uma pergunta que muitos devem estar se fazendo é se ele já não passou com o lançamento do 8.3! De toda forma, isto deverá ser o suficiente para atrair novos investimentos em torno do Postgres, fazendo com que mais empresas ofereçam ferramentas de gerenciamento para o Posrgres. O time principal do Postgres não desenvolve nenhuma ferramenta de gerenciamento além do psql. O resto fica a cargo de outros projetos de software livre ou de empresas que oferecem ferramentas proprietárias.

O Postgres tem simplificado o trabalho para muita gente. Migrar para ele está cada vez mais fácil. Além de incorporar funcionalidades e sintaxes semelhantes as do Oracle, o mesmo tem acontecido com o MySQL, com a introdução do tipo de dados ENUM, por exemplo. Chegou a hora de começar a comparar o Postgres e o MySQL mais de perto. No entanto engana-se quem pensa que o Postgres adota padrões exóticos de vários SGDBs se tornando uma colcha de retalhos. O Postgres concentra a maior parte dos seus esforços em trazer funcionalidades de acordo com o padrão SQL. Isto significa que o Postgres é uma excelente opção para aqueles que estão preocupados com a portabilidade também.

Bom… se você não testou o Postgres 8.3, vá correndo testar. Se já testou, você já pode ir vendo o que está por vir na versão 8.4

Tags: , , , , , , ,

Comments 3 comentários »

O Sr. Greg Sabino parece concordar comigo sobre a possibilidade de se comprar o PostgreSQL. Ele também se deu ao trabalho de fazer algumas especulações sobre a aquisição da SUN, com direito a piada com o Sr. Josh Berkus e tudo o mais. Achei o artigo dele realmente interessante. Fico imaginando se a SUN não tem vontade de comprar a EnterpriseDB também. Na verdade eles já tem uma parceria antiga, seria uma aquisição bastante interessante para eles.

Mas por enquanto eles vão ter bastante trabalho para harmonizar a MySQL AB dentro da SUN e ajuda-los a enfrentar grandes desafios como atender a uma série de reclamações de seus grandes usuários (não é a toa que o Google fez grandes adaptações nele) e lançar o Falcon, que se tornou uma ação estratégica depois que a Oracle comprou o InnoDB.

No entanto, uma das coisas que eu realmente gostaria de ver são ferramentas administrativas mais poderosas, tanto no MySQL quanto no PostgreSQL. Será que vamos um dia ter uma ferramenta tão poderosa quanto o Oracle Enterprise Manager, como o pessoal da CELEPAR ousou fazer?

Tags: , , ,

Comments Nenhum comentário »