Archive for junho \28\-03:00 2009

FISL10: Encerramento

domingo, 28 junho 2009

Após 4 dias de evento, às 20h  do dia 27 de junho de 2009, no estande da SERPRO, na área central do evento, foi realizada a cerimônia de encerramanento do 10º Fórum Internacional de Software Livre, com a presença de várias celebridades, inclusive do nosso presidente, de forma virtual (por meio de um vídeo).

Algumas curiosidades:

– Pouco mais 8mil participantes, ou seja, abaixo da meta traçada no ano passado;

– O FISL11 continuará sendo em Porto Alegre (isso foi afirmado mais de 1 vez na cerimônia);

– Em 15 dias iniciará as reuniões de planejamento para o FISL11;

– Houve um aumento na participação feminina ao evento, em relação aos outros anos;

– Jon Maddog Hall se fez presente e após agradecimentos e elogios a equipe organizadora, conclamou o público a pedir a presença de Linus Torvards no ano que vem. Inclusive ele gravou um vídeo  com o público gritando: “Linus, we love you. Linus, we need you” (algo assim);

– Foi lançado um selo comemorativo dos 10 anos do FISL pelo SERPRO em conjunto com os Correios.

FISL10: Algumas Palestas do Último Dia

sábado, 27 junho 2009

Daniel Ruso fez uma boa apresentação sobre Perl 6, que já está em desenvolvimento a 9 anos, mas ainda não foi lançado em definitivo. Contudo, muita coisa do Perl 6 já pode ser usado no Perl 5, por meio de módulos.

É uma linguagem bastante robusta e que promete revolucionar muito a forma de programar.Já existe uma implementação de teste do Perl6 chamada de Pugs, mas parece que é bem lenta.

Algo interessante mostrado na palestra é a possibilidade de usar a sintaxe de outras linguagens em blocos de código. Daniel mostrou um trecho de código escrito em Java, dentro do código Perl.

Depois desta palestra, tive a oportunidade de acompanhar Richard Stallman, palestrando sobre os perigos das patentes. Já tinha assistido uma sobre esse assunto a alguns FISL atrás, mas resolvi assistir novamente, para ver se tinha alguma novidade.

Interessante uma analogia que ele fez: imagine se tivessem resolvido patentear a música na época de Beethoven. Trechos de notas, arranjos e outras idéias similares não podendo ser usadas… Ao invés de Beethoven compor sinfonias que soassem bem, ele comporia músicas sem problemas de patentes, provavelmente sem a mesma qualidade sonora.

A única alternativa é não deixar as patentes serem difundidas pelo mundo. Inclusive ele alertou que a entidade responsáveis por patentes no Brasil estava tentando encontrar algumas falhas na legislação para tentar forçar a adoção aqui.

Em contato com o Lula, durante a visita, Stallman disse que conseguiu entregar um documento que fazia uma analogia similar a de Beethoven com a produção de novelas no Brasil. Ele acredita que conseguiu sensibilizar o presidente para acompanhar melhor isso.

Fizeram uma brincadeira colocando uma placa do “Steve Balmer” sobre a mesa dos palestrantes. Após alguém alertar a presença da placa ao final, Stallman afirmou não acreditar que ele fosse realmente comparecer e aceitou a brincadeira numa boa (será que foi a organização do evento que fez isso?).

Uma das palestras mais descontraídas desse fórum foi de Rubens Queiroz, sobre os 12 anos do Dicas-L. Dei muitas boas risadas, ótimo palestrante. Participei  mais para conhecer ele, já que é famoso na comunidade.

Outra bom palestrante, foi de Eduardo Maçan. Na verdade, ele acabou improvisando, já que o convidaram a apresentar este trabalho no evento segunda-feira de madrugada (ele já tinha apresentado outra palestra neste FISL). Ele falou sobre a cultura hacker x administradores.

Aparentemente ele lançou uma nova modalidade de slides para apresentação de um trabalho em um fórum, onde o próprio público prepara o material.

