SlideShare une entreprise Scribd logo
1  sur  17
Télécharger pour lire hors ligne
Modelos de Distribuição e
Consistência
Edson de Lima (ebl4@cin.ufpe.br)
Gabriela de Andrade (gcpa@cin.ufpe.br)
João Farias (jgfd@cin.ufpe.br)
Leonardo Borges (lrb@cin.ufpe.br)
Por que Distribuir?
§
Aumento do volume de dados.
§
Custo dos servidores
§
Dificuldade de adaptação de um novo servidor.
Replication e Sharding
§
Replication: faz copia os dados em vários nós.
§
Pode ser do tipo Peer-to-peer ou Master-Slave.
§
Sharding: copia dados diferentes em diferentes nós.
Single Server
§
Executa todas as operações de leitura e gravação de dados
em uma única máquina.
§
Mais simples de gerenciar e desenvolver aplicações.
§
É o mais comum e mais recomendado devido a sua
praticidade.
Sharding
§
Modelo em que o banco de dados é dividido e fragmentos e
armazenados em instâncias de servidor.
§
Desenvolvimento não muito trivial.
§
Dificuldade de distribuir todas as consultas para os fragmentos.
§
Auto-Sharding – Recurso oferecido por alguns NoSQLdatabases.
§
É mais impactante no processo de leitura do que no de escrita.
§
É mais difícil e caro de manter todos os servidores em bom
funcionamento
Master-Slave Replication
§
Replica todos os dados em vários nós e escolhe um deles
para ser o Mestre, o restante tornam-se escravos.
§
O mestre é responsável por atualizar os escravos.
§
Útil para um sistema de leitura intensa.
§
Se o mestre falhar os escravos ainda dão conta das
solicitações de leitura, porem impossibilita escrita.
§
Mestres podem ser nomeados automaticamente ou
manualmente.
§
Replicação
Peer-to-Peer Replication
§
Semelhante ao Master-slave, porém todos são mestres.
§
Problemas de consistência devido a possibilidade de dis
usuários alterarem o mesmo nó.
Sharding e Replication
§
União de master-slave com sharding.
§
Vários nós em um cluster com fragmentação dos dados
sobre eles
Consistência de Atualização
§
Update (conflito de gravação)
§
Pessimista → Locks
§
Otimista → Detecção de Erros
§
Single-Server → Serialização
§
Distributed System
Consistência de Leitura
§
Read-Write Conflict
Consistência de Leitura
§
Consistência Lógica.
Ø SGBDs relacionais → Transições.
Ø (Maioria) dos NoSQL → Janela de inconsistência.
Consistência de Leitura
§
Quando se adiciona réplicas.
Ø Consistência da replicação.
Ø Mesmos itens de dados → Mesmo valor quando lido por réplicas
diferentes
Consistência de Leitura
§
Quando se adiciona réplicas.
Ø Inconsistência consigo devido a janela de inconsistência
●
“Onde está meu comentário?”
Ø Consistência Read-Your-Writes
●
Afinidade de Sessão
Relaxamento de Consistência
§
Consistência tem um custo
§
Tradeoff: Performance e habilidade de fragmentar
§
Teorema CAP
Ø Consistência
Ø Disponibilidade
●
Se você falar de um nó, esse nó pode ler e escrever
Ø Tolerância a Partição
●
Cluster sobrevive a quebra de outras partições
§
Só se pode ter duas das três acima.
Relaxamento de Consistência
§
Distribuição de sistemas.
Ø Tem tolerância a partição.
Ø Tradeoff entre consistência e disponibilidade.
Ø Exemplo:
§
Comunicação para garantir a consistência e disponibilidade de mortes.
§
Melhora-se na disponibilidade usando um Mestre.
Ø Na prática,
§
Não consistência vs disponibilidade, mas consistência vs latência.
§
Adicionar nós para garantir a consistência aumenta o tempo de
resposta.
Ø latência muito alta? Dados indisponíveis.
Durabilidade
§
Sessão do usuário.
Ø In-memory.
Ø Pode perder sessão.
Ø Mas é melhor que um site lento.
§
Sistemas Distribuídos
Ø Falha na replicação da durabilidade.
●
O nó processa uma atualização, mas falha em replicar
aos outros nós.
Ø Falha do master-slave.
§
O Mestre irá voltar rápido?
Ø Sim: Não mudar de Mestre Automaticamente
Ø Não: Deve-se espera os escravos serem atualizados antes de
responder ao cliente
Quorum
§
Quanto mais nós, mais consistência
§
Escrever no quaruim: W > N / 2.
Ø W -> Nós na gravação.
Ø N -> Fator de Replicação.
§
Quorum de Leitura
§
Consistência Forte: R + W > N
§
Peer-to-Peer
§
Master-slave: Lê e escreve sobre o mestre.

