Tópicos Especiais em Redes de Computadores 6º Semestre Aula 04 Prof. Carlos Vinícius...
-
Upload
alexandre-deus -
Category
Documents
-
view
215 -
download
0
Transcript of Tópicos Especiais em Redes de Computadores 6º Semestre Aula 04 Prof. Carlos Vinícius...
Tópicos Especiais em Redes de Computadores
6º Semestre
Aula 04
Prof. Carlos Viní[email protected]
SERVIÇO NACIONAL DE APRENDIZAGEM COMERCIALFACULDADE DE TECNOLOGIA SENAC PELOTAS
1
Cluster de banco de dados e replicação
2
Cluster
o 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.
3
Cluster
o As características fundamentais para a construção de clusters são:
o Confiança
o Distribuição de carga
o Performance
4
Cluster
o 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.
o Este conceito é denominado transparência do sistema.
5
Cluster
o 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.
o Este conceito é denominado transparência do sistema.
6
Cluster
o Quando falamos em Cluster de banco de dados, pensamos em 3 tipos de clusters:
o Shared All: Onde a memória (shared buffers) e os discos (datafiles) são compartilhados por cada nó do cluster;
o Shared Disc: Onde apenas os disco são compartilhados pelos nós do cluster;
o Shared Nothing: Onde cada nó tem a sua própria memória e discos.
7
Cluster
8
Replicação
o Replicação dos dados refere-se a cópia dos dados para um ou mais servidores;
o Finalidades:o Backup;o Alta Disponibilidade;o Segurança para o DBA.
o Replicação de Dados;o Mínimo 2 computadores distintos; MASTER/SLAVE.
9
Replicação
o Protocolos Tradicionaiso Primárioo Lê um, escreve todoso Votação Simpleso Votação Ponderada
o Porque Não?o Ocupa mais espaço;o Garantido ACID, nós todos 100%
o PostgreSQL 9.0 – Nativo Assíncronoo PostgreSQL 9.1 – Nativo Síncrono (desenv.)o Replicação X Cluster
10
Replicação
o A replicação também pode servir como um concentrador de dados de diversas fontes.
11
Replicação
o Quando falamos em Replicação de banco de dados, pensamos em 4 tipos de replicação orientados por 2 paradigmas distintos:o Replicação sincrona: onde todas as réplicas possuem
sempre os mesmo dados;o Replicação assíncrona: onde as réplicas podem
ser sincronizadas depois que um alteração nos dados é realizada;
o Replicação MultiMaster: onde é possível realizar leitura e gravação em qualquer réplica;
o Replicação Master/Slave: onde apenas a réplica master permite gravação, enquanto as demais réplicas só permitem leitura;
12
Sharding
o Sharding consiste em dividir os dados horizontalmente, ou seja, quebrar as tabelas, diminuindo o seu número de linhas e separando-as em ambientes diferentes.
o 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.
13
GridFS
o 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.
14
GridFS
o O sistema proposto foi modelado e desenvolvido levando em consideração diversos aspectos como escalabilidade, interoperabilidade e desempenho.
o Ele trabalha dividindo grandes objetos em pequenas partes de 256k.
15
mongoDB
16
Extensões - PostgreSQL
o pgpool-II
o Slony-I
o PGCluster
o Postgres-Ro Componentes de um Cluster Postgres-Ro Ciclo de Vida de uma Transação Replicadao Resolução de Conflitos
17
Replicação - pgpool-II
o Middleware entre o servidor de banco de dados PostgreSQL e seus clientes;
o Melhor tratamento de conexões excedentes o 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)
o Replicação através da execução simultânea de uma operação em diversos servidores
o Modos : raw, connection cool, replication, parallel e master/slave(Slony-I)
18
Replicação - pgpool-II - Modoso 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.
o 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
19
Replicação - pgpool-II - Modoso Replication Mode: executa todas as
operações em todos os servidores gerenciados por ele, criando uma réplica dos bancos de dados
o Parallel Mode: é um modo avançado no qual os dados são distribuídos entre os servidores
o 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
20
Replicação – Slony-I
o O Slony-I é uma extensão ao PostgreSQL que realiza replicação Assíncrona entre um mestre e um ou mais escravos;
o Indicado principalmente para uso em Data Centers e para realização de backups em tempo real das bases de dados de um servidor.
o Solução apontada pelo site oficial do PostgreSQL1 como a extensão mais popular disponível livremente para replicação assíncrona.
21
Replicação – PGCluster
o PGCluster é uma extensão para PostgreSQL que oferece replicação Síncrona entre dois ou mais mestres
o Solução indicada pelo site oficial do PostgreSQL como a solução mais popular disponível para esse tipo de replicação
o Composto por três tipos de servidores distintos: o Servidor de replicação (Replication Server)o Balanceador de carga (Load Balance Server) o Servidor PostgreSQL em si;
22
Replicação – Postgres-R
o 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.
o 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,
o Utilizar equipamentos que estão amplamente disponíveis e um custo acessível.
23