Segundo ele, após aproximadamente 3 anos longe da comunidade por motivos particulares, ele conseguiu ver o “outro lado”, o lado administrativo do negócio e acabou chegando a conclusão que, apesar das aparências, existem mais semelhanças do que diferenças. No fim, ele acredita que ser um bom hacker é igual a ser um bom líder.

Essa palestra teve a intenção de simbolicamente encerrar um ciclo, já que Eduardo Maçan foi o primeiro palestrante no FISL 1.

Uma palestra mais técnica que eu assisti hoje, foi de Cloud Computing, de Darlan Segalin. Ele acredita que essa tecnologia vai ser cada vez mais usada, com grandes empresas do mercado investindo de forma substâncial em soluções.

O pioneiro deste modelo computacional foi a Amazon, que em 2006 lançou o S3, para armazenar arquivos online e o EC2, que permite utilizar máquinas virtuais completas, pré-prontas, bastando apenas escolher as caracteríscitas pela web e acessar o ambiente como se fosse uma máquina real (usando SSH, etc).

FISL10: Documentação automática no PostgreSQL

sábado, 27 junho 2009

Essa palestra foi apresentada por Leandro Dutra, que trabalha a mais de 10 anos com PostgreSQL, e foi muito interessante, pois lançou algumas idéias muito inovadoras ao atual modelo de modelagem de dados. Eu consideraria até que são idéias um pouco revolucionárias, pois estariam em desacordo com o que a gente aprende como “correto” em cursos de nível superior, etc.

Inicialmente, o Leandro listou as ferramentas tradicionais de modelagem de dados, que usamos:

– Cérebro, ou seja, inicialmente pensamos e imaginamos como será nossa implementação;

–  Livros-textos e documentação;

– Caneta e papel, ou seja, o ideal é que você faça um esboço inicial em papel, sem o comprometimento de ter que gravar isso;

– Programas de diagramação: nesse caso, ele não gosta de usar a palavra programas de modelagem de dados, porque ele acredita que estas ferramentas são muito improdutivas e não conseguem criar um bom modelo referencial para ser usado no banco de dados, sem mencionar que produzem um monte de código desnecessário na hora de importar para o banco de dados;

– Por fim, DDL (data definition language), que seria a linguagem de definição de dados.

Para o desenvolvimento da base de dados, o palestrante sugere aplicar a programação literária, ao invés de processo tradicional de desenvolvimento (esse processo tradicional, seria compostos por passos rígidos, como levantamento de requisitos, criação de um modelo, criação de diagramas, etc).

Na programação literária, ao invés de se elaborar um diagrama da base de dados, partiria direto para a modelagem dos dados em código fonte e após a implementação seria gerado os gráficos do diagrama, bem como toda a documentação da base de dados. Essa modelagem combinaria documentação com código fonte, com alguns identificadores, para que o computador pudesse separar os dados pertinentes a ele, quando necessário.

Para essa modelagem em código fonte, o palestrante sugeriu:

– O próprio PostgreSQL;

– ISO SQL;

– D4: no caso, o D4 seria um padrão muito interessante, na opinião do Leandro, pois ele não teria as limitações do SQL, conseguindo normalizar todas as regras do negócio, mas é algo que não está 100% pronto, tão pouco tem boa documentação.

Para a fase de geração dos diagramas e documentação, ele sugeriu:

– Autodoc, específico do PostgreSQL, com suporte a gerar gráficos, docbook e html;

– SQL::Fairy, um módulo do Perl, capaz de gerar gráficos e código em latex, com a grande vantagem de se comunicar com praticamente qualquer tipo de banco de dados, bem como converter para qualquer saída que se deseje;

SchemaSpy, uma solução em Java, que gera HTML, com a vantagem de ter uma inteface gráfica para ajudar na hora de gerar a documentação da base de dados.

Algo que o palestrante deixou bem claro é que para isso funcionar é necessário usar muito definição de domínios.

Para finalizar, algumas curiosidades:

