Cluster e replicação em banco de dados

16,569 views

Published on

  • minha parte é a do mondodb, existem poucos slides pois falei bastante sem ler.
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here

Cluster e replicação em banco de dados

  1. 1. Cluster de banco de dados  e  replicação Alexandro Ribeiro Igor Bueno Gurski Jean Carlo Nascimento Pedro Luiz Meneghel Filho Silvano Gurski
  2. 2. Cluster <ul><li>     Cluster é um sistema que compreende dois ou mais computadores ou sistemas (denominados nodos) na qual trabalham em conjunto para executar aplicações ou realizar outras tarefas. </li></ul>
  3. 3. Cluster <ul><li>     As características fundamentais para a construção de clusters são:  </li></ul><ul><ul><li>confiança </li></ul></ul><ul><ul><li>distribuição de carga </li></ul></ul><ul><ul><li>performance </li></ul></ul>
  4. 4. Cluster <ul><li>     O sistema deve executar funções ou realizar outras tarefas, de tal forma para que os usuários que os utilizam tenham a impressão que somente um único sistema responde para eles. </li></ul><ul><li>     Este conceito é denominado transparência do sistema. </li></ul>
  5. 5. Clusters <ul><li>Quando falamos em Cluster de banco de dados, pensamos em 3 tipos de clusters: </li></ul><ul><li>Shared All: Onde a memória (shared buffers) e os discos (datafiles) são compartilhados por cada nó do cluster; </li></ul><ul><li>Shared Disc: Onde apenas os disco são compartilhados pelos nós do cluster; </li></ul><ul><li>Shared Nothing: Onde cada nó tem a sua própria memória e discos; </li></ul>
  6. 7. Replicação <ul><li>     Replicação dos dados refere-se a cópia dos dados para um     ou mais servidores; </li></ul><ul><li>  </li></ul><ul><li>    Finalidades: </li></ul><ul><li>        - Backup; </li></ul><ul><li>        - Alta Disponibilidade; </li></ul><ul><li>        - Segurança para o DBA; </li></ul><ul><li>    Replicação de Dados </li></ul><ul><li>    Replicação de Base de Dados </li></ul><ul><li>    Mínimo 2 computadores distintos. MASTER/SLAVE. </li></ul><ul><li>    </li></ul>
  7. 8. Replicação <ul><li>    </li></ul><ul><li>    Protocolos Tradicionais </li></ul><ul><li>        - Primário </li></ul><ul><li>        - Lê um, escreve todos </li></ul><ul><li>        - Votação Simples </li></ul><ul><li>        - Votação Ponderada </li></ul><ul><li>    Porque Não? </li></ul><ul><li>        - Ocupa mais espaço; </li></ul><ul><li>        - Garantindo ACID, nós todos 100%; </li></ul><ul><li>  </li></ul><ul><li>    PostgreSQL 9.0 - Nativo Assíncrono </li></ul><ul><li>     PostgreSQL 9.1 - Nativo Síncrono (desenv.) </li></ul><ul><li>    Replicação x Cluster; </li></ul>
  8. 9. Replicação <ul><li>     A replicação também pode servir como um concentrador de dados de diversas fontes. </li></ul>
  9. 10. Replicação <ul><li>Quando falamos em Replicação de banco de dados, pensamos em 4 tipos de replicação orientados por 2 paradigmas distintos: </li></ul><ul><li>Replicação sincrona: onde todas as réplicas possuem sempre os mesmo dados; </li></ul><ul><li>Replicação assíncrona: onde as réplicas podem ser  </li></ul><ul><li>sincronizadas depois que um alteração nos dados é realizada; </li></ul><ul><li>Replicação MultiMaster: onde é possível realizar leitura e gravação em qualquer réplica; </li></ul><ul><li>Replicação Master/Slave: onde apenas a réplica master permite gravação, enquanto as demais réplicas só permitem leitura; </li></ul>
  10. 12. Sharding <ul><li>     Sharding consiste em dividir os dados dados horizontalmente, ou seja, quebrar as tabelas, diminuindo o seu número de linhas e separando-as em ambientes diferentes. </li></ul><ul><li>     Você fica com mais rendimento e com maior capacidade de armazenamento em disco. Caso o seu armazenamento e desempenho precisem crescer, basta acrescentar mais shards. </li></ul>
  11. 13. GridFS <ul><li>     O GridFS é um sistema para o compartilhamento de arquivos em grades e ambientes distribuídos heterogêneos. Ao disponibilizar um servidor em diversas máquinas, é possível construir um cluster integrando os diversos sistemas de arquivos locais e abrindo possibilidades de armazenamento na ordem de terabytes. </li></ul>
  12. 14. GridFS <ul><li>     O sistema proposto foi modelado e desenvolvido levando em consideração diversos aspectos como escalabilidade, interoperabilidade e desempenho.  </li></ul><ul><li>     Ele trabalha dividindo grandes objetos em pequenas partes de 256k. </li></ul>
  13. 16. Extensões - PostgreSQL <ul><li>pgpool-II </li></ul><ul><li>Slony-I </li></ul><ul><li>PGCluster </li></ul><ul><li>Postgres-R </li></ul><ul><ul><li>Componentes de um Cluster Postgres-R </li></ul></ul><ul><ul><li>Ciclo de Vida de uma Transação Replicada </li></ul></ul><ul><ul><li>Resolução de Conflitos </li></ul></ul>
  14. 17. Replicação - pgpool-II <ul><li>Middleware entre o servidor de banco de dados PostgreSQL e seus clientes; </li></ul><ul><li>Melhor tratamento de conexões excedentes </li></ul><ul><li>Pool de conexões, que permite que conexões com as mesmas características (usuário, banco de dados e versão do protocolo utilizado) </li></ul><ul><li>Replicação através da execução simultânea de uma operação em diversos servidores </li></ul><ul><li>Modos : raw, connection cool, replication, parallel e master/slave( Slony-I ) </li></ul>
  15. 18. Replicação - pgpool-II - Modos <ul><li>Raw Mode : Clientes simplesmente se conectam ao servidor PostgreSQL através do pgpool-II. Limitar o número máximo de conexões simultâneas ao PostgreSQL, ou permitir que um servidor alternativo assuma em caso de falha do servidor principal. </li></ul><ul><li>Connection Pool Mode: modo básico (Raw Mode). A diferença é que pedidos de conexão que apresentam as mesmas características são reutilizadas </li></ul><ul><li>Replication Mode: executa todas as operações em todos os servidores gerenciados por ele, criando uma réplica dos bancos de dados </li></ul><ul><li>Parallel Mode: é um modo avançado no qual os dados são distribuídos entre os servidores </li></ul><ul><li>Master/Slave Mode : operações que precisam ser replicadas são passadas ao Mestre, enquanto as outras são distribuídas entre os servidores sempre que possível </li></ul>
  16. 19. Replicação - Slony-I <ul><li>O Slony-I é uma extensão ao PostgreSQL que realiza replicação Assíncrona entre um mestre e um ou mais escravos; </li></ul><ul><li>Indicado principalmente para uso em Data Centers e para realização de backups em tempo real das bases de dados de um servidor. </li></ul><ul><li>Solução apontada pelo site oficial do PostgreSQL1 como a extensão mais popular disponível livremente para replicação assíncrona. </li></ul>
  17. 20. Replicação - PGCluster <ul><li>PGCluster é uma extensão para PostgreSQL que oferece replicação Síncrona entre dois ou mais mestres </li></ul><ul><li>Solução indicada pelo site oficial do PostgreSQL como a solução mais popular disponível para esse tipo de replicação </li></ul><ul><li>Composto por três tipos de servidores distintos: </li></ul><ul><ul><li>Servidor de replicação (Replication Server) </li></ul></ul><ul><ul><li>Balanceador de carga (Load Balance Server) </li></ul></ul><ul><ul><li>Servidor PostgreSQL em si; </li></ul></ul>
  18. 21. Replicação - Postgres-R <ul><li>Postgres-R é uma extensão ao servidor de banco de dados PostgreSQL que fornece replicação Síncrona (vários mestres) e foi projetada para ser o mais transparente possível para o cliente. </li></ul><ul><li>Objetivo de implantação de um servidor de banco de dados PostgreSQL de alta disponibilidade e com balanceamento de carga sem o uso de qualquer equipamento especial, </li></ul><ul><li>Utilizar equipamentos que estão amplamente disponíveis e um custo acessível. </li></ul>

×