Contenu connexe

En vedette (10)

Lectores rss
Lectores rssLectores rss
Lectores rss
 
Lifestyles Marketing Challenge
Lifestyles Marketing ChallengeLifestyles Marketing Challenge
Lifestyles Marketing Challenge
 
Ocean Valor
Ocean ValorOcean Valor
Ocean Valor
 
Diapositiva carlos
Diapositiva carlosDiapositiva carlos
Diapositiva carlos
 
Governor of Virginia Term Paper
Governor of Virginia Term PaperGovernor of Virginia Term Paper
Governor of Virginia Term Paper
 
Woodruff open positions as of 7.1.16
Woodruff open positions as of 7.1.16Woodruff open positions as of 7.1.16
Woodruff open positions as of 7.1.16
 
LAS RSS Y SU FUNCION
LAS RSS Y SU FUNCIONLAS RSS Y SU FUNCION
LAS RSS Y SU FUNCION
 
Osteologia
OsteologiaOsteologia
Osteologia
 
San andres colombia
San andres colombia San andres colombia
San andres colombia
 
Habilidades gerenciales
Habilidades gerencialesHabilidades gerenciales
Habilidades gerenciales
 

Similaire à Modelos de Distribuição e Consistência

NoSQL, Base VS ACID e Teorema CAP
NoSQL, Base VS ACID e Teorema CAPNoSQL, Base VS ACID e Teorema CAP
NoSQL, Base VS ACID e Teorema CAPAricelio Souza
 
Cluster e replicação em banco de dados
Cluster e replicação em banco de dadosCluster e replicação em banco de dados
Cluster e replicação em banco de dadosSuissa
 
[MinhaVida TechDay] NoSQL
[MinhaVida TechDay] NoSQL[MinhaVida TechDay] NoSQL
[MinhaVida TechDay] NoSQLCleber Dantas
 
2º Meritt CC - NoSQL - E o Futuro dos Bancos de Dados na Web
2º Meritt CC - NoSQL - E o Futuro dos Bancos de Dados na Web2º Meritt CC - NoSQL - E o Futuro dos Bancos de Dados na Web
2º Meritt CC - NoSQL - E o Futuro dos Bancos de Dados na WebMeritt - Cada Aluno é Único
 
SQL e NoSQL trabalhando juntos: uma comparação para obter o melhor de ambos -...
SQL e NoSQL trabalhando juntos: uma comparação para obter o melhor de ambos -...SQL e NoSQL trabalhando juntos: uma comparação para obter o melhor de ambos -...
SQL e NoSQL trabalhando juntos: uma comparação para obter o melhor de ambos -...iMasters
 
Azure Cosmos DB - Campinas .NET - Janeiro-2018
Azure Cosmos DB - Campinas .NET - Janeiro-2018Azure Cosmos DB - Campinas .NET - Janeiro-2018
Azure Cosmos DB - Campinas .NET - Janeiro-2018Renato Groff
 
[24HOP] SQL Server em maquinas virtuais do Windows Azure
[24HOP] SQL Server em maquinas virtuais do Windows Azure[24HOP] SQL Server em maquinas virtuais do Windows Azure
[24HOP] SQL Server em maquinas virtuais do Windows AzureVitor Tomaz
 
Distribuição de Dados em Escala Global com Cassandra
Distribuição de Dados em Escala Global com CassandraDistribuição de Dados em Escala Global com Cassandra
Distribuição de Dados em Escala Global com CassandraMário Marroquim
 
Azure Cosmos DB - Azure Weekend SP - Outubro/2017
Azure Cosmos DB - Azure Weekend SP - Outubro/2017Azure Cosmos DB - Azure Weekend SP - Outubro/2017
Azure Cosmos DB - Azure Weekend SP - Outubro/2017Renato Groff
 