O Brasil está em terceiro lugar em importância de uso de PostgreSQL (boa parte por causa do CASE da CEF), sendo que em primeiro está o Japão e em segundou lugar os USA.

Sobre a CEF, ainda, ele disse que a solução deles de 750TPS (transações por segundo), corresponde, aproximadamente, a 1500 transações no banco de dados por segundo.

Uma dica que ele deu sobre a modelagem de dados é tentar usar muito chave natural, ao invés de joins tradicionais, pois além de melhorar a visualização das consultas, isso pode ajudar a melhorar o desempenho também.

FISL10: Websemântica, a palestra que não ocorreu

sábado, 27 junho 2009

Logo após a palestra de PostgreSQL 8.4, me dirigi a sala 41D para acompanhar essa palestra, muito motivado devido ao que eu tinha acompanhado na da W3C do dia 25/06. Estava curioso para ententer um pouco mais o que seria essa tal de “websemântica”, promessa de “nova-revolução” da Web . Mas qual não foi minha decepção e de mais um grande número de interessados no assunto, quando descobrimos que a palestra havia sido cancelada por ausência do palestrante.

Acabou que um grande número de pessoas se dirigiu para a palestra da sala 41F, que tinha o título sugestivo de “PHP não é coisa de moleque”, superlotando a sala. A lotação foi tanta, mas tanta, que chegou a se formar uma fila bastante grande de pessoas esperando por desistências.

Não posso atribuir esse problema a organização, que simplesmente não tinha como prever isso, mas mesmo assim, gostaria de fazer uma crítica, onde me pareceu que esse ano não havia uma preocupação mais rígida sobre as apresentações. Exemplo, várias palestras ultrapassaram o limite de tempo, algumas por mais de 10 minutos. Não sei se isso foi por reclamações com as normas rígidas do evento do ano passado, ou realmente por uma menor preocupação com o assunto. Aliás, me lembro que teve um ano (não me recordo se foi no ano passado ou retrasado), que houve uma apresentação “tapa-furo” que até foi muito legal, sobre o sistema que o pessoal da organização do FISL usa. Bem que poderia ter sido improvisado algo para cobrir a ausência desse palestrante, ou quem sabe ter transmitido a palestra da sala hiper-lotada nessa sala vazia.

Eu sei que criticar é fácil, difícil é fazer, mas é que houve algumas melhoras nesse FISL (como no credenciamento), mas também houveram pioras (inclusive nem recebi um formulário de avaliação do evento) e isso não deveria acontecer.

FISL10: PostgreSQL 8.4

sábado, 27 junho 2009

Fernando Ike apresentou um aparado geral do que vem por ai nessa nova versão desse SGDB. Algumas coisas interessantes:

– Melhorias no cancelamento de consultas:

Na versão 8 já era possível cancelar uma consulta com select pg_cancel_backend(pid)

Agora, será possível terminar uma consulta com select terminate_backend(pid)

– Suporte a ACL por coluna

Suporte a autenticação do usuário com certificado SSL

– Melhoria em montagem de consultas com o uso de with

– Possibilidade de usar limit em subselect

– Disponibilização da ferramenta pg_migrator que facilita a migração entre versões do PostgreSQL, opcionalmente não ocupando muito espaço em disco com uma brutal melhora de performance na tarefa de restaurar uma base de dados;

Algumas coisas esperadas para a versão 8.4 foram adiadas para a versão 8.5, devido alguns bugs. Entre elas:

– Replicação síncrona suportada diretamente na árvore de desenvolvimento principal

– Suporte a SE-Linux

– Hot stand-by


FISL10: Expresso 2.0

sábado, 27 junho 2009

Depois da palestra que assisti no dia 25/06 da DATAPREV, fiquei muito curioso para conhecer melhor a ferramenta de e-mail Expresso, por isso não perdi a oportunidade.

Dessa vez, a palestra começou com atraso e com muita gente impaciente na porta de entrada da sala, devido a palestra anterior ter ultrapassado o limite de tempo. Auditório lotado, Walter Zapalowski apresentou a ferramenta ao público.

