Posts Tagged ‘postgresql’

Compartivo: PostgreSQL e conexões remotas

Thursday, October 16th, 2008

   Estou publicando um pequeno estudo comparativo feito para um cliente, este estudo era para definir qual a melhor solução para usar conexões remotas e o PostgreSQL. O alvo no caso era acessar outro(s) servidores PostgreSQL, esse estudo é pequeno e não aborda todas as funções do SQL/MED 2003 e tão pouco seguiu critérios muito rigorosos mas é um início para que outros possam evoluir  a comparação e trazer os dados mais consistentes.

   Este estudo comparou o Pg::Snapshot, DBlink e DBI-Link. Gostaria de ter tido um pouco mais de tempo para usar melhor o Pg::Snapshot, por isso é possível que tenha uma distorção no testes mas ficarei feliz se alguém melhorar. ;)

   Está primeira versão está em PDF, conforme eu tiver tempo, vou portar para Latex ou num Wiki. 

   Críticas, análises e comentários serão muito bem-vindos. :D

  

  Ah… Para você ler, está aqui.

 

Pesquisa sobre Certificação PostgreSQL

Wednesday, October 1st, 2008

Reprodução do email do Euler enviado para lista pgbr-geral. :)

 

============================================================================================

 

    Olá pessoal,

    Este é um assunto muito debatido dentro da comunidade brasileira. Há alguns meses alguns entusiastas do projeto PostgreSQL iniciaram um esforço para produzir uma certificação pela comunidade e para comunidade. Esta certificação está sendo desenvolvida nos moldes da certificação BSD  e estamos no momento de coleta de dados para traçar o perfil dos profissionais que usam PostgreSQL. Abaixo eu traduzo de maneira livre o texto do anúncio. Por favor, tirem um tempo para preencher o JTA.

____________________________________________________________________________________________

    A Comunidade PostgreSQL está trabalhando para criar uma comunidade para dirigir e endossar a certificação PostgreSQL. Este esforço está sendo lançado pelo Projeto de Certificação PostgreSQL . O principal foco deste projeto é o desenvolvimento e suporte de uma série de certificações que fornecem um método padronizado de identificação do conhecimento e habilidades deprofissionais de banco de dados que trabalham com PostgreSQL.

    Por agora, o Projeto de Certificação do PostgreSQL tem o prazer de anunciar a disponibilidade de uma pesquisa para análise das tarefas de emprego que irá ajudar a formatar o conteúdo e forma que as certificações iniciais irão tomar. Esta pesquisa está disponível publicamente e todos estão convidados a participar.

    Para preencher a pesquisa, por favor registre-se em:
http://www.postgresqlcertification.org/jta

    O processo de registro leva apenas alguns minutos. Uma vez que o registro esteja concluído e você tenha entrado no sistema, clique em JTA no menu seguido por “participate in the survey”. A pesquisa leva aproximadamente uns 30 minutos para ser preenchida.

    Nós pedimos a todos que tire um tempo para preencher a pesquisa e que diga a um empregado, gerente, colega ou qualquer um que possa trabalhar com o banco de dados PostgreSQL que o faça também. Com a ajuda da
comunidade nós seremos capazes de alcançar boa parte do público alvo.

    Se você está interessado em se juntar ao Projeto de Certificação PostgreSQL, por favor visite e se inscreva na lista de discussão após preencher a pesquisa.

 

PGCon-BR 2008

Monday, September 29th, 2008

   Sempre que existe uma continuidade de evento, geralmente o último realizado é considerado o melhor de todos. Felizmente a PGCon-BR 2008 também podemos dizer isso. :)

   Desde a última vez que estive envolvido na organização de um evento de Software Livre  (PSL-ABCD) eu não tenho muita vontade de estar ajudando na organização.  Coisas bem pontuais quando pedem…

   Esse ano na PGCon-BR 2008 eu ajudei simbolicamente resolvendo um problema para imprimir parte dos materiais do evento, horas relembrando meus tempos de consertar impressoas jato de tinta. argh!!!

   Creio que a escolha do local foi bem apropriada, realizado na Unicamp com um bom espaço, bom auditório. Espero que os próximos sejam neste mesmo local. :)

   O público foi maior do que em 2007 e também mais qualificado. As palestras tiveram um bom nível técnico com o público interagindo bem com os palestrantes com boas perguntas. Destaco três palestras que superaram minha expectativa que foram do Leandro Dutra (O elefante aparelhado), Luis Fernando Bueno do SIPAM (Banco de Dados Espaciais com PostgreSQL) e David Fetter (Implementation of Common Table Expressions). 

  Um dos pontos altos do evento foram as palestras leves (Lightning  talks) foi muito bacana. 3 minutos para que as pessoas darem seu recado. Já no fim do evento a Isis teve a idéia de formar o pgwomen, assim como tem o Debian (Debian-Women) .

  O telles também fez seus comentários sobre o evento, faça o seu também. :)

 

Comentários iniciais sobre Oracle RAC

Monday, September 22nd, 2008

   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. ;)

Mais empregos assim?

Tuesday, September 16th, 2008

    Sempre me perguntando quando estou apresentando palestra se tem emprego em Software Livre/Código Aberto. Sempre respondo que sim mas que ainda o mercado está amadurecendo, a mentalidade são ainda de venda de caixinhas como solução para todos os problemas mas felizmente isso tem mudado bastante vide algumas vagas que aparecem no BR-Linux e algumas como está que está abaixo. Sempre perguntam se é possível trabalhar somente com Debian ou PostgreSQL, sempre respondo que sim, tem bons lugares para trabalhar com eles e muitos que somente usam eles por conveniência de um edital público ou por puro oportunismo barato. ;)

     Segundo o que dizem, é um local excelente para trabalhar, um dia trabalho num lugar desses e espero que vocês leitores também. :)

* Formação superior na área de Computação
* Perfil desenvolvedor - Design e implementação em linguagens como
C/C++, Python ou Perl
* Ser capaz de desenvolver no modelo Open-Source: uso de
mailing-lists e patches, GNU Toolchain (gcc, gdb), GNU Auto-tools e
esquemas de empacotamento como o RPM ou Debian
* Fortes conhecimentos de uso e administração em Linux - shell
scripts, administração de pacotes, uso do Linux como Desktop no
dia-a-dia
* Conhecimento do funcionamento interno do Linux
* Fluencia em Inglês

Conhecimentos desejáveis:

* Arquitetura e programação da plataforma Linux on XXXXX
* Design de ferramentas de toolchain (compiladores, debuggers)
* Desenvolvimento de device-drivers para o Linux Kernel, programação em baixo-nível
* Conhecimentos em criptografia, Trusted Computing ou padrões de
segurança internacionais
* Technologias de virtualização e meta-virtualização. Soluções XXX
ou Open-Source

 

Esperando o PostgreSQL 8.4: tamanho de bloco

Monday, September 15th, 2008

    Frenquentemente pergutam se é possível alterar o tamanho de bloco das  tabelas PostgreSQL, até a versão 8.3 (atualmente estável) isso é possível mas é necessário alterar o código-fonte para isso. A próxima versão (8.4) que será lançada, provavelmente em Março de 2009, será mais fazer essa alteração de tamanho de bloco. Ainda é na etapa de compilação do PostgreSQL mas agora é parâmetro do ./configure. Além de alterar o tamanho de bloco das tabelas, será possível alterar o tamanho dos arquivos do WAL, do tamanho total de cada tabela gerenciada pelo TOAST(depois eu escrevo uma nota sobre o TOAST), etc.

    Apesar de ainda de estas opções ainda estarem no estágio de compilação/instalação, essas novas funcionalidades permitem melhor ajuste do PostgreSQL para ambientes OLTP, Web ou Datawarehouse (vulgo BI).

   No 8.4 você poderá alterar:
 

- Tamanho de bloco das tabelas: –with-blocksize -> Valores possíveis (1, 2, 4, 8, 16, 32, 64)

- Tamanho máximo das tabelas gerenciadas pelo TOAST: –with-segsize -> Valores em GigaByte (Até o limite do Sistema Operacional/Sistema de Arquivo)

- Tamanho dos blocos do WAL: –with-wal-blocksize -> Valores possíveis ( 1, 2, 4, 8, 16, 32, 64)

- Tamanho dos arquivos do WAL–with-wal-segsize-> Valores possíveis (1, 2, 4, 8, 16, 32, 64)
 

   Esses novos parâmetros ajudam a melhorar a perforamance do PostgreSQL ajustando so blocos conforme o tipo de uso do banco de dados, seja OLTP, BI ou WEB. De modo geral só mexe-se nesses parâmetros se tem bom conhecimento de banco de dados e Sistema Operacionais, mudar usando receitas de bolos pode ter alguns resultados desastrosos e culparem o banco de dados. ;)

  Observação importante é que se precisar alterar os tamanhos dos blocos do WAL ou dos arquivos do WAL não precisará criar novamente um cluster, somente recompilar e instalar novamente. :)

Consegi 2008

Sunday, August 31st, 2008

   Estive no Consegi 2008. Foi um evento interessante para o Governo nas três esferas (Federal, Municipal e Estadual) sobre troca de conhecimento, uso de padrões abertos e Software Livre. Uma das surpresas do evento para mim foi ter de apresentar uma segunda palestra pois o Fábio Telles não pode comparecer. A palestra de boas práticas em PostgreSQL do telles tem um nome bem sugestivo: "Como fazer um elefante passar debaixo da porta." .  Uma pena que o autor não tenha apresentado no Consegi, espero que substituto meia-boca(eu) tenha consegido passar as idéias de melhores práticas para o PostgreSQL.

 

   O evento teve integração com outros países indo da Argentina, passando por ïndia e com participação de Cabo Verde. Foi um evento importante para aglutinar ações do Governo Federal Brasileiro e suas diversas instituições com boas oficinas com destaque para oficinas do Ginga.

 

   A minha palestra também foi de PostgreSQL mas com o foco em tuning (O elefante mais rápido que um leopardo) mas essa é a primeira que uso o Latex Beamer para montar a apresentação e gostei dele. Esse evento foi bem mais desgastante para mim que os outros, hora de recarregar as energias e tocar as coisas.

Zabbix e PostgreSQL

Tuesday, August 12th, 2008

O Zabbix é um software de monitoramento que pode trabalhar com vários banco de dados para armazenar suas informações. Até a última versão de desenvolvimento que teste (1.5.3) tinha um função que acionava o Vacuum do PostgreSQL manualmente.

O pequeno problema de colocar no código do Zabbix era de que se o banco de dados está com um volume razoável de informações do Zabbix e executa o Vacuum quando a aplicação está em execução irá acarretar numa demora para terminar de executar o Vacuum.  No meu caso, existia dois processos do Vacuum na mesma tabela do Zabbix (housekeeper) que deixava o servidor muito sobrecarregado e lento. O jeito foi remover o Vacuum do código já que o PostgreSQL 8.3 tem o autovacuum e o uso do Vacuum deve ser feito pelo DBA ou responsável do servidor e nunca pela aplicação. ;)

Registrei no sistema de controle de bugs (ZBX-413) do Zabbix, o patch patch e aparentemente foi aceito. Mas só pode ver quem tiver registro mas o patch remove basicamente  o vacuum do código.

Também um problema mais complicado é que no PostgreSQL 8.3 e superior, não tem mais conversão implícita de tipo de dados e o Zabbix usa muito, fiz um outro patch e enviei com o bug ZBX-416 alguns conversões implicitas. Muito provavelmente tem mais trabalho pela frente…

:P

Eu fui: Seminário de Geoprocessamento em Porto Velho

Monday, August 11th, 2008

Estive na semana passada no Seminário de Geoprocessamento em Porto Velho - Rondônia organizado pela ULBRA. A cidade é muito quente, banho tomei sem precisar a energia elétrica do chuveiro. Não consegui ver o sol pois o tempo estava nublado e tinha a queima de pasto também deixou o horizonte bem cinza.

O Seminário foi muito bom, com um público interessado e o evento bem organizado. Minha palestra sobre o PostgreSQL: O melhor banco de dados do Universo era um pequeno aperitivo para as pessoas olharem o PostgreSQL como uma alternativa aos banco de dados comerciais/proprietários.

Meme: Você sabe o que seu sysadmin está fazendo?

Thursday, July 31st, 2008

Continuando o meme do Maçan sobre o sysadminday

Muitas pessoas acham que sou DBA ou desenvolvedor mas a minha origem como profissional de TI é de sysadmin que no Brasil é muito conhecido como Administrador de Rede ou Analista
de Suporte
. No exterior nós somos conhecidos apenas como sysadmin. :)

Desde junho que não tenho mais tarefas de sysadmin (isso fica para uma próxima nota). Sinto falta das tarefas insanas, os prazos curtos e os pedidos idiotas. Esse último sysadminday eu estava montando um projeto de monitoramento e gentilmente um analista pediu para usar a máquina que eu estava usando para teste de carga do PostgreSQL para o Zabbix monitorar, ele comentou que era de teste e terminaria em uma semana. O bocó aqui, acreditou que realmente ia acontecer exatamente que o analista propôs mas isso está abaixo como um causo com omissão de nomes, lugares e pessoas.

Sysadmin: - Qual a codificação da base de dados que você irá usar?

Analista: - ASCII.

Na mente do Sysadmin: - Pq esse fdp não usa base com UTF-8?

Sysadmin: - Feito, pode usar.

Analista: - Hum… Tem coisa errada aqui, as funções estão com problemas.

Sysadmin: - Problemas? Mostre os erros para entender.

Sysadmin: - Não será que você está usando uma versão de conector muito
antiga (7.0) e o banco de dados instalado é o PostgreSQL 8.3?

Na mente do Sysadmin: Será que conjuro o Operador Bastardo do Inferno?

Analista: - Será? Acho que não.

Sysadmin: -Esse erro aí gritando na tela é de conversão implícita de tipo de dados, o PostgreSQL não tem mais funções desse tipo para evitar pequenos equívocos de conversão dos tipos de dados das variáveis. Conversões de tipos de dados devem ser explícitas.

Na mente do Sysadmin: Será que mostro esse artigo do Peter Eisentraut sobre isso???

Analista: - Ah!!! Entendi, já estou alterando.

Alguns dias passaram…

Analista: - Será que podem instalar um Apache
e PHP?

Sysadmin: -Ok, mas lembre-se que a máquina será desativada logo!

Na mente do Sysadmin: Acho que já disse isso antes.

Analista: - Claro, tudo sobre controle.

Alguns minutos depois…

Analista: - Olha, o PHP está com alguns problemas, podem ajudam?

Sysadmin: - Claro!

Analista: - Essa função não está retornando todas variáveis, o que está
errado na instalação aí?

Sysadmin: - Instalação padrão.

Analista: - Olha aqui a tela.

Sysadmin: - Qual versão do PHP você usou para desenvolver?

Analista: - 4 (quatro).

Na mente do Sysadmin: Muito bom, será que esse cara toma cerveja comvalidade vencida?

Sysadmin: - Essa versão não é recomendada para ambientes em produção, a
usada aqui no SO(Debian Lenny) é a 5.0 em diante.

Analista: Putz, pode dar um jeito?\

Na mente do Sysadmin: Lá vamos nós de novo com a bigorna e a marreta…

Sysadmin: - Você está usando variáveis globais?

Analista: - Acho que sim… Sim, estou!

Sysadmin: - Claro, só um instante.

Sysadmin altera o php.ini para aceitar variáveis globais do PHP,
muito puto…

Na mente do Sysadmin: - Será que ele já leu algum artigo
sobre melhores práticas para PHP?

Sysadmin: - Está pronto, esse servidor terá estar disponível na internet?

Analista: - Sim, porque você acha que ele foi migrado para PHP?

Na mente do Sysadmin: - Será que acertar a marreta na cabeça dele,
alguém irá notar?

Sysadmin: - Está aparecendo alguns erros ao consultar as tabelas.

Analista: - Tudo bem, esses erros são de tabelas que já não existem, para o
programa precisa apenas de uma dessas consultas que estão com erro.

Na mente do Sysadmin: - Hã?

Analista: - Pode fazer desaparecer essas mensagens de erro?

Sysadmin: - Claro, só um minuto…

Altera o php.ini novamente para omitir qualquer erro do PHP.

Sysadmin: - Mais alguma coisa?

Analista: - Por enquanto está tudo certo.

Esse tipo de situação acontece muito em muitos lugares desse planeta, portanto cuide bem de seu sysadmin. :)

Para continuar esse meme:

Eder (frolic) L. Marques

André (andrelop) Luís Lopes

Christiano Anderson