Memnemonics fike’s Rotating Header Image

banco de dados

Debian, Sysctl e postgresql

    Na maioria dos casos de uma instalação do PostgreSQL é modificado o sysctl para usar melhor (tuning) os recursos disponíveis num servidor. O Debian tem um diretório chamado /etc/sysctl.d para configurações personalizadas em pacotes específicos como o pacote do PostgreSQL.

    Para fazer a modificação (tuning) do sysctl no modo Debian (Debian-like), o arquivo para fazer modificação é /etc/sysctl.d/30-postgresql-shm.conf.

    Efetivar a modificação sem reiniciar o servidor, é:

sysctl -p /etc/sysctl.d/30-postgresql-shm.conf

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

TODO: Minha agenda p/ PGBR 2011

       

  O temário da PGBR 2011 fez uma excelente escolha de temas. É muito difícil escolher qual assistir, de qualquer forma fiz uma seleção de palestras que tentarei assisti. (sem ordem de prioridade e com alguns comentários)

PostSemantic: Integrando dados legados através de semântica

     Está na moda ontologia e Web semântica. Um dos caminhos que para integração de sistemas "autônomos" é uso do SPARQL. Minha apresentação para PGBR tem isso na agenda mas sem a profundidade que o Rodrigo deva abordar. Um projeto interessante de uso do SPARQL e RDF é DBpedia.

- Meu ambiente cresceu e eu não planejei. E agora? 

     Sempre pensei em apresentar uma palestra dessa. Até rascunhei mas  fiquei adiando, adiando termirnar  e (finalmente) alguém mais qualificado (Flávio Gurgel) do que eu falará de um assunto tão bacana e que poucos dão atenção (só depois de ver o tamanho da fatura por não ter planejado direito…). :D :D

- PostgreSQL Performance Pitfalls

     Greg Smith é um dos desenvolvedores do PostreSQL e falará um "pouco" sobre performance. Escreveu um livro recomendadíssimo sobre o tema.

- Viva a Revolução Geoespacial

    Para quem acha que Geoespaciais é o Google Maps, Foursquare ou informações de uma galáxia, não perca a palestra do Bueno. Aliás, ele (ao menos para mim) é um dos pioneiros do Postgis no Brasil.  Se quiser de autógrafos dele, fale comigo no evento. :D

- Escalabilidade horizontal com PostgreSQL 9.0 e Pgpool II

    Escalabilidade horizontal, Grids e sistemas distribuídos são alguns dos meus temas preferidos. Alguns serviços da "nuvem" de PostgreSQL usam bastante os recursos que serão apresentados pelo Matheus.

- MVCC Unmasked

    Bruce Momjian falará uma das funcionalidades de um banco de dados mais fantásticas de um banco dedados, seja SQL ou não: MVCC.

- PostgreSQL at the center of your dataverse

    Implamentação da especificação ISO SQL/MED, talvez o Dave Page fale que é possível buscar informações online do telescópio Hubble. :) :) :)

- PostgreSQL: heavyweight locks, lwlocks, deadlocks, spinlocks, pg_locks, row locks … isálvese quien pueda!

    Locks, locks, deadlocks. O terror de qualquer pessoa que tem envolvimento com banco de dados. Álvaro Herrera falará de um pouco sobre magia negra chamada locks (bloqueios). 

- PostgreSQL and Postgres-XC in NTT Group

    A NTT é uma empresa de telecomunicações do Japão, vai ser interessante ver o que eles estão fazendo com PostgreSQL para manter seus serviços. Ah, os japoneses são os que mais usam telefone no mundo, imagina quanto um banco de dados é exigido???

- Fazendo uma manada de elefantes passar por baixo da porta 

  Provavelmente a palestra mais esperada da PGBR 2011. Dicas importantes de sobre hardware, sistemas de arquivos, etc.  Recomendado para qualquer um que é ou será responsável por banco de dados, principalmente para sistemas OLTP (Online Transaction Processing) e também, porque é o brasileiro que trabalha com PostgreSQL sensação de 2011. Também conhecido como Telles Demolidor (Homem sem medo). 


PS. Autógrafos do Telles, basta agendar comigo. :)

PS2. Hey, essa é a minha lista de intenção. As outras que não listei aqui serão apresentadas por pessoas de alta qualificação. Qual a sua lista?