Na apresentação deu para perceber que o Expresso 2.0 é muito mais que um webmail, sendo uma ferramenta muito robusta para comunicação e está expandindo para outras áreas como colaboração. A ferramenta chega a conseguir se interligar com o Asterisk para fazer ligações VOIP com apenas um click.

Algo legal que o Zapalowski demonstrou é que os desenvolvedores (que não é apenas a SERPRO e a DATAPREV) estão muito preocupados em deixar a ferramenta extremamente configurável, para facilitar a adoção por outras empresas, seguindo o verdadeiro espírito de Software Livre.

Aparentemente existe uma colaboração muito grande com troca de código com a comunidade, o que é muito louvável.

Existe uma gama enorme de recursos, como possibilidade de usar Cerficação Digital de nível A1 (com a chave gravada em disco) e até A3 (com tokens), algo que não se tem notícia que outra ferramenta de webmail livre disponha.

Outros recursos que chamaram a atenção é a possibilidade de poder se trabalhar off-line no módulo de e-mail, sendo que está sendo implementando esse recurso para o módulo de agenda.

Além de poder trabalhar off-line, é possível sincronizar o Expresso com versões mais leves que rodam em celulares e outros dispositivos similares.

O Expresso nasceu na CELEPAR (Paraná) e desde 2005 é a ferramenta de comunicação eletrônica do governo de lá, sendo desenvolvido em PHP e AJAX, mas com uma gama muito grande de tecnologias livres agregadas como o GoogleGears, entre outras.

Durante a palestra eu fiquei com a impressão que o desenvolvimento do Expresso foi uma espécie de “resposta” ao fechamento do código do DIRETO da PROCERGS. Aliás, Marcos Mazoni, antigo diretor da PROCERGS (me lembro dele no primeiro FISL) abriu a apresentação da palestra (em tempo: agora ele é diretor da SERPRO)…

FISL10: PgScript

sábado, 27 junho 2009

A palestra “Um Elefante de barriga cheia: alimentando bases de dados PostgreSQL com pgScript”  foi bastante técnica, mas muito simples de se entender e é muito fácil de ser utilizada.

O pgScript é um “filho” do Google Summer 2008 e faz parte do PgAdmin III do Postgresql 8.4, mas a príncipio pode ser usada em versões mais antigas do SGDB, como por exemplo 8.3, desde que o PgAdmin seja o mais recente. Foi escrito em C++ e também pode ser executado em shell (e não apenas no ambiente do PgAdmin III).

Além do PgScript existem outras soluções para gerar dados de testes para o PostgreSQL, entre elas (que pretendo estudar mais no futuro próximo):

DBGEN, que foi escrito em ansy C e utiliza TPC-H benchmark para “popular” a base de dados;

Generatedata.com: um aplicação web para realizar a função de gerador de dados, com possibilidade de baixar. Em uma análise rápida me pareceu bastante robusto e simples de instalar;

– Módulo Data::Faker do Perl: me pareceu bastante extensível e permite gerar dados mais realistas (e não totalmente aleatórios, como no caso do PgScript tradicional). Facilmente extensível;

– Datagen e Faker no Ruby;

DBMonster e dgMaster para quem gosta de  Java.

Até pouco tempo atrás eu nunca tinha me preocupado muito com testes de desempenho em base de dados, pois geralmente as configurações padrões atendiam bem as nossas necessidades, mas um novo projeto está exigindo muito mais desempenho do SGDB do que o convencional. Chegamos ao ponto de um servidor Xeon Quadcore com 4GB de RAM não aguentar a carga de processamento com pouco menos de 100 máquinas com acessos simultâneo. Mas eu creio que estes testes na base de dados vão exigir mais do que estas ferramentas podem oferecer e vou ter que estudar melhor como fazer uma simulação baseada na aplicação, para conseguir um ajuste fino mais preciso nas variáveis do PostgreSQL. Contudo, algo é certo: essas ferramentas de geração de dados aleatórios são um bom ponto de partida.