RAID Teoria Silberschatz, Abraham. Sistemas operacionais com java.
RAID Teoria Silberschatz, Abraham. Sistemas operacionais com java.RAID Teoria Silberschatz, Abraham. Sistemas operacionais com java.
RAID Teoria Silberschatz, Abraham. Sistemas operacionais com java.Wellington Oliveira
 

Similaire à Modelos de Distribuição e Consistência (20)

NoSQL, Base VS ACID e Teorema CAP
NoSQL, Base VS ACID e Teorema CAPNoSQL, Base VS ACID e Teorema CAP
NoSQL, Base VS ACID e Teorema CAP
 
Material Seminário NoSQL
Material Seminário NoSQLMaterial Seminário NoSQL
Material Seminário NoSQL
 
No sql std
No sql stdNo sql std
No sql std
 
Artigo Nosql
Artigo NosqlArtigo Nosql
Artigo Nosql
 
Cluster e replicação em banco de dados
Cluster e replicação em banco de dadosCluster e replicação em banco de dados
Cluster e replicação em banco de dados
 
[MinhaVida TechDay] NoSQL
[MinhaVida TechDay] NoSQL[MinhaVida TechDay] NoSQL
[MinhaVida TechDay] NoSQL
 
2º Meritt CC - NoSQL - E o Futuro dos Bancos de Dados na Web
2º Meritt CC - NoSQL - E o Futuro dos Bancos de Dados na Web2º Meritt CC - NoSQL - E o Futuro dos Bancos de Dados na Web
2º Meritt CC - NoSQL - E o Futuro dos Bancos de Dados na Web
 
NoSQL & SQL
NoSQL & SQLNoSQL & SQL
NoSQL & SQL
 
Web Scale Data Management
Web Scale Data ManagementWeb Scale Data Management
Web Scale Data Management
 
NoSQL Livre
NoSQL LivreNoSQL Livre
NoSQL Livre
 
SQL e NoSQL trabalhando juntos: uma comparação para obter o melhor de ambos -...
SQL e NoSQL trabalhando juntos: uma comparação para obter o melhor de ambos -...SQL e NoSQL trabalhando juntos: uma comparação para obter o melhor de ambos -...
SQL e NoSQL trabalhando juntos: uma comparação para obter o melhor de ambos -...
 
NoSQL
NoSQLNoSQL
NoSQL
 
Azure Cosmos DB - Campinas .NET - Janeiro-2018
Azure Cosmos DB - Campinas .NET - Janeiro-2018Azure Cosmos DB - Campinas .NET - Janeiro-2018
Azure Cosmos DB - Campinas .NET - Janeiro-2018
 
[24HOP] SQL Server em maquinas virtuais do Windows Azure
[24HOP] SQL Server em maquinas virtuais do Windows Azure[24HOP] SQL Server em maquinas virtuais do Windows Azure
[24HOP] SQL Server em maquinas virtuais do Windows Azure
 
Distribuição de Dados em Escala Global com Cassandra
Distribuição de Dados em Escala Global com CassandraDistribuição de Dados em Escala Global com Cassandra
Distribuição de Dados em Escala Global com Cassandra
 
Azure Cosmos DB - Azure Weekend SP - Outubro/2017
Azure Cosmos DB - Azure Weekend SP - Outubro/2017Azure Cosmos DB - Azure Weekend SP - Outubro/2017
Azure Cosmos DB - Azure Weekend SP - Outubro/2017
 
RAID Teoria Silberschatz, Abraham. Sistemas operacionais com java.
RAID Teoria Silberschatz, Abraham. Sistemas operacionais com java.RAID Teoria Silberschatz, Abraham. Sistemas operacionais com java.
RAID Teoria Silberschatz, Abraham. Sistemas operacionais com java.
 
Bancos de dados NoSQL: uma visão geral
Bancos de dados NoSQL: uma visão geralBancos de dados NoSQL: uma visão geral
Bancos de dados NoSQL: uma visão geral
 
NoSql e NewSql
NoSql e NewSqlNoSql e NewSql
NoSql e NewSql
 
Nosql
NosqlNosql
Nosql
 