Celebridades do PostgreSQL entrevistado

   

   Telles é atualmente a celebridade brasileira do PostgreSQL em 2011.  Por que?

   Simples, ele tem email de grife e foi entrevistado pelo pessoal do DatabaseCast para falar de PostgreSQL.  E não ache que é pouca coisa, porque iá apresentar uma das palestras mais quentes da PGBR 2011 que o título "Fazendo um manada de elefantes passar por baixo da porta".

   Basicamente a palestra dele é sobre o uso do PostgreSQL em ambientes de altíssima concorrência, coisa para gente de conhecimento super elevado. Não perca. :D DD

   

 

P.S. Deixando a badalação de lado. Boa entrevista do Telles, recomendo a audição.

 

PGBR2011 – Chamada de trabalhos


PGBR 2011 - Conferência Brasileira PostgreSQL

   

    O telles fez a melhor chamada de trabalhos que alguém poderia escrever, portanto nem vou tentar fazer melhor. Vai lá e lê!!!

    Enviei duas propostas:

Escalabilidade, As Modas e (No)SQL

Escalabilidade e a miserabilidade do fracasso

 

Grupo de usuário tem prazo de validade?

  

   Grupo de usuários de tecnologia, principalmente que são software livre/código aberto são bastante diversificados, pulverizados e voláteis. O Telles postou na lista que organiza o grupo de usuários brasileiro do PostgreSQL uma pequena provocação com o título "A comunidade brochou?".

    Ele assumiu como Big Kahuna a organização do Conferência PostgreSQL em 2011. (já disse que a ele que gosta muito de emoção. ;) )

    A grande questão em seu post é a motivação das pessoas no grupo de usuários. Para ajudar, eu postei umas bobagens como resposta, segue-a com uma ligeira adaptação:

  Que tal fazer algo menos penoso que as pessoas que são voluntárias se divertam?

  Fazer evento para o público grande, gerar repercussão, etc. é legal, mas fazer por voluntário e fazer exigindo a mesma qualidade de evento "corporativo" é transformar uma ação voluntária em uma ação desmotivante e tediosa.

  A questão principal em voluntários em qualquer projeto de software livre é o prazer em ser voluntário e a reconhecimento pelo que fez. Ao deixar um desses pontos de lado, principalmente o primeiro, a desmotivação em fazer é maior que a necessidade de acontecer.

voluntario1

  Particularmente, gosto de um item do Contrato Social do Debian:

"4- Nossas prioridades são nossos usuários e o software livre"

   Qual a prioridade (prazer como voluntário) de cada um com o PostgreSQL?

    Exemplos disso são meus pacotes no Debian e o patch que entrou no PostgreSQL, são atividades voluntárias que me satisfazem. Apesar de não ter mais tanto tempo, ainda faço alguma coisinha em projetos de Software Livre, isso é a minha maior motivação como um voluntário e entusiasta.

   No Catedral e Bazar  tem uma citação que reflete em como um voluntário de um projeto fica por período maior.

"18. Para resolver um problema interessante, comece achando um  problema que é interessante para você…"

   A grande questão é a motivação (algo interessante a dedicar-se) para fazer. Se não existir motivação pessoal e motivação/prioriodade/diretriz/etc… do grupo de usuário que guie as pessoas fazer ações voluntárias que sejam interessantes. Senão, serão atividades momentâneas do voluntário, dificilmente se repetirão.