FISL10: Curiosidades sobre a palestra de ODF

sexta-feira, 26 junho 2009

Acompanhei a palestra de Jomar Silva, “ODF: Passado, Presente e Futuro”, muito bem apresentada por sinal, mas não vou fazer um resumo dela. Ao invés disso, vou transcrever algumas curiosidades apresentadas durante o evento:

– Para quem acha que arquivos .doc são um padrão confiável, pois a “maior empresa” de informática é dona do padrão, vale lembrar a história da Biblioteca de Alexandria, que por mais de 1000 anos concentrou boa parte da produção literária da antiguidade, e em 646 d.C. foi totalmente consumida por um incêndio. Segundo o palestrante alguém deve ter dito: “mas não é perigoso concentrar toda a nossa cultura em apenas 1 lugar? Sendo que os responsáveis da época devem ter dito: claro que não, a biblioteca é totalmente segura…” Muita informação foi perdida nesse incêndio, inclusive muitos avanços da humanidade.

– Outra curiosidade apresentada pelo palestrante é sobre o atual padrão de teclados que utilizamos. Segundo ele, o padrão atual foi concebido para evitar que as teclas ficassem presas, quando alguém digitasse muito rápido, contudo é muito difícil mudar esse padrão estipulado para um com maior produtividade, como por exemplo, o modelo DVORAK;

– DOCX não é a mesma coisa de DOC, ou seja, a própria Microsoft não segue seus padrões. Como garantir que daqui 20 anos o Microsoft Office consiga acessar a base atual de documentos?

– Não use o ODF do MS Office 2007, apesar do service pack 2 implementar filtro para o padrão aberto, pois vai gerar documentos incompatíveis. Utilize plugins da comunidade para obter compatibilidade;

– Como curiosidade tente produzir um texto simples (exemplo, com apenas um “hello world“) e depois renomei a extensão para .zip. Será possível abrir o arquivo e encontrar alguns arquivos de controle em xml dentro do arquivo, inclusive 1 arquivo que contém apenas o texto do seu documento. Muito interessante isso, fiz e realmente é verdade;

– No Brasil, foi definido por meio do e-Ping 4, que o ODF é o padrão de documentos editáveis do governo federal. O padrão para documentos não editáveis, por enquanto é o PDF;

– Segundo o palestrante, evite consultar o ODF na Wikipédia, pois existe algum grau de desinformação promovida por algumas pessoas mal-intencionadas. Eu olhei e não me pareceu nada errado, não sei;

– A próxima versão do ODF vai ser chamar “Next”, pelo menos provisoriamente, pois não se chegou a um concenso em qual deve ser a nomenclatura (1.3 ou 2.0?);

FISL10: CASE MySQL na Globo.com

sexta-feira, 26 junho 2009

Inicialmente foi dado um aparado geral sobre a nova versão do MySQL Server 5.4, ainda em versão beta, por Henrique Leandro. Não vou me prender muito a isso, mas algumas novidades são a provável mudança na forma de designar a versão do produto (a próxima seria o MySQL 2010). Entre as novidades estão a possibilidade de usar computadores x86 com até 16 núcleos, otimização de subconsultas, melhorias no backup on-line, entre outros.

Após essa parte introdutória, Camila Dias da Globo.com, deu um aparado geral da evolução do uso do MySQL dentro da organização, bem como mudanças de paradigmas.

Algumas curiosidades:

– A Globo.com usa Software Livre (principalmente LAMP) desde 2002 em sistemas internos;

– Em 2007 houve um revolução dentro da empresa, onde foram adotados novos rumos: agilidade no desenvolvimento, com o uso de SCRUM, liberdade criativa, incremento significativo em participação em eventos nacionais e internacionais (inclusive o FISL);

– Graças a participação em vários eventos de tecnologia, houve uma mudança de mentalidade dentro da empresa, em relação ao uso do MySQL, pois tiveram contatos com outras grandes empresas com CASES de sucesso;