Modelos de Distribuição e Consistência

  • 1. Modelos de Distribuição e Consistência Edson de Lima (ebl4@cin.ufpe.br) Gabriela de Andrade (gcpa@cin.ufpe.br) João Farias (jgfd@cin.ufpe.br) Leonardo Borges (lrb@cin.ufpe.br)
  • 2. Por que Distribuir? § Aumento do volume de dados. § Custo dos servidores § Dificuldade de adaptação de um novo servidor.
  • 3. Replication e Sharding § Replication: faz copia os dados em vários nós. § Pode ser do tipo Peer-to-peer ou Master-Slave. § Sharding: copia dados diferentes em diferentes nós.
  • 4. Single Server § Executa todas as operações de leitura e gravação de dados em uma única máquina. § Mais simples de gerenciar e desenvolver aplicações. § É o mais comum e mais recomendado devido a sua praticidade.
  • 5. Sharding § Modelo em que o banco de dados é dividido e fragmentos e armazenados em instâncias de servidor. § Desenvolvimento não muito trivial. § Dificuldade de distribuir todas as consultas para os fragmentos. § Auto-Sharding – Recurso oferecido por alguns NoSQLdatabases. § É mais impactante no processo de leitura do que no de escrita. § É mais difícil e caro de manter todos os servidores em bom funcionamento
  • 6. Master-Slave Replication § Replica todos os dados em vários nós e escolhe um deles para ser o Mestre, o restante tornam-se escravos. § O mestre é responsável por atualizar os escravos. § Útil para um sistema de leitura intensa. § Se o mestre falhar os escravos ainda dão conta das solicitações de leitura, porem impossibilita escrita. § Mestres podem ser nomeados automaticamente ou manualmente. § Replicação
  • 7. Peer-to-Peer Replication § Semelhante ao Master-slave, porém todos são mestres. § Problemas de consistência devido a possibilidade de dis usuários alterarem o mesmo nó.
  • 8. Sharding e Replication § União de master-slave com sharding. § Vários nós em um cluster com fragmentação dos dados sobre eles
  • 9. Consistência de Atualização § Update (conflito de gravação) § Pessimista → Locks § Otimista → Detecção de Erros § Single-Server → Serialização § Distributed System
  • 11. Consistência de Leitura § Consistência Lógica. Ø SGBDs relacionais → Transições. Ø (Maioria) dos NoSQL → Janela de inconsistência.
  • 12. Consistência de Leitura § Quando se adiciona réplicas. Ø Consistência da replicação. Ø Mesmos itens de dados → Mesmo valor quando lido por réplicas diferentes
  • 13. Consistência de Leitura § Quando se adiciona réplicas. Ø Inconsistência consigo devido a janela de inconsistência ● “Onde está meu comentário?” Ø Consistência Read-Your-Writes ● Afinidade de Sessão
  • 14. Relaxamento de Consistência § Consistência tem um custo § Tradeoff: Performance e habilidade de fragmentar § Teorema CAP Ø Consistência Ø Disponibilidade ● Se você falar de um nó, esse nó pode ler e escrever Ø Tolerância a Partição ● Cluster sobrevive a quebra de outras partições § Só se pode ter duas das três acima.
  • 15. Relaxamento de Consistência § Distribuição de sistemas. Ø Tem tolerância a partição. Ø Tradeoff entre consistência e disponibilidade. Ø Exemplo: § Comunicação para garantir a consistência e disponibilidade de mortes. § Melhora-se na disponibilidade usando um Mestre. Ø Na prática, § Não consistência vs disponibilidade, mas consistência vs latência. § Adicionar nós para garantir a consistência aumenta o tempo de resposta. Ø latência muito alta? Dados indisponíveis.
  • 16. Durabilidade § Sessão do usuário. Ø In-memory. Ø Pode perder sessão. Ø Mas é melhor que um site lento. § Sistemas Distribuídos Ø Falha na replicação da durabilidade. ● O nó processa uma atualização, mas falha em replicar aos outros nós. Ø Falha do master-slave. § O Mestre irá voltar rápido? Ø Sim: Não mudar de Mestre Automaticamente Ø Não: Deve-se espera os escravos serem atualizados antes de responder ao cliente
  • 17. Quorum § Quanto mais nós, mais consistência § Escrever no quaruim: W > N / 2. Ø W -> Nós na gravação. Ø N -> Fator de Replicação. § Quorum de Leitura § Consistência Forte: R + W > N § Peer-to-Peer § Master-slave: Lê e escreve sobre o mestre.