Post on 07-Apr-2016
Universidade Federal de Santa CatarinaPrograma de Pós-Graduação em Ciência da Computação
Lazy Database Replication with Ordering Guarantees
Khuzaima Daudjee and Kenneth SalemSchool of Computer Science
University of WaterlooICDE'04
Apresentação por Rodrigo Gonçalves
Lazy Database Replication with Ordering Guarantees
1. Introdução2. Strong Session Serializability3. Arquitetura4. Testes5. Conclusão
Lazy Database Replication with Ordering Guarantees
1. Introdução2. Strong Session Serializability3. Arquitetura4. Testes5. Conclusão
Lazy Database Replication with Ordering Guarantees
Introdução
Replicação Performance Disponibilidade
Formas de replicação Eager replication
Uma transação Lazy replication
Duas ou mais transações
Lazy Database Replication with Ordering Guarantees
Introdução Lazy Replication
Ordem das transações Dados inválidos
Serialização Não resolve completamente o problema T2 pode não ver os efeitos de T1, mesmo
sendo executada após T1
Lazy Database Replication with Ordering Guarantees
Introdução Serialização forte
Garante ordem Problemática para Lazy Replication
Atualização completa antes do uso Proposta
Strong Session Serializability Serialização forte parcial
Lazy Database Replication with Ordering Guarantees
1. Introdução2. Strong Session Serializability3. Arquitetura4. Testes5. Conclusão
Lazy Database Replication with Ordering Guarantees
Strong Session Serializability Serialização forte
Garante ordem a um alto custo Reduz disponibilidade das réplicas
Aguardam transações anteriores Cria dependências entre transações
Muitas vezes desnecessárias
Lazy Database Replication with Ordering Guarantees
Strong Session Serializability Strong session serializability
Dependências apenas onde for necessário Diminui dependências entre transações
Sessão Conjunto de transações Existe dependência
Garante-se serialização forte na Sessão
Lazy Database Replication with Ordering Guarantees
1. Introdução2. Strong Session Serializability3. Arquitetura4. Testes5. Conclusão
Lazy Database Replication with Ordering Guarantees
Arquitetura Sistema básico
Arquitetura “Lazy Master” Um nodo primário Vários nodos secundários
Independentes Transações de leitura executadas em
nodos secundários Transações de escrita somente no nodo
primário
Lazy Database Replication with Ordering Guarantees
Arquitetura Sistema básico
Arquitetura “Lazy Master” Escalonável
Adição de nodos secundários Consultas
Nodo primário Serializa transações Número seqüencial Replicação seqüencial “Lazy propagation”
Lazy Database Replication with Ordering Guarantees
Arquitetura Sistema básico
Lazy Database Replication with Ordering Guarantees
Arquitetura O sistema básico
Garante serialização global Não garante “strong session
serializability” Um gerenciador de sessões
Garante “strong session serializability”
Lazy Database Replication with Ordering Guarantees
Arquitetura Sistema básico
Nodos secundários FIFO Refresh Transactions Seqüencial
Gerado na aplicaçaõ de uma “Refresh Transaction”
Necessário pelo Gerenciador de Sessão seq(DB)
Lazy Database Replication with Ordering Guarantees
Arquitetura Gerenciador de Sessão
Garante Strong Session Serializability Um por nodo secundário Transações de um cliente Supõe-se
Transações executadas em um único nodo Transações seqüenciais
Lazy Database Replication with Ordering Guarantees
Arquitetura Gerenciador de Sessão
Seqüencial por sessão - seq(s) Último estado do BD
Algorítimo BLOCK Algorítimo FORWARD
Lazy Database Replication with Ordering Guarantees
Arquitetura Gerenciador de Sessão
Algorítimo BLOCK Transações (T) de leitura executam somente
quando o estado do nodo secundário é compatível com a transação
seq(DB) >= seq(s)
Lazy Database Replication with Ordering Guarantees
Arquitetura Gerenciador de Sessão
Algorítimo BLOCK Para transações de escrita:
Inicie T no nodo primário
Execute as operações de T no nodo primário
Complete ou aborte T no nodo primário
Obtenha o seq(T) do nodo primário
Se T completada entãoseq(s) ← seq(T)
FimSe
Lazy Database Replication with Ordering Guarantees
Arquitetura Gerenciador de Sessão
Algorítimo BLOCK Para transações de leitura:
AGUARDE ATÉ seq(DB) ≥ seq(s) no nodo secundário
Inicie T no nodo secundário
Execute as leituras de T no nodo secundário
Aborte ou complete T no nodo secundário
Se T completada entãoseq(s) ← seq(DB)
FimSe
Lazy Database Replication with Ordering Guarantees
Arquitetura Gerenciador de Sessão
Algorítimo FORWARD Gerencia atualizações como BLOCK Transações de leitura
Redirecionadas para o nodo primário Evita espera pela atualização do nodo
secundário
Lazy Database Replication with Ordering Guarantees
Arquitetura Gerenciador de Sessão
Algorítimo FORWARDSe seq(DB) ≥ seq(s) no nodo secundário então
Inicie T no nodo secundárioExecute as operações de T no nodo secundárioComplete ou aborte T no nodo secundárioSe T completada então
seq(s) ← seq(DB)FimSe
SenãoInicie T no nodo primárioExecute as operações de T no nodo primárioComplete ou aborte T no nodo primárioObtenha seq(T) do nodo primárioSe T completada então
seq(s) ← seq(T)FimSe
FimSe
Lazy Database Replication with Ordering Guarantees
Arquitetura Gerenciador de Sessão
Algorítimo BLOCK Distribui carga das operações de leitura Pode retardar uma transação de leitura
Algorítimo FORWARD Pode sobrecarregar o nodo primário Mais eficiente para operações de leitura
Lazy Database Replication with Ordering Guarantees
1. Introdução2. Strong Session Serializability3. Arquitetura4. Testes5. Conclusão
Lazy Database Replication with Ordering Guarantees
Testes Modelo de simulação
Comparar métodos Forward e Block
Pacote de simulação CSIM
Simula um sistema distribuído completo
Lazy Database Replication with Ordering Guarantees
Testes Modelo de simulação
Parâmetro Descrição Padrão
num_clients Número de clientes Variadonum_sec Número de nodos secundários 5think_time Tempo médio de processamento do cliente 7s
session_time Duração média de uma sessão 15 min.update_tran_prob Probabilidade de uma transação de escrita 20,00%
conflict_prob Probabilidade de conflito na transação 20,00%tran_size Número médio de operações por transação 10
op_service_time Tempo de serviço por operação 0.02supdate_op_prob Probabilidade de operação de atualização 30,00%
propagation_dealy Tempo de propagação 10s
Lazy Database Replication with Ordering Guarantees
Testes Análise de performance
Objetivos Custo em termos de transação Comparar o modelo geral de serialização
com o strong session serializability Comparar os algorítimos Forward e Block
Lazy Database Replication with Ordering Guarantees
Testes Análise de performance
Dois algorítimos adicionais na comparação ALG-1SR
Serialização global simples Não bloqueia transações
ALG-STRONG-SITE-1SR Algorítimo Block com apenas uma sessão por
nodo secundário Mais restritivo que strong session serializability
porém menos que strong serializability Equivalente ao strong serializability em custo
Lazy Database Replication with Ordering Guarantees
Testes Metodologia
Simulações com 35 minutos de duração 5 minutos para warm up Resultados tomados da média de 5
simulações
Lazy Database Replication with Ordering Guarantees
Testes Testes com a configuração padrão
Lazy Database Replication with Ordering Guarantees
Testes Testes com a configuração padrão
Lazy Database Replication with Ordering Guarantees
Testes Testes com a configuração padrão
Lazy Database Replication with Ordering Guarantees
Testes Testes com a configuração padrão
Leituras Forward mais eficiente em baixa carga Block mais constante
Tempo de propagação Torna métodos equivalentes
ALG-Strong-Site-1SR pior que Block Demonstra necessidade de evitar
dependências desnecessárias
Lazy Database Replication with Ordering Guarantees
Testes Escalabilidade
Número de nodos secundários e clientes variando Mantendo-se em média 20 clientes por nodo
Lazy Database Replication with Ordering Guarantees
Testes Escalabilidade
Lazy Database Replication with Ordering Guarantees
Testes Escalabilidade
Lazy Database Replication with Ordering Guarantees
Testes Escalabilidade
Lazy Database Replication with Ordering Guarantees
Testes Escalabilidade
Forward tem baixo desempenho Block demonstrou-se equivalente ao Alg-
1SR em performance Reduzindo o percentual de transações de
escrita, a escalabilidade melhorou consideravelmente
Lazy Database Replication with Ordering Guarantees
1. Introdução2. Strong Session Serializability3. Arquitetura4. Testes5. Conclusão
Lazy Database Replication with Ordering Guarantees
Conclusão Adaptação de um sistema 1SR Garante serialização em sessões Dependências Tempos de propagação Método escalável e aplicável a
sistemas distribuídos