Skytools, pgbouncer e plproxy

Loading...

Flash Player 9 (or above) is needed to view presentations.
We have detected that you do not have it on your computer. To install it, go here.

0 comments

Post a comment

    Post a comment
    Embed Video
    Edit your comment Cancel

    Favorites, Groups & Events

    Skytools, pgbouncer e plproxy - Presentation Transcript

    1. PostgreSQL para um bilhão de usuários Fernando Ike de Oliveira B2BR - Grupo TBA Setembro de 2008 / PGCon-BR 2008 Fernando Ike de Oliveira Pgbouncer, plproxy, skytools
    2. Breve história... 2004 libera um conjunto de ferramentas para replicação, balanceamento de carga e alta-disponibilidade para PostgreSQL. Essas ferramentas são conhecidas como PL/Proxy, PgBouncer, Skytools. A licença é BSD. Instalação à partir do código-fonte ou pacotes *.deb *.rpm. Oficialmente o Debian, Fedora tem pacotes binários. Fernando Ike de Oliveira Pgbouncer, plproxy, skytools
    3. PL/Proxy PL/Proxy é uma linguagem usada para chamadas remotas e particionamento de banco de dados usando hash dos dados. PL/Proxy permite criar funções de proxy usando hash para especificar destino (base de dados alvo). PL/Proxy é comparável à um roteador de rede que encaminha a expressão SQL para o instância correta. Fernando Ike de Oliveira Pgbouncer, plproxy, skytools
    4. PL/Proxy Princípio de funcionamento PL/Proxy Exemplo "SELECT (hashtext(’pgcon1’))%3" = 0 "SELECT (hashtext(’pgcon2’))%3" = -1 "SELECT (hashtext(’pgcon3’))%3" = -2 "SELECT (hashtext(’pgcon4’))%3" = 0 "SELECT (hashtext(’pgcon5’))%3" = 0 "SELECT (hashtext(’pgcon6’))%3" = 2 "SELECT (hashtext(’pgcon7’))%3" = -1 "SELECT (hashtext(’pgcon8’))%3" = 0 "SELECT (hashtext(’pgcon9’))%3" = 0 "SELECT (hashtext(’pgcon10’))%3" = 0 Fernando Ike de Oliveira Pgbouncer, plproxy, skytools
    5. PL/Proxy idéias básicas possíveis Como um barramento, para todos as servidores PostgreSQL Tabelas Particionamento usando funções de Proxy Fernando Ike de Oliveira Pgbouncer, plproxy, skytools
    6. PL/Proxy Problema Fernando Ike de Oliveira Pgbouncer, plproxy, skytools
    7. PL/Proxy Princípio do Proxy Fernando Ike de Oliveira Pgbouncer, plproxy, skytools
    8. PL/Proxy Particionamento de dados Fernando Ike de Oliveira Pgbouncer, plproxy, skytools
    9. PgBouncer Um serviço de pool para o PostgreSQL Baixo consumo de recurso (2k por conexão) Suporta reconfiguração sem reiniciar o serviço Suporta reinício/atualização sem derrubar a conexão cliente Suporta o protocolo v3 ou superior, somente => 7.4 O Parse SQL nao eh muito rápido e consome pouco tempo de cpu Tem uma interface console de gerenciamento Tem estrutura sua (própria) estrutura de autenticação mas similar ao arquivo similar ao arquivo de senha pg_pwd do PostgreSQL. Permite autenticação do tipo: trust, texto plano, crypt, md5. Fernando Ike de Oliveira Pgbouncer, plproxy, skytools
    10. PgBouncer Modos de pool Sessão (session) Transação (transaction) Instrução (statement) Fernando Ike de Oliveira Pgbouncer, plproxy, skytools
    11. PgBouncer Sessão Quando um cliente conecta, o PgBouncer retira uma conexão do pool e entrega para a aplicação Ao o cliente desconectar, o PgBouncer re-aloca a conexão para o pool. geralmente essa configuração é recomendada para aplicações legadas(Por não usarem de forma eficiente o pool) Fernando Ike de Oliveira Pgbouncer, plproxy, skytools
    12. PgBouncer Transação Servidor mantém para o cliente a conexão somente durante a transação. Quando PgBouncer notifica que transação acabou, o servidor devolve a conexão para o pool. Essa opção não deve ser usada com servidor de aplicações que gerenciam pool (Jboss, por exemplo) Fernando Ike de Oliveira Pgbouncer, plproxy, skytools
    13. PgBouncer Instrução (Statement) Este é o modo usado usado com o PL/Proxy. Por ser mais agressivo, ele retornar o conexão para opool depois que a consulta termina. Transações muito longas com múltiplos Statements são desabilitados neste modo. Fernando Ike de Oliveira Pgbouncer, plproxy, skytools
    14. Skytools O que é? Skytools são um conjunto de scripts para gerenciar cluster de servidores PostgreSQL. Desenvolvido em C e Python Permitem usar para replicação assíncrona Permitem replicar dados particionados nos servidores "slave(s)" Possível extender usando as API do PgQ Fernando Ike de Oliveira Pgbouncer, plproxy, skytools
    15. Skytools Basicamente... Centralização de log gerenciamento de exceções. Gerenciamento de conexões ao banco de dados Gerenciamento de configuração Gerenciamento de scrips... Fernando Ike de Oliveira Pgbouncer, plproxy, skytools
    16. Skytools Conteúdo londiste walmgr serial_consumer queue_mover queue_splitter table_dispatcher cube_dispatcher Fernando Ike de Oliveira Pgbouncer, plproxy, skytools
    17. Skytools Londsite é... ... um sistema de replicação ... Master/Slave(s) como tipo de replicação ... de replicação é assíncrona ... baseada fortemente nas idéias do no Slony-1. ... um replicador baseado em gatilhos Fernando Ike de Oliveira Pgbouncer, plproxy, skytools
    18. Skytools Walmgr é... ... uma ferramenta para gerenciar replicação por WAL ... similar ao pg_standby (contrib) ... possível gerenciar replicação baseada em PITR (Warm Standby). ... escrito em python ... uma ferramenta de replicação que usa túnel SSH. Fernando Ike de Oliveira Pgbouncer, plproxy, skytools
    19. Skytools queue_mover e queue_splitter Ambos Usa o PgQ como transporte dos dados Move/copia os dados para os servidores Slave Move/copia os dados em lote(batch) O processamento é/são nos slave(s) queue_mover Usado para mover/copia os dados para OLTP, Web queue_splitter Usado para BI Fernando Ike de Oliveira Pgbouncer, plproxy, skytools
    20. Skytools cube_dispacher e table_dispacher Ambos Ferramentas para replicar dados em tabelas particionadas. Usados para preparar os dados para outros servidores cube_dispacher Prepara os dados para banco de dados do tipo BI, OLAP, Cubo... Não tem suporte para operações de remoção de registro Caso haja duas versões do mesmo registro, ele irá enviar somente a última versão. table_dispacher script para configuraro particionamento de uma ou mais tabela. possibilita particionar uma tabela por mês, por exemplo. Fernando Ike de Oliveira Pgbouncer, plproxy, skytools
    21. Exemplo 1 Fernando Ike de Oliveira Pgbouncer, plproxy, skytools
    22. Exemplo 2 Fernando Ike de Oliveira Pgbouncer, plproxy, skytools
    23. Dúvidas Links e Listas de discussão: https://developer.skype.com/SkypeGarage/DbProjects/SkypePostgresqlWhitepaper https://developer.skype.com/SkypeGarage/DbProjects/PlProxy http://pgfoundry.org/mailman/listinfo/plproxy-users https://developer.skype.com/SkypeGarage/DbProjects/PgBouncer http://pgfoundry.org/mailman/listinfo/pgbouncer-general https://developer.skype.com/SkypeGarage/DbProjects/SkyTools http://pgfoundry.org/mailman/listinfo/skytools-users http://joaocosme.wordpress.com/2008/07/03/comecando-com-o-plproxy/ Fernando Ike de Oliveira Pgbouncer, plproxy, skytools
    24. Conclusão Contatos: fernando.ike@b2br.com.br fernando.ike@gmail.com http://www.midstorm.org/~fike/weblog PGCon Brasil 2008 http://pgcon.postgresql.org.br Imagens Joao Comes http://joaocosme.wordpress.com Fernando Ike de Oliveira Pgbouncer, plproxy, skytools
    SlideShare Zeitgeist 2009

    + Fernando IkeFernando Ike Nominate

    custom

    195 views, 0 favs, 0 embeds more stats

    Palestras sobre o Sytools, pgbouncer e plproxy. Fer more

    More info about this document

    © All Rights Reserved

    Go to text version

    • Total Views 195
      • 195 on SlideShare
      • 0 from embeds
    • Comments 0
    • Favorites 0
    • Downloads 2
    Most viewed embeds

    more

    All embeds

    less

    Flagged as inappropriate Flag as inappropriate
    Flag as inappropriate

    Select your reason for flagging this presentation as inappropriate. If needed, use the feedback form to let us know more details.

    Cancel
    File a copyright complaint
    Having problems? Go to our helpdesk?

    Categories