– De 2007 para 2009, o MySQL cresceu em cerca de 60% de uso dentro da Globo.com, ultrapassando outras soluções de SGDBs.

A Camila citou 2 casos de sucessos, onde foram empregados soluções em Software Livre, com destaque para o uso do MySQL:

Globo Amazônia

É uma solução mashup, composta de um portal com conteúdo relacionado + dados INPE + Orkut + Google Maps + Twitter

Lançado em setembro de 2008, em 1 mês superou as espectativas que se tinha de alcançar resultados em um prazo maior. Ela deve isso a junção da mídia convencional da TV, com a interatividade da Internet. Exemplo, se a média de acessos eram 1000 simultâneos, cada vez que o “Pedro Bial” dizia “votem no endereço tal”, pulava em poucos segundos para 20mil acessos.

Essa solução, apesar do alto volume de acessos, usa APENAS 2 servidores MySQL com replicação master-master, com uso agressivo de web cache para o conteúdo estático e eles implementaram um sistema de fila para a gravação dos dados no banco.

Projeto WordPress

Mais de 1000 blogs editoriais utilizando WordPress e uma série de plugins de cache e uso de MySQL “slave” para consultas. Essa solução também usa 2 servidores com replicação master-master, mas tem mais uma série de servidores slaves que são usados nas consultas, ou seja, os servidores masters são usados apenas para insert e update;

Eles tem um farm exclusivo para o Big Brother Brasil, dada a quantidade de acessos e comentários em um único post.

Algumas lições que eles tiveram durante o desenvolvimento com o uso do MySQL (observação: são deles, algumas coisas se contradizem a palestra de ontem sobre segurança de aplicativos com MySQL):

– Comece o projeto de maneira simples;

– Use uma versão realmente estável e bem testada do MySQL, a menos que realmente precise de algo novo que não tenha sido implementada na versão estável (eles usam a versão 5.0.7 nesses projetos citados);

– Use uma distribuição Linux compilada para 64bits. Isso é muito importante. Eles tiveram perda de desempenho significativa, quando as chaves de índices começaram a ficar muito grande em 32bits (agora eles só usam 64bits no sistema operacional e no banco de dados). Por curiosidade, nesses 2 projetos eles estão usando CentOS 5.2;

– Use InnoDB como engine padrão do MySQL, a menos que você realmente precise de algum recurso que só tenha em outro engine;

– Use transações curtas com o banco de dados;

– Use comandos simples. Evite de usar, por exemplo, consultas complexas. Eles tiveram uma experiência desagradável com uma consulta complexa com insert em ambiente de produção, na replicação dos dados;

– Use índices em memória;

– Coloque as regras de negócio na aplicação (!);

– Abuse do cache em memória.

Para o futuro do desenvolvimento na Globo.com, já foi definido:

– Que o MySQL será a plataforma oficial de SGDB;

– Novos sites já são produzidos com MySQL;

– Vão buscar uma evolução da arquitetura.

Para finalizar gostaria de dizer que não concordo com tudo que foi apresentado na palestra mais vale com um CASE e conhecer melhor como o software livre vem sendo implementado em empresas privadas (já citei exemplos de casos em empresas públicas).

Qualquer hora destas eu creio que vou também apresentar um CASE e apontar as minhas considerações sobre o uso do MySQL e PostgreSQL em soluções de sistemas web.   🙂

Para quem se interessar, eles estão com vagas na empresa para novos talentos. Quem quiser é só procurar a Camila no estande da Globo.com amanhã, dia 27/06.

FISL10: PostgreSQL na CEF

sexta-feira, 26 junho 2009

A melhor palestra de hoje foi apresentada por Jair Silva e Flávio Gurgel, e foi sobre o CASE de uso do PostgreSQL na CEF, o que comprova que o PostgreSQL é sim uma solução viável de SGDB em ambientes críticos e de necessidade de alta-performance.

Eles estão usando uma solução com o PostgreSQL em caixas de auto-atendimento, em mais de 20mil terminais, com uma estimativa de 85 milhões de transações financeiras por mês, com uma movimentação de mais de 1 bilhão de reais mensais.

É uma aplicação multicanal em J2EE, que implementa uma certa independência de sistema operacional, banco de dados, etc.

Segundo Jair, essa palestra foi apresentada no ano passado, como sendo uma solução que seria implementada na CEF, mas que agora já é um CASE real, sendo que já está em pleno funcionamento.

Antes de implementar essa solução usando Debian + JBOSS em máquinas x86 (O SGDB roda em 2 HP Proliant Xeon dual-core com 32GB de RAM), eles fizeram benchmark com 3 possibilidades, sendo que 1 solução com máquinas SPARC e Solaris não passou nos requisitos de quantidade mínima de transações financeiras por segundo (750 TPS), ficando para decidir entre essa solução adotada, e outra com Mainframe da IBM usando DB como servidor de banco de dados. Devido ao custo de implementação usando Linux + PostgreSQL ser menos de 1% da solução com o Mainframe, ela foi adotada.

Algo interessante que Flávio Gurgel mencionou é que a Caixa Federal obrigou, em edital, as empresas concorrentes terem desenvolvedores ativos no projeto do PostgreSQL, com contribuição na árvore de desenvolvimento. Acabou vencendo a 4Linux, que foi parceira nessa solução.

Outro fato relevante para mim na palestra, foi em relação ao uso de um sistema de custerização/replicação de dados no PostgreSQL, já que estou para implementar algo similar em um projeto que estou trabalhando.

Eles fizeram teste com 2 soluções:

– PgPool II, obtendo 170TPS;

– Sequoia, atingindo 50TPS (vale lembrar, que a solução standalone conseguiu 750TPS).

Devido a esse baixo rendimento, eles acabaram optando por uma solução virtual de disco. Algo como 2 datacenters (1 em servidor em cada datacenter, a distância aproximada de 7 quadras de Brasília um do outro) interligados com fibra-ótica, com replicação de dados a nível de filesystem (Hitachi Storage em Raid5, virtualizada, síncrona e multipath). Como requisito para essa implementação, a Hitachi exigiu que eles usassem LVM com stripes para melhorar o gerenciamento e performance do disco. Como tipo de filesystem, eles optaram pelo XFS devido a se enquadrar melhor nas necessidades do PostgreSQL.

Como recomendação de tunning para o PostgreSQL, eles citaram o uso agressivo de memória e evitar o uso excessivo de I/O de disco, sendo que os maiores problemas que eles encontraram foi com quebra de performance com o autovaccum.  Contudo, recomendaram dedicar algum tempo em ajustar valores do SGDB para encontrar um bom balanceamento, do que deixar desligado o autovaccum e fazê-lo manualmente (que compromete muito mais a performance).

A título de curiosidade, esses 750TPS representam algo em torno de: 4,8 milhões de inserts, 3,2 milhões de updates e 2 milhões de selects, alcançados durante o ano passado, em um “pico” de uso. Vale lembrar que ninguém quer esperar para “receber” seu dinheiro na frente da ATM, por isso é importante ter um tempo de resposta muito rápida. A base de dados deles, chegou a atingir cerca de 500GB.

Eles já estão com planos de expandir a quantidade de terminais e para isso vão criar outro centro com a mesma infraestrutura para atender os novos terminais, provavelmente em outra cidade.

Durante esse tempo todo de uso, eles ressaltaram que o PostgreSQL nunca “falhou” com eles. Todos os problemas que eles tiveram em ambiente de produção, foram causados por falha humana ou de hardware, sendo que nunca teve perda de dados.

Afirmaram que estão contribuíndo muito com a comunidade, sendo que os próximos objetivos é melhorar o PgAdmin, produzir uma ferramenta web similar  (pois acham o phpPgAdmin muito inferior) e estão contribuíndo para tunning do banco de dados “a quente” via SQL (sem precisar reiniciar o SGDB).