A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Replicação e H.A com Postgresql Palestrante: João Cosme de Oliveira Júnior 21/9/2016.

Apresentações semelhantes


Apresentação em tema: "Replicação e H.A com Postgresql Palestrante: João Cosme de Oliveira Júnior 21/9/2016."— Transcrição da apresentação:

1

2 Replicação e H.A com Postgresql Palestrante: João Cosme de Oliveira Júnior joao.cosme@sepro.gov.br 21/9/2016

3 Conceitos ● Replicação (Replication ) != ● Balanceamento de Carga (Load Balancing) != ● Alta Disponibilidade (H.A) !=

4 Conheça o seu banco de dados... ● “Quero fazer uma arquitetura show de bola … replicar, mandar dado pra lá, pra cá...” ● Seja racional, calculista e não se deixe levar somente pelo desafio! ● Trabalho em conjunto: DBA + AD

5 Tenhas as seguintes respostas... Tenho conhecimento conceitual sobre os seguintes aspectos? – Banco de dados!!!!!! – Alta disponibilidade? – Modelos de replicação de dados? – Particionamento de dados? – Balanceamento de carga? – A *solução desejada tem que ter o propósito correto para minha necessidade!

6 Obtenha as seguintes respostas... ● Qual o perfil do meu banco de dados? – Muita escrita? Muita Leitura? (Obtenha esses dados antes do primeiro passo) ● Qual a característica dos meus dados?? – Administrador de dados me ajude! – Dados críticos confidenciais? “Fidelidade momentânea”? Mapeamento de quais dados são mais escritos, consultados... ● O que eu realmente estou procurando? – Replicação? Alta-disponibilidade? Balanceamento?

7 Conceitos de replicação de dados ● Sincronismo é a palavra! ● Multiplas soluções, cada uma trata o problema de uma maneira diferenciada. ● Síncrono, Assíncrono, Master -slaves, Multi- Master, Failover, slave promotion, Stand By... ● Conceitos e mais conceitos!

8 Master-slave Master(ESCRITA) Slave(LEITURA ) Maste r Slav e

9 Replicação Mestre-Escravo ● Replicação Mestre-Escravo envia todas as queries de escrita para o Mestre ● O Master assíncronamente envia as alterações dos dados para os servidores escravos. ● Servidores escravos podem ser consultados. ● Existe a possibilidade de perda de dados durante o fail-over. MEU DEUS!!! (Então eu não quero)

10 Exemplos de ferramentas Mestre- Escravo ● Slony-I – Sistema de replicação “Master do Multiples Slaves” suportando cascateamento entre os nós e slave promotion. Slave(LEITURA )

11 Continuando com o Slony.. ● Posso granularizar minha replicação. ● Replica sequences e tabelas. – Não replica DDLS nem LO... Mas... ● Exige um certo esforço para configurar (Existem scripts que automatizam essa configuração inicial :P ) ● A grande maioria das distros possuem pacotes mas compilar é “Barbada”.

12 E quem utiliza isso (Slony-I)?? ● A ferramenta mais consolidada visto que, também é a mais antiga. ● TIM STUDIO case apresentado no PGCON em campinas com dezenas de nós. ● Várias empresas ao redor do mundo...

13 Exemplos de ferramentas Mestre- Escravo ● Londiste – Skytools Pacote de ferramentas utilizados para gerenciar o Cluster de Postgresql. – Londiste nice and simple replication tool. – Escrita em Python. – Principal propósito: Robustez e fácil uso. –

14 Continuando com o Londiste... ● Londiste – Master to Multiples slaves. – Não suporta cascateamento entre os slaves. – Não suporta slave promotion e failover. – Tabelas podem ser adicionadas uma a uma nos sets de replicação. – Pode-se realizar comparações das tabelas dos dois lados. – Suporte a Sequences.

15 O Próprio skype utilizava slony mas.. “I have not been running slony for quite a long time. I last used it at Skype a few years ago before we moved to our own implementation - Londiste/pgQ from SkyTools. The main reason was that our cluster got too big to manage with slony.”

16 Warm Stand By ● Dois sistemas: Um primário e um secundário ● Primário → Modo contínuo de archive ● Secundário → Modo contínuo de recovery lendo os arquivos Wals do primeiro ● LOG Shipping ● Assíncrono. ● Fácil implementação. ● Replica todo o banco de dados.

17 Warm-Stand By ● O servidor primário processa algumas transações e gera os “Wal files” no $PGDATA/pg_xlogs,16 megas. ● Gerado o Wal file de 16 megas, ele então é copiado em um determinado local que é lido pelo outro server em stand by até que uma determinada trigger seja disparada

18 O que é plproxy? ● O plproxy é uma linguagem criada dentro de um banco de dados Postgresql (assim como outras linguagens como plpgsql…. ) ● Possibilita acesso remoto em outros databases assim como o dblink. ● Segundo Kaiv, o plproxy é um dblink ANABOLIZADO!

19 PL/PROXY ● Projeto do Skytools ● Utilizado no projeto SKYPE ● Diminuir a carga em cima de um único servidor (Balanceamento de carga) ● Promover o particionamento dos dados entre os servidores ● Pode-se obter replicação síncrona

20 PL/PROXY

21 PLPROXY ● Todo o SQL não está mais na aplicação e sim em formato de ST (Stored procedures) no banco de dados. ● Isso implica em uma decisão de projeto, alteração no código da aplicação.

22 PGPOOL II ● Middleware, trabalha entre o banco de dados e o cliente. ● Pooling de conexões ● Balanceamento de carga ● Queries paralelas ● Failover automático ● Replicação síncrona ● Transparente para a aplicação ● Tem pacotes no DEBIAN também.

23 PGPOOL II ● Escalável Banco 1 Banco 2 PGPOOL

24 Cenário PGPOOL Escrit a heartbeat PGPOOL Leitur a heartbeat Slony-I

25 Obrigado! Dúvidas, sugestões reclamações... joao.cosme@serpo.gov.br joaocosme.wordpress.com


Carregar ppt "Replicação e H.A com Postgresql Palestrante: João Cosme de Oliveira Júnior 21/9/2016."

Apresentações semelhantes


Anúncios Google