voluntario2

   A ação prioritária deste grupo de usuários é realizar uma conferência todo anual?

   Uma analogia tosca é os multirões de doação de brinquedos no natal e no dia das crianças. A motivação é a entrega dos brinquedos, todo o restante (campanha p/ doar os brinquedos, triagem, etc).

   De um grupo de usuários pode ser qualquer coisa, como por exemplo, as festas de mapeamento de ruas e locais do pessoal do OpenStreetMap. O comprometimento do voluntário depende muito da motivação dele, pouco ou sem motivação não se tem ação para que mantenha a motivação de ser voluntário.

   No Catedral e Bazar analisa como o fluxo de mensagens de email na lista de discussão do fetchmail é ascendente até que a maior parte das funcionalidades que os usuários solicitaram foram contemplada. Depois, iníciou um declínio do fluxo de mensagens na lista de discussão pois as necessidades dos usuários interagirem com os desenvolvedores diminuiram e hoje em dia, poucas pessoas usam fetchmail (alguém que lê usa ainda?).

   Num passado não tão distante, existiam poucas alternativas de banco de dados com licenças abertas, hoje a concorrência é muito grande ao PostgreSQL. Desde os tradicionais MySQL, Firebird, SQLite aos em moda atualmente (NOSQL): Cassandra, Lucene, CouchDB, MongoDB e etc. O aumento de opção  de banco de dados não é ruim, é bom a diversificação de opções porém gera um reflexo aparente (não mensurei) de interesse menor ao PostgreSQL. Menos interessados,  menos voluntários, menos participantes nas listas, etc.

   Talvez devesse haver uma adaptação da visão do grupo de usuários ao cenário de banco de dados atual? Na minha opinião, sim! :)

   Bom, depois do monte de bobagem escrita acima tenho que ao menos propor algo. Uma idéia simples é reunir mensalmente em cada cidade que tem usuários de PostgreSQL num evento informal para trocar idéia, bater papo. Atividade de pouca complexidade para organizar que a maioria gosta de fazer e que pode render alguns pgday's ou voluntários para a Conferência PostgreSQL 2011. :)

  

Pesquisa para palestrantes gringos da PGBR 2011

   E os trabalhos para organizar a PGBR 2011 estão a todo vapor. A organização está fazendo uma votação para ver quais os palestrantes internacionais que a comunidade brasileira de PostgreSQL gostaria que estivessem para a próxima PGBR.

   A pesquisa está aqui.

   A referência da chamada para votação pode ser lida na na lista de usuários PostgreSQL Brasil.

  

ONG BrOffice: O que está acontecendo?

  

   Alguns dias atrás, o filhocf postou uma Carta Pública no Br-Linux e em seu blog. A discussão aberta está acontecendo na lista da Revista do BrOffice que ajuda entender um pouco.

   Aparentemente, existe duas visões dos objetivos  da ONG do BrOffice, a que está no estatuto e uma outra inversa que transformou a ONG em uma empresa privada.

   Na última Conferência Brasileira de PostgreSQL, fui um principais incentivadores que o grupo de usuários PostgreSQL Brasil participasse da ONG, pois avaliava que teria uma relação transparente com o PGBR, sendo o suporte legal (juridíco). Infelizmente, estava errado!

   Os mais antigos que trabalham e/ou gostam de Software Livre irão lembrar de várias iniciativas de fomento de Software Livre/Código Aberto que, na maioria, não duraram muito no Brasil (lembram da OTUN?). Puxando a memória, lembro-me de duas iniciativas de relativo sucesso: Portal do Software Público e a ONG BrOffice. 

   O Portal do Software Público é uma iniciativa do Governo Federal e a ONG BrOffice (é) era a única da sociedade cívil que teve um período mais longo de existência. Com a disputa da ONG, fez-me refletir se o Brassil está preparado para iniciativas como a Open Source Initiative ou Linux Foundation. Por enquanto a resposta é não.

   Em tempos de Wikileaks e transparência pública, a pior coisa que poderia acontecer para ONG BrOffice e os grupos de usuários que a apoiam é dela não ser transparente com os mesmos e a sociedade.  A consequência natural será dos grupos de usuários afastarem-se e deixarem de apoiá-la, levando-a paulatinamente ao ostracismo e como referência negativa para iniciativas de fomento de Software Livre pela sociedade cívil (espero que ainda possam reverter!).

 

OBS. Ah, estava esquecendo da Associação de Software Livre que é responsável pela organização do Fórum Internacional de Software Livre que está firme e forte por mais de dez anos! :)  

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?

PostgreSQL 9.0 saindo do forno

   

 

   A versão 9.0 do PostgreSQL está em Release Candidate, significa que em breve estará tornarar-se a próxima versão estável nos próximos dias ou semanas. Essa é uma das versões mais aguardadas, a expectative deve-se as novas funcionalidades como Stream Replication e Hot Standby que são muito aguardadas no mundo corporativo.

   Como dizem por aí:

- "Mais rápido, mais forte, mais ágil, mais disponível…"