checkpointing: desa os em sistemas distribu dos e em ...islene/speechs/ckpt-sd-bd.pdf ·...

95
Checkpointing: desafios em sistemas distribu´ ıdos e em bancos de dados Islene Calciolari Garcia Instituto de Computa¸c˜ ao - Unicamp VIII ERBD - Escola Regional de Bancos de Dados 2012 PUCPR—Curitiba

Upload: others

Post on 12-Jan-2020

5 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Checkpointing: desa os em sistemas distribu dos e em ...islene/speechs/ckpt-sd-bd.pdf · Checkpointing: desa os em sistemas distribu dos e em bancos de dados Islene Calciolari Garcia

Checkpointing: desafios em sistemas distribuıdos eem bancos de dados

Islene Calciolari Garcia

Instituto de Computacao - Unicamp

VIII ERBD - Escola Regional de Bancos de Dados 2012PUCPR—Curitiba

Page 2: Checkpointing: desa os em sistemas distribu dos e em ...islene/speechs/ckpt-sd-bd.pdf · Checkpointing: desa os em sistemas distribu dos e em bancos de dados Islene Calciolari Garcia

Bom dia!

Um pouco sobre mim...

Formacao e Filiacao:

Instituto de Computacao, Unicamp

Interesses de pesquisa:

Checkpointing

Page 3: Checkpointing: desa os em sistemas distribu dos e em ...islene/speechs/ckpt-sd-bd.pdf · Checkpointing: desa os em sistemas distribu dos e em bancos de dados Islene Calciolari Garcia

Sumario

1 Motivacao

2 Consistenciaem sistemas distribuıdosem bancos de dadosOutros nıveis de isolamentoResumo

3 RecuperacaoConceitos basicosAlgoritmo simplificadoARIESExemplos

4 Conclusao e desafios futuros

Page 4: Checkpointing: desa os em sistemas distribu dos e em ...islene/speechs/ckpt-sd-bd.pdf · Checkpointing: desa os em sistemas distribu dos e em bancos de dados Islene Calciolari Garcia

Sumario

1 Motivacao

2 Consistenciaem sistemas distribuıdosem bancos de dadosOutros nıveis de isolamentoResumo

3 RecuperacaoConceitos basicosAlgoritmo simplificadoARIESExemplos

4 Conclusao e desafios futuros

Page 5: Checkpointing: desa os em sistemas distribu dos e em ...islene/speechs/ckpt-sd-bd.pdf · Checkpointing: desa os em sistemas distribu dos e em bancos de dados Islene Calciolari Garcia

MotivacaoConsistenciaRecuperacao

Conclusao e desafios futurosReferencias

Motivacao

Construcao de sistemas tolerantes a falhas

Defeitos previsıveis de hardwareGrandes desastres

Desempenho, disponibilidade

Islene Calciolari Garcia Checkpointing: desafios em SD e BD

Page 6: Checkpointing: desa os em sistemas distribu dos e em ...islene/speechs/ckpt-sd-bd.pdf · Checkpointing: desa os em sistemas distribu dos e em bancos de dados Islene Calciolari Garcia

MotivacaoConsistenciaRecuperacao

Conclusao e desafios futurosReferencias

Objetivos do minicurso

Aprofundamento do conceito de consistencia

util para implementacao de mecanismos de recuperacaoutil para o desenvolvimento de aplicacoes

Recuperacao e checkpointing

Bancos de dados reais

Software LivreComo colaborar

Islene Calciolari Garcia Checkpointing: desafios em SD e BD

Page 7: Checkpointing: desa os em sistemas distribu dos e em ...islene/speechs/ckpt-sd-bd.pdf · Checkpointing: desa os em sistemas distribu dos e em bancos de dados Islene Calciolari Garcia

Sumario

1 Motivacao

2 Consistenciaem sistemas distribuıdosem bancos de dadosOutros nıveis de isolamentoResumo

3 RecuperacaoConceitos basicosAlgoritmo simplificadoARIESExemplos

4 Conclusao e desafios futuros

Page 8: Checkpointing: desa os em sistemas distribu dos e em ...islene/speechs/ckpt-sd-bd.pdf · Checkpointing: desa os em sistemas distribu dos e em bancos de dados Islene Calciolari Garcia

MotivacaoConsistenciaRecuperacao

Conclusao e desafios futurosReferencias

em sistemas distribuıdosem bancos de dadosOutros nıveis de isolamentoResumo

Consistencia

www.CartoonStock.com

Essencial para odesenvolvimento dealgoritmos eficientes

Modelos computacionais

Sistemas distribuıdosBancos de dados

Islene Calciolari Garcia Checkpointing: desafios em SD e BD

Page 9: Checkpointing: desa os em sistemas distribu dos e em ...islene/speechs/ckpt-sd-bd.pdf · Checkpointing: desa os em sistemas distribu dos e em bancos de dados Islene Calciolari Garcia

Sumario

1 Motivacao

2 Consistenciaem sistemas distribuıdosem bancos de dadosOutros nıveis de isolamentoResumo

3 RecuperacaoConceitos basicosAlgoritmo simplificadoARIESExemplos

4 Conclusao e desafios futuros

Page 10: Checkpointing: desa os em sistemas distribu dos e em ...islene/speechs/ckpt-sd-bd.pdf · Checkpointing: desa os em sistemas distribu dos e em bancos de dados Islene Calciolari Garcia

MotivacaoConsistenciaRecuperacao

Conclusao e desafios futurosReferencias

em sistemas distribuıdosem bancos de dadosOutros nıveis de isolamentoResumo

Sistemas distribuıdos

N Processos

Eventos internos, envio e recepcao de mensagens

Ausencia de relogio global

p2 -s s s s s ���s s �

��sp1 -s sAAU

s sAAU

s s s s ���s sp0 -sAAU

s s s s sAAU

s s s s

Islene Calciolari Garcia Checkpointing: desafios em SD e BD

Page 11: Checkpointing: desa os em sistemas distribu dos e em ...islene/speechs/ckpt-sd-bd.pdf · Checkpointing: desa os em sistemas distribu dos e em bancos de dados Islene Calciolari Garcia

MotivacaoConsistenciaRecuperacao

Conclusao e desafios futurosReferencias

em sistemas distribuıdosem bancos de dadosOutros nıveis de isolamentoResumo

Checkpointing

Estados selecionados

Abstracao da computacao

p2 -� � ���

� ���

p1 -�AAU

�AAU

� ���

p0 -�AAU

�AAU

Islene Calciolari Garcia Checkpointing: desafios em SD e BD

Page 12: Checkpointing: desa os em sistemas distribu dos e em ...islene/speechs/ckpt-sd-bd.pdf · Checkpointing: desa os em sistemas distribu dos e em bancos de dados Islene Calciolari Garcia

MotivacaoConsistenciaRecuperacao

Conclusao e desafios futurosReferencias

em sistemas distribuıdosem bancos de dadosOutros nıveis de isolamentoResumo

Checkpoint global consistente

Observador onisciente externo

Define um instante na computacao (snapshot)

p2 -� ���

� � ���

p1 -�AAU

�AAU

� ���

p0 -�AAU

�AAU

@@���

Islene Calciolari Garcia Checkpointing: desafios em SD e BD

Page 13: Checkpointing: desa os em sistemas distribu dos e em ...islene/speechs/ckpt-sd-bd.pdf · Checkpointing: desa os em sistemas distribu dos e em bancos de dados Islene Calciolari Garcia

MotivacaoConsistenciaRecuperacao

Conclusao e desafios futurosReferencias

em sistemas distribuıdosem bancos de dadosOutros nıveis de isolamentoResumo

Checkpoint global inconsistente

Mensagens podem ser perdidas

mas nao podem vir do futuro

p2 -� ���

� � ���

p1 -�AAU

�AAU

� ���

p0 -�AAU

�AAU

@@���

@@��

���

Islene Calciolari Garcia Checkpointing: desafios em SD e BD

Page 14: Checkpointing: desa os em sistemas distribu dos e em ...islene/speechs/ckpt-sd-bd.pdf · Checkpointing: desa os em sistemas distribu dos e em bancos de dados Islene Calciolari Garcia

MotivacaoConsistenciaRecuperacao

Conclusao e desafios futurosReferencias

em sistemas distribuıdosem bancos de dadosOutros nıveis de isolamentoResumo

Efeito domino

p0 � �AAAUm2

�AAAUm4

�@falha

p1 -� ����m1

� ����m3

��@

�@

�@

�@

Islene Calciolari Garcia Checkpointing: desafios em SD e BD

Page 15: Checkpointing: desa os em sistemas distribu dos e em ...islene/speechs/ckpt-sd-bd.pdf · Checkpointing: desa os em sistemas distribu dos e em bancos de dados Islene Calciolari Garcia

Sumario

1 Motivacao

2 Consistenciaem sistemas distribuıdosem bancos de dadosOutros nıveis de isolamentoResumo

3 RecuperacaoConceitos basicosAlgoritmo simplificadoARIESExemplos

4 Conclusao e desafios futuros

Page 16: Checkpointing: desa os em sistemas distribu dos e em ...islene/speechs/ckpt-sd-bd.pdf · Checkpointing: desa os em sistemas distribu dos e em bancos de dados Islene Calciolari Garcia

MotivacaoConsistenciaRecuperacao

Conclusao e desafios futurosReferencias

em sistemas distribuıdosem bancos de dadosOutros nıveis de isolamentoResumo

Bancos de dados

Dados (tabelas, objetos, tuplas)

Operacoes:

create, dropinsert, deleteselect, update

Transacoes

Definir consistencia e mais facil ou mais difıcil?Obter uma visao global e trivial?

Islene Calciolari Garcia Checkpointing: desafios em SD e BD

Page 17: Checkpointing: desa os em sistemas distribu dos e em ...islene/speechs/ckpt-sd-bd.pdf · Checkpointing: desa os em sistemas distribu dos e em bancos de dados Islene Calciolari Garcia

MotivacaoConsistenciaRecuperacao

Conclusao e desafios futurosReferencias

em sistemas distribuıdosem bancos de dadosOutros nıveis de isolamentoResumo

Transacoes

Sequencias de operacoes que sao tratadas como uma unidade

Propriedades ACID

AtomicidadeConsistenciaIsolamentoDurabilidade

T1

T2

T3

T4

Islene Calciolari Garcia Checkpointing: desafios em SD e BD

Page 18: Checkpointing: desa os em sistemas distribu dos e em ...islene/speechs/ckpt-sd-bd.pdf · Checkpointing: desa os em sistemas distribu dos e em bancos de dados Islene Calciolari Garcia

MotivacaoConsistenciaRecuperacao

Conclusao e desafios futurosReferencias

em sistemas distribuıdosem bancos de dadosOutros nıveis de isolamentoResumo

Snapshot, backup ou dump

Como obter um estado consistente utilizando transacoes?

Como fazer isso de forma eficiente?

T1

T2Ts

T3

T4

Islene Calciolari Garcia Checkpointing: desafios em SD e BD

Page 19: Checkpointing: desa os em sistemas distribu dos e em ...islene/speechs/ckpt-sd-bd.pdf · Checkpointing: desa os em sistemas distribu dos e em bancos de dados Islene Calciolari Garcia

MotivacaoConsistenciaRecuperacao

Conclusao e desafios futurosReferencias

em sistemas distribuıdosem bancos de dadosOutros nıveis de isolamentoResumo

Sistemas distribuıdosAbordagem sıncrona

Mensagens de controle

Bloqueio da aplicacao

pi . . . -����

�*

�����

HHHHj

AAAAU

-�

-�

-�

-�

Islene Calciolari Garcia Checkpointing: desafios em SD e BD

Page 20: Checkpointing: desa os em sistemas distribu dos e em ...islene/speechs/ckpt-sd-bd.pdf · Checkpointing: desa os em sistemas distribu dos e em bancos de dados Islene Calciolari Garcia

MotivacaoConsistenciaRecuperacao

Conclusao e desafios futurosReferencias

em sistemas distribuıdosem bancos de dadosOutros nıveis de isolamentoResumo

Temperatura do backup

Hot: feito enquanto o sistema esta em operacao.

Warm: interrompe operacoes de escrita durante a execucaodo backup.

Cold: feito enquanto o sistema esta inoperante.

Islene Calciolari Garcia Checkpointing: desafios em SD e BD

Page 21: Checkpointing: desa os em sistemas distribu dos e em ...islene/speechs/ckpt-sd-bd.pdf · Checkpointing: desa os em sistemas distribu dos e em bancos de dados Islene Calciolari Garcia

MotivacaoConsistenciaRecuperacao

Conclusao e desafios futurosReferencias

em sistemas distribuıdosem bancos de dadosOutros nıveis de isolamentoResumo

Snapshot, backup ou dump

Como obter um estado consistente utilizando transacoes?

Como fazer isso de forma eficiente?

set transaction isolation level serializable;begin;select * from t1;select * from t2;...select * from tn;commit;

Islene Calciolari Garcia Checkpointing: desafios em SD e BD

Page 22: Checkpointing: desa os em sistemas distribu dos e em ...islene/speechs/ckpt-sd-bd.pdf · Checkpointing: desa os em sistemas distribu dos e em bancos de dados Islene Calciolari Garcia

MotivacaoConsistenciaRecuperacao

Conclusao e desafios futurosReferencias

em sistemas distribuıdosem bancos de dadosOutros nıveis de isolamentoResumo

Serializavel

Um escalonamento (possivelmente concorrente) e serializavelse for equivalente a algum escalonamento serial

Como deve ser a implementacao em um sistema baseado emlocks?

locks para leitura e escritaprotocolo de trancamento de duas faseslocks sao mantidos ate o final da transacaodeadlocks?timeouts?

Islene Calciolari Garcia Checkpointing: desafios em SD e BD

Page 23: Checkpointing: desa os em sistemas distribu dos e em ...islene/speechs/ckpt-sd-bd.pdf · Checkpointing: desa os em sistemas distribu dos e em bancos de dados Islene Calciolari Garcia

Sumario

1 Motivacao

2 Consistenciaem sistemas distribuıdosem bancos de dadosOutros nıveis de isolamentoResumo

3 RecuperacaoConceitos basicosAlgoritmo simplificadoARIESExemplos

4 Conclusao e desafios futuros

Page 24: Checkpointing: desa os em sistemas distribu dos e em ...islene/speechs/ckpt-sd-bd.pdf · Checkpointing: desa os em sistemas distribu dos e em bancos de dados Islene Calciolari Garcia

MotivacaoConsistenciaRecuperacao

Conclusao e desafios futurosReferencias

em sistemas distribuıdosem bancos de dadosOutros nıveis de isolamentoResumo

E sempre assim na pratica?

SGBDs implementam nıveis mais relaxados de isolamento

e serializavel nao e a opcao padrao...

Vamos testar?

MySQL: the world’s most popular open source databasesystem.PostgreSQL: the world’s most advanced open source database.

Islene Calciolari Garcia Checkpointing: desafios em SD e BD

Page 25: Checkpointing: desa os em sistemas distribu dos e em ...islene/speechs/ckpt-sd-bd.pdf · Checkpointing: desa os em sistemas distribu dos e em bancos de dados Islene Calciolari Garcia

MotivacaoConsistenciaRecuperacao

Conclusao e desafios futurosReferencias

em sistemas distribuıdosem bancos de dadosOutros nıveis de isolamentoResumo

Seria possıvel relaxar o nıvel de isolamento?

Read UncommittedPode ler valores internos a uma transacaoClaramente, o snapshot nao seria consistente

Read CommittedLe apenas valores escritos por transacoes comprometidas.Leituras repetidas do mesmo objeto podem retornar valoresdiferentes.Esse modo e suficiente?

Islene Calciolari Garcia Checkpointing: desafios em SD e BD

Page 26: Checkpointing: desa os em sistemas distribu dos e em ...islene/speechs/ckpt-sd-bd.pdf · Checkpointing: desa os em sistemas distribu dos e em bancos de dados Islene Calciolari Garcia

MotivacaoConsistenciaRecuperacao

Conclusao e desafios futurosReferencias

em sistemas distribuıdosem bancos de dadosOutros nıveis de isolamentoResumo

Seria possıvel relaxar o nıvel de isolamento?Read Committed

Considere x , y pertencentes a tabela Tab0

A soma x + y deve ser constante e isso e mantido viatransacoes;

Um snapshot obtido com Read Committed pode serinconsistente?

Vamos testar com o MySQL?

Suponha que o sistema e implementado com locks e expliqueo comportamento obtido.

Islene Calciolari Garcia Checkpointing: desafios em SD e BD

Page 27: Checkpointing: desa os em sistemas distribu dos e em ...islene/speechs/ckpt-sd-bd.pdf · Checkpointing: desa os em sistemas distribu dos e em bancos de dados Islene Calciolari Garcia

MotivacaoConsistenciaRecuperacao

Conclusao e desafios futurosReferencias

em sistemas distribuıdosem bancos de dadosOutros nıveis de isolamentoResumo

Seria possıvel relaxar o nıvel de isolamento?Read Committed

Considere x pertencente a tabela Tab1

Considere y pertencente a tabela Tab2

a soma x + y deve ser constante e isso e mantido viatransacoes;

Snapshot le Tab1;

Alguma transacao altera x e y;

Snapshot le Tab2;

Vamos testar com o MySQL?

Suponha que o sistema e baseado em locks e explique ocomportamento obtido.

Islene Calciolari Garcia Checkpointing: desafios em SD e BD

Page 28: Checkpointing: desa os em sistemas distribu dos e em ...islene/speechs/ckpt-sd-bd.pdf · Checkpointing: desa os em sistemas distribu dos e em bancos de dados Islene Calciolari Garcia

MotivacaoConsistenciaRecuperacao

Conclusao e desafios futurosReferencias

em sistemas distribuıdosem bancos de dadosOutros nıveis de isolamentoResumo

Seria possıvel relaxar o nıvel de isolamento?Repeatable Read

Le apenas valores escritos por transacoes comprometidas.Leituras repetidas do mesmo objeto, devem retornar o mesmovalor.

Como a transacao que realiza o snapshot so faz uma leiturapor vez, o resultado deveria ser o mesmo.

Suponha um sistema baseado em locks e explique ocomportamento esperado.

Por que o resultado foi diferente?

Islene Calciolari Garcia Checkpointing: desafios em SD e BD

Page 29: Checkpointing: desa os em sistemas distribu dos e em ...islene/speechs/ckpt-sd-bd.pdf · Checkpointing: desa os em sistemas distribu dos e em bancos de dados Islene Calciolari Garcia

MotivacaoConsistenciaRecuperacao

Conclusao e desafios futurosReferencias

em sistemas distribuıdosem bancos de dadosOutros nıveis de isolamentoResumo

Leituras consistentes nao bloqueantes

13.2.4.1.2. Consistent Nonlocking Reads

A consistent read means that InnoDB uses multi-versioning topresent to a query a snapshot of the database at a point in time.The query sees the changes made by transactions that committedbefore that point of time, and no changes made by later oruncommitted transactions.

MySQL 5.6 Documentation

Islene Calciolari Garcia Checkpointing: desafios em SD e BD

Page 30: Checkpointing: desa os em sistemas distribu dos e em ...islene/speechs/ckpt-sd-bd.pdf · Checkpointing: desa os em sistemas distribu dos e em bancos de dados Islene Calciolari Garcia

MotivacaoConsistenciaRecuperacao

Conclusao e desafios futurosReferencias

em sistemas distribuıdosem bancos de dadosOutros nıveis de isolamentoResumo

Leituras consistentes nao bloqueantes

13.2.4.1.2. Consistent Nonlocking Reads

[...] The exception to this rule is that the query sees the changesmade by earlier statements within the same transaction. Thisexception causes the following anomaly: If you update some rowsin a table, a SELECT sees the latest version of the updated rows,but it might also see older versions of any rows. If other sessionssimultaneously update the same table, the anomaly means that youmight see the table in a state that never existed in the database.

MySQL 5.6 Documentation

Islene Calciolari Garcia Checkpointing: desafios em SD e BD

Page 31: Checkpointing: desa os em sistemas distribu dos e em ...islene/speechs/ckpt-sd-bd.pdf · Checkpointing: desa os em sistemas distribu dos e em bancos de dados Islene Calciolari Garcia

MotivacaoConsistenciaRecuperacao

Conclusao e desafios futurosReferencias

em sistemas distribuıdosem bancos de dadosOutros nıveis de isolamentoResumo

Sistemas distribuıdosCheckpointing global consistente

Observador ve um snapshot que poderia ter acontecido

Nao e uma linha reta no tempo

p2 -� ���

� � ���

p1 -�AAU

�AAU

� ���

p0 -�AAU

�AAU

@@���

Islene Calciolari Garcia Checkpointing: desafios em SD e BD

Page 32: Checkpointing: desa os em sistemas distribu dos e em ...islene/speechs/ckpt-sd-bd.pdf · Checkpointing: desa os em sistemas distribu dos e em bancos de dados Islene Calciolari Garcia

MotivacaoConsistenciaRecuperacao

Conclusao e desafios futurosReferencias

em sistemas distribuıdosem bancos de dadosOutros nıveis de isolamentoResumo

Leituras consistentes nao bloqueantes

13.2.4.1.2. Consistent nonlocking reads

[...] If the transaction isolation level is REPEATABLE READ (thedefault level), all consistent reads within the same transaction readthe snapshot established by the first such read in that transaction.You can get a fresher snapshot for your queries by committing thecurrent transaction and after that issuing new queries

MySQL 5.6 Documentation

Islene Calciolari Garcia Checkpointing: desafios em SD e BD

Page 33: Checkpointing: desa os em sistemas distribu dos e em ...islene/speechs/ckpt-sd-bd.pdf · Checkpointing: desa os em sistemas distribu dos e em bancos de dados Islene Calciolari Garcia

MotivacaoConsistenciaRecuperacao

Conclusao e desafios futurosReferencias

em sistemas distribuıdosem bancos de dadosOutros nıveis de isolamentoResumo

Leituras consistentes nao bloqueantes

Se a implementacao do nıvel REPEATABLE READ no MySQL esufiente para se ter um snapshot que parece serializavel notempo, por que este nıvel nao e chamado de SERIALAZIBLE?

PostgreSQL versao 9.0.7

PostgreSQL versao 9.1

Islene Calciolari Garcia Checkpointing: desafios em SD e BD

Page 34: Checkpointing: desa os em sistemas distribu dos e em ...islene/speechs/ckpt-sd-bd.pdf · Checkpointing: desa os em sistemas distribu dos e em bancos de dados Islene Calciolari Garcia

MotivacaoConsistenciaRecuperacao

Conclusao e desafios futurosReferencias

em sistemas distribuıdosem bancos de dadosOutros nıveis de isolamentoResumo

Nıves de isolomento no PostgreSQL versao 9.0.7

13.2 Transaction Isolation

In PostgreSQL, you can request any of the four standardtransaction isolation levels. But internally, there are only twodistinct isolation levels, which correspond to the levels ReadCommitted and Serializable. When you select the level ReadUncommitted you really get Read Committed, and when you selectRepeatable Read you really get Serializable, so the actual isolationlevel might be stricter than what you select. This is permitted bythe SQL standard: the four isolation levels only define whichphenomena must not happen, they do not define which phenomenamust happen.

Islene Calciolari Garcia Checkpointing: desafios em SD e BD

Page 35: Checkpointing: desa os em sistemas distribu dos e em ...islene/speechs/ckpt-sd-bd.pdf · Checkpointing: desa os em sistemas distribu dos e em bancos de dados Islene Calciolari Garcia

MotivacaoConsistenciaRecuperacao

Conclusao e desafios futurosReferencias

em sistemas distribuıdosem bancos de dadosOutros nıveis de isolamentoResumo

Nıves de isolomento no PostgreSQL versao 9.0.7

13.2.2

The Serializable isolation level provides the strictest transactionisolation. This level emulates serial transaction execution, as iftransactions had been executed one after another, serially, ratherthan concurrently. [...] When a transaction is using the serializablelevel, a SELECT query only sees data committed before thetransaction began; it never sees either uncommitted data orchanges committed during transaction execution by concurrenttransactions. (However, the query does see the effects of previousupdates executed within its own transaction, even though they arenot yet committed.)

Islene Calciolari Garcia Checkpointing: desafios em SD e BD

Page 36: Checkpointing: desa os em sistemas distribu dos e em ...islene/speechs/ckpt-sd-bd.pdf · Checkpointing: desa os em sistemas distribu dos e em bancos de dados Islene Calciolari Garcia

MotivacaoConsistenciaRecuperacao

Conclusao e desafios futurosReferencias

em sistemas distribuıdosem bancos de dadosOutros nıveis de isolamentoResumo

Nıves de isolomento no PostgreSQL versao 9.0.7

13.2.2

The Serializable isolation level provides the strictest transactionisolation. This level emulates serial transaction execution, as iftransactions had been executed one after another, serially, ratherthan concurrently. [...] When a transaction is using the serializablelevel, a SELECT query only sees data committed before thetransaction began; it never sees either uncommitted data orchanges committed during transaction execution by concurrenttransactions. (However, the query does see the effects of previousupdates executed within its own transaction, even though they arenot yet committed.)

Islene Calciolari Garcia Checkpointing: desafios em SD e BD

Page 37: Checkpointing: desa os em sistemas distribu dos e em ...islene/speechs/ckpt-sd-bd.pdf · Checkpointing: desa os em sistemas distribu dos e em bancos de dados Islene Calciolari Garcia

MotivacaoConsistenciaRecuperacao

Conclusao e desafios futurosReferencias

em sistemas distribuıdosem bancos de dadosOutros nıveis de isolamentoResumo

Nıveis de isolamento no PostgreSQL versao 9.0.7

13.2.2.1. Serializable Isolation versus True Serializability

The intuitive meaning (and mathematical definition) of”serializable” execution is that any two successfully committedconcurrent transactions will appear to have executed strictlyserially, one after the other [...] in fact PostgreSQL’s Serializablemode does not guarantee serializable execution in this sense.

Vamos construir um exemplo?

Islene Calciolari Garcia Checkpointing: desafios em SD e BD

Page 38: Checkpointing: desa os em sistemas distribu dos e em ...islene/speechs/ckpt-sd-bd.pdf · Checkpointing: desa os em sistemas distribu dos e em bancos de dados Islene Calciolari Garcia

MotivacaoConsistenciaRecuperacao

Conclusao e desafios futurosReferencias

em sistemas distribuıdosem bancos de dadosOutros nıveis de isolamentoResumo

Nıves de isolomento no PostgreSQL versao 9.1Modo Serializavel: o retorno

13.2.2

The SQL standard defines four levels of transaction isolation. Themost strict is Serializable, [...] The other three levels are defined interms of phenomena, resulting from interaction betweenconcurrent transactions, which must not occur at each level. Thestandard notes that due to the definition of Serializable, none ofthese phenomena are possible at that level. (This is hardlysurprising – if the effect of the transactions must be consistentwith having been run one at a time, how could you see anyphenomena caused by interactions?)

Islene Calciolari Garcia Checkpointing: desafios em SD e BD

Page 39: Checkpointing: desa os em sistemas distribu dos e em ...islene/speechs/ckpt-sd-bd.pdf · Checkpointing: desa os em sistemas distribu dos e em bancos de dados Islene Calciolari Garcia

MotivacaoConsistenciaRecuperacao

Conclusao e desafios futurosReferencias

em sistemas distribuıdosem bancos de dadosOutros nıveis de isolamentoResumo

Nıves de isolomento no PostgreSQL versao 9.1Modo Serializavel: o retorno

13.2.2

In PostgreSQL, you can request any of the four standardtransaction isolation levels. But internally, there are only threedistinct isolation levels, which correspond to the levels ReadCommitted, Repeatable Read, and Serializable. When you selectthe level Read Uncommitted you really get Read Committed, andphantom reads are not possible in the PostgreSQL implementationof Repeatable Read, so the actual isolation level might be stricterthan what you select. [...] The reason that PostgreSQL onlyprovides three isolation levels is that this is the only sensible way tomap the standard isolation levels to the multiversion concurrencycontrol architecture.

Islene Calciolari Garcia Checkpointing: desafios em SD e BD

Page 40: Checkpointing: desa os em sistemas distribu dos e em ...islene/speechs/ckpt-sd-bd.pdf · Checkpointing: desa os em sistemas distribu dos e em bancos de dados Islene Calciolari Garcia

MotivacaoConsistenciaRecuperacao

Conclusao e desafios futurosReferencias

em sistemas distribuıdosem bancos de dadosOutros nıveis de isolamentoResumo

Snapshot e outras transacoes

O uso de nıveis mais relaxados de isolamento por outrastransacoes podem comprometer o snapshot?

Nao. Essas transacoes devem garantir a consistencia dosistema mesmo recebendo uma visao inconsistente.

Por exemplo, irao exibir uma media, mas nao irao gravarnovos valores no banco de dados.

Islene Calciolari Garcia Checkpointing: desafios em SD e BD

Page 41: Checkpointing: desa os em sistemas distribu dos e em ...islene/speechs/ckpt-sd-bd.pdf · Checkpointing: desa os em sistemas distribu dos e em bancos de dados Islene Calciolari Garcia

MotivacaoConsistenciaRecuperacao

Conclusao e desafios futurosReferencias

em sistemas distribuıdosem bancos de dadosOutros nıveis de isolamentoResumo

Multiversion Concurrency Control

Restricao no que pode ser lido

Uso de varias versoes dos dados

coleta de lixo?

Uso de timestamps

Islene Calciolari Garcia Checkpointing: desafios em SD e BD

Page 42: Checkpointing: desa os em sistemas distribu dos e em ...islene/speechs/ckpt-sd-bd.pdf · Checkpointing: desa os em sistemas distribu dos e em bancos de dados Islene Calciolari Garcia

MotivacaoConsistenciaRecuperacao

Conclusao e desafios futurosReferencias

em sistemas distribuıdosem bancos de dadosOutros nıveis de isolamentoResumo

Sistemas DistribuıdosTimestamping em SD

Vetores de relogios

p1 -�(0 0 0)

AAAU

(1 0 0)�(1 0 0)

AAAU

(2 0 0)�(2 0 0)

p2 -�(0 0 0)

AAAU

(1 1 0)�(1 1 0)

AAAU

(1 2 0)�(2 2 0)

p3 -�(0 0 0)

�(1 1 1)

�(1 2 2)

Islene Calciolari Garcia Checkpointing: desafios em SD e BD

Page 43: Checkpointing: desa os em sistemas distribu dos e em ...islene/speechs/ckpt-sd-bd.pdf · Checkpointing: desa os em sistemas distribu dos e em bancos de dados Islene Calciolari Garcia

MotivacaoConsistenciaRecuperacao

Conclusao e desafios futurosReferencias

em sistemas distribuıdosem bancos de dadosOutros nıveis de isolamentoResumo

Sistemas DistribuıdosAbordagem Quase-Sıncrona

Checkpoints induzidos por comunicacao

Problema da coleta de lixo

pi . . . -� ���

���

-�

-� ���

�: checkpoint forcado

Islene Calciolari Garcia Checkpointing: desafios em SD e BD

Page 44: Checkpointing: desa os em sistemas distribu dos e em ...islene/speechs/ckpt-sd-bd.pdf · Checkpointing: desa os em sistemas distribu dos e em bancos de dados Islene Calciolari Garcia

Sumario

1 Motivacao

2 Consistenciaem sistemas distribuıdosem bancos de dadosOutros nıveis de isolamentoResumo

3 RecuperacaoConceitos basicosAlgoritmo simplificadoARIESExemplos

4 Conclusao e desafios futuros

Page 45: Checkpointing: desa os em sistemas distribu dos e em ...islene/speechs/ckpt-sd-bd.pdf · Checkpointing: desa os em sistemas distribu dos e em bancos de dados Islene Calciolari Garcia

MotivacaoConsistenciaRecuperacao

Conclusao e desafios futurosReferencias

em sistemas distribuıdosem bancos de dadosOutros nıveis de isolamentoResumo

Resumo

Obtencao de um snapshot nao deve comprometer odesempenho do sistema

Solucoes assıncronas exigem um conhecimento maior sobreconsistencia

Como e a implementacao das ferramentas mysqldump epgdump?

Quando os dados sao muito grandes, gravar snapshots e umaopcao?

Islene Calciolari Garcia Checkpointing: desafios em SD e BD

Page 46: Checkpointing: desa os em sistemas distribu dos e em ...islene/speechs/ckpt-sd-bd.pdf · Checkpointing: desa os em sistemas distribu dos e em bancos de dados Islene Calciolari Garcia

Sumario

1 Motivacao

2 Consistenciaem sistemas distribuıdosem bancos de dadosOutros nıveis de isolamentoResumo

3 RecuperacaoConceitos basicosAlgoritmo simplificadoARIESExemplos

4 Conclusao e desafios futuros

Page 47: Checkpointing: desa os em sistemas distribu dos e em ...islene/speechs/ckpt-sd-bd.pdf · Checkpointing: desa os em sistemas distribu dos e em bancos de dados Islene Calciolari Garcia

Sumario

1 Motivacao

2 Consistenciaem sistemas distribuıdosem bancos de dadosOutros nıveis de isolamentoResumo

3 RecuperacaoConceitos basicosAlgoritmo simplificadoARIESExemplos

4 Conclusao e desafios futuros

Page 48: Checkpointing: desa os em sistemas distribu dos e em ...islene/speechs/ckpt-sd-bd.pdf · Checkpointing: desa os em sistemas distribu dos e em bancos de dados Islene Calciolari Garcia

MotivacaoConsistenciaRecuperacao

Conclusao e desafios futurosReferencias

Conceitos basicosAlgoritmo simplificadoARIESExemplos

Tipos de falhas

Falhas de Transacoes

Erro logico (alguma condicao nao foi satisfeita)Erro de sistema (deadlock)

Falhas de Sistemas

Queda de energia ou falha de hardwareComprometem apenas memoria volatil

Falhas no disco

detectaveis com uso de checksums

Islene Calciolari Garcia Checkpointing: desafios em SD e BD

Page 49: Checkpointing: desa os em sistemas distribu dos e em ...islene/speechs/ckpt-sd-bd.pdf · Checkpointing: desa os em sistemas distribu dos e em bancos de dados Islene Calciolari Garcia

MotivacaoConsistenciaRecuperacao

Conclusao e desafios futurosReferencias

Conceitos basicosAlgoritmo simplificadoARIESExemplos

Tipos de Armazenamento

Volatil

Dados nao resistem a queda de energia

Nao-volatil

Dados sobrevivem a falhas no sistemaCuidado com caching no SO e nos dispositivos

Estavel

sobreviveria a qualquer tipo de falha

Islene Calciolari Garcia Checkpointing: desafios em SD e BD

Page 50: Checkpointing: desa os em sistemas distribu dos e em ...islene/speechs/ckpt-sd-bd.pdf · Checkpointing: desa os em sistemas distribu dos e em bancos de dados Islene Calciolari Garcia

MotivacaoConsistenciaRecuperacao

Conclusao e desafios futurosReferencias

Conceitos basicosAlgoritmo simplificadoARIESExemplos

Implementacao de Armazenamento Estavel

Multiplas copias dos blocos em discos separados.

Regioes distintas para prevencao de incendios, enchentes etc.

Falha durante transmissao de dados pode resultar em dadosinconsistentes.

Ao gravar, verificar se escrita foi bem sucedida, foi parcial oununca aconteceu.Fazer gravacao em partes:

Grava a informacao no primeiro bloco;Se houve sucesso, grava-se segundo bloco;. . . (mais copias?)Atualizacao termina quando todas as copias foram feitas comsucesso

Islene Calciolari Garcia Checkpointing: desafios em SD e BD

Page 51: Checkpointing: desa os em sistemas distribu dos e em ...islene/speechs/ckpt-sd-bd.pdf · Checkpointing: desa os em sistemas distribu dos e em bancos de dados Islene Calciolari Garcia

MotivacaoConsistenciaRecuperacao

Conclusao e desafios futurosReferencias

Conceitos basicosAlgoritmo simplificadoARIESExemplos

Caching

Blocos fısicos: residem no disco

Blocos do buffer: residem temporariamente na memoriaprincipal

[Database System Concepts, Silberschatz, Korth e Sudarshan]

Islene Calciolari Garcia Checkpointing: desafios em SD e BD

Page 52: Checkpointing: desa os em sistemas distribu dos e em ...islene/speechs/ckpt-sd-bd.pdf · Checkpointing: desa os em sistemas distribu dos e em bancos de dados Islene Calciolari Garcia

MotivacaoConsistenciaRecuperacao

Conclusao e desafios futurosReferencias

Conceitos basicosAlgoritmo simplificadoARIESExemplos

Caching (mais detalhado)

[Database System Concepts, Silberschatz, Korth e Sudarshan]

Islene Calciolari Garcia Checkpointing: desafios em SD e BD

Page 53: Checkpointing: desa os em sistemas distribu dos e em ...islene/speechs/ckpt-sd-bd.pdf · Checkpointing: desa os em sistemas distribu dos e em bancos de dados Islene Calciolari Garcia

MotivacaoConsistenciaRecuperacao

Conclusao e desafios futurosReferencias

Conceitos basicosAlgoritmo simplificadoARIESExemplos

Propagacao das atualizacoes para o disco

ShadowingEscrita e feita em um endereco diferente

In-placeEscrita e feita no mesmo endereco de disco

Para garantir atomicidade

Gravacao de uma descricao das alteracoes (log)Gravacao do bloco modificado

Islene Calciolari Garcia Checkpointing: desafios em SD e BD

Page 54: Checkpointing: desa os em sistemas distribu dos e em ...islene/speechs/ckpt-sd-bd.pdf · Checkpointing: desa os em sistemas distribu dos e em bancos de dados Islene Calciolari Garcia

MotivacaoConsistenciaRecuperacao

Conclusao e desafios futurosReferencias

Conceitos basicosAlgoritmo simplificadoARIESExemplos

Log

Registro sequencial

armazenado em memoria estavelotimizacao: parte mais recente em memoria volatil

Descricao das operacoes

Informacoes mınimas para se refazer ou desfazer operacoes

Operacoes de transacoes distintas podem ficar intercaladas

Islene Calciolari Garcia Checkpointing: desafios em SD e BD

Page 55: Checkpointing: desa os em sistemas distribu dos e em ...islene/speechs/ckpt-sd-bd.pdf · Checkpointing: desa os em sistemas distribu dos e em bancos de dados Islene Calciolari Garcia

MotivacaoConsistenciaRecuperacao

Conclusao e desafios futurosReferencias

Conceitos basicosAlgoritmo simplificadoARIESExemplos

Tipos de entrada no log

Start 〈Ti start 〉Commit 〈Ti commit 〉Abort 〈Ti abort 〉Update 〈Ti , X, valorAntigo, valorNovo 〉

X: identifica do dadovalorAntigo: util para se desfazer operacoesvalorNovo: util para se refazer operacoes

Compensation 〈Ti , X, valor 〉valor: valor a ser restaurado

Islene Calciolari Garcia Checkpointing: desafios em SD e BD

Page 56: Checkpointing: desa os em sistemas distribu dos e em ...islene/speechs/ckpt-sd-bd.pdf · Checkpointing: desa os em sistemas distribu dos e em bancos de dados Islene Calciolari Garcia

MotivacaoConsistenciaRecuperacao

Conclusao e desafios futurosReferencias

Conceitos basicosAlgoritmo simplificadoARIESExemplos

Exemplo de log

〈T0 start〉〈T0, A, Aantigo, Anovo〉〈T1 start〉〈T1, B, Bantigo, Bnovo〉〈T0 commit〉〈T1 B, Bantigo〉〈T1 abort〉

Islene Calciolari Garcia Checkpointing: desafios em SD e BD

Page 57: Checkpointing: desa os em sistemas distribu dos e em ...islene/speechs/ckpt-sd-bd.pdf · Checkpointing: desa os em sistemas distribu dos e em bancos de dados Islene Calciolari Garcia

MotivacaoConsistenciaRecuperacao

Conclusao e desafios futurosReferencias

Conceitos basicosAlgoritmo simplificadoARIESExemplos

Controle de concorrencia

Varias transacoes compartilham buffer e log

Entradas no log de varias transacoes podem aparecerintercaladas

Uso de locks

Garantem os nıveis de isolamento

Islene Calciolari Garcia Checkpointing: desafios em SD e BD

Page 58: Checkpointing: desa os em sistemas distribu dos e em ...islene/speechs/ckpt-sd-bd.pdf · Checkpointing: desa os em sistemas distribu dos e em bancos de dados Islene Calciolari Garcia

MotivacaoConsistenciaRecuperacao

Conclusao e desafios futurosReferencias

Conceitos basicosAlgoritmo simplificadoARIESExemplos

Propagacao das atualizacoes para o disco

Modo Deferido

Alteracoes sao propagadas apenas no momento docomprometimento da transacaoSimplifica a recuperacaoLimita o gerenciamento do buffer

Modo Imediato

Alteracoes podem ser gravadas antes de a transacao estarcomprometidaAlgumas alteracoes precisarao ser desfeitasOrdem das atualizacoes nao precisa ser a mesma do log

Islene Calciolari Garcia Checkpointing: desafios em SD e BD

Page 59: Checkpointing: desa os em sistemas distribu dos e em ...islene/speechs/ckpt-sd-bd.pdf · Checkpointing: desa os em sistemas distribu dos e em bancos de dados Islene Calciolari Garcia

MotivacaoConsistenciaRecuperacao

Conclusao e desafios futurosReferencias

Conceitos basicosAlgoritmo simplificadoARIESExemplos

Exemplo de log e modo imediato

Log Buffer Discoa b c

〈T0 start〉〈T0, A, a, a′〉 a′

〈T1 start〉〈T1, B, b, b′〉 b′

〈T0, C, c, c′〉 c′

b′ c′

〈T0 commit〉a′

〈T1, B, b〉 b〈T1 abort〉

b

Islene Calciolari Garcia Checkpointing: desafios em SD e BD

Page 60: Checkpointing: desa os em sistemas distribu dos e em ...islene/speechs/ckpt-sd-bd.pdf · Checkpointing: desa os em sistemas distribu dos e em bancos de dados Islene Calciolari Garcia

MotivacaoConsistenciaRecuperacao

Conclusao e desafios futurosReferencias

Conceitos basicosAlgoritmo simplificadoARIESExemplos

Transacao comprometida

Devem estar em memoria estavel

Registro de log do commit da transacaoRegistro de todas as operacoes anteriores

Blocos modificados nao precisam estar em memoria estavel

Atualizacoes feitas no buffer

Islene Calciolari Garcia Checkpointing: desafios em SD e BD

Page 61: Checkpointing: desa os em sistemas distribu dos e em ...islene/speechs/ckpt-sd-bd.pdf · Checkpointing: desa os em sistemas distribu dos e em bancos de dados Islene Calciolari Garcia

MotivacaoConsistenciaRecuperacao

Conclusao e desafios futurosReferencias

Conceitos basicosAlgoritmo simplificadoARIESExemplos

Forcar ou roubar?

Problemas do gerenciamento:

Volatil: conteudo do buffer e perdido em caso de falhaEspaco limitado: buffer pode ficar lotado

Algumas opcoes para o gerenciamento de buffer:

Forcar uma escrita a cada alteracao. Dados nao sao perdidos,mas desempenho e baixo.Nao forcar: e se o sistema sofrer uma falha antes da escrita?Nao roubar: apenas alteracoes de transacoes concluıdas saosalvas, mas a vazao do sistema e baixa.Roubar: e se a transacao for abortada?

Ideal: Sem forcar e roubando (No-force/Steal)

No-force: precisa saber refazer operacoesSteal: precisa saber desfazer operacoes

Islene Calciolari Garcia Checkpointing: desafios em SD e BD

Page 62: Checkpointing: desa os em sistemas distribu dos e em ...islene/speechs/ckpt-sd-bd.pdf · Checkpointing: desa os em sistemas distribu dos e em bancos de dados Islene Calciolari Garcia

MotivacaoConsistenciaRecuperacao

Conclusao e desafios futurosReferencias

Conceitos basicosAlgoritmo simplificadoARIESExemplos

Gerenciamento do buffer

Area de memoria separada

Memoria virtual controlada pelo SO

uma pagina pode ser transferida para espaco de swape depois para sua posicao no discodesperdıcio de I/O

Gravacao direta na posicao do disco

Log precisa estar em memoria estavelCooperacao com o SO

Islene Calciolari Garcia Checkpointing: desafios em SD e BD

Page 63: Checkpointing: desa os em sistemas distribu dos e em ...islene/speechs/ckpt-sd-bd.pdf · Checkpointing: desa os em sistemas distribu dos e em bancos de dados Islene Calciolari Garcia

Sumario

1 Motivacao

2 Consistenciaem sistemas distribuıdosem bancos de dadosOutros nıveis de isolamentoResumo

3 RecuperacaoConceitos basicosAlgoritmo simplificadoARIESExemplos

4 Conclusao e desafios futuros

Page 64: Checkpointing: desa os em sistemas distribu dos e em ...islene/speechs/ckpt-sd-bd.pdf · Checkpointing: desa os em sistemas distribu dos e em bancos de dados Islene Calciolari Garcia

MotivacaoConsistenciaRecuperacao

Conclusao e desafios futurosReferencias

Conceitos basicosAlgoritmo simplificadoARIESExemplos

Recuperacao de Falhas

Uma transacao precisa ser refeita

Se o log contem starte contem commit ou abort

Uma transacao precisa ser desfeita

Se o log contem startmas nao contem commit ou abort

Islene Calciolari Garcia Checkpointing: desafios em SD e BD

Page 65: Checkpointing: desa os em sistemas distribu dos e em ...islene/speechs/ckpt-sd-bd.pdf · Checkpointing: desa os em sistemas distribu dos e em bancos de dados Islene Calciolari Garcia

MotivacaoConsistenciaRecuperacao

Conclusao e desafios futurosReferencias

Conceitos basicosAlgoritmo simplificadoARIESExemplos

Exemplo de Recuperacao

Log Buffer Discoa b c

〈T0 start〉〈T0, A, a, a′〉 a′

〈T0, C, c, c′〉 c′

〈T0 commit〉c′

Falhaa′

c′

a′ c′

Islene Calciolari Garcia Checkpointing: desafios em SD e BD

Page 66: Checkpointing: desa os em sistemas distribu dos e em ...islene/speechs/ckpt-sd-bd.pdf · Checkpointing: desa os em sistemas distribu dos e em bancos de dados Islene Calciolari Garcia

MotivacaoConsistenciaRecuperacao

Conclusao e desafios futurosReferencias

Conceitos basicosAlgoritmo simplificadoARIESExemplos

Outro Exemplo de Recuperacao

Log Buffer Discoa b c

〈T0 start〉〈T0, A, a, a′〉 a′

〈T0, C, c, c′〉 c′

c′

Falha〈T0, C, c〉 c〈T0, A, a〉 a〈T0 abort〉

a c

Islene Calciolari Garcia Checkpointing: desafios em SD e BD

Page 67: Checkpointing: desa os em sistemas distribu dos e em ...islene/speechs/ckpt-sd-bd.pdf · Checkpointing: desa os em sistemas distribu dos e em bancos de dados Islene Calciolari Garcia

MotivacaoConsistenciaRecuperacao

Conclusao e desafios futurosReferencias

Conceitos basicosAlgoritmo simplificadoARIESExemplos

Ainda Outro Exemplo de Recuperacao

Log Buffer Discoa b c

〈T0 start〉〈T0, A, a, a′〉 a′

〈T0, C, c, c′〉 c′

c′

〈T0, C, c〉 c〈T0, A, a〉 a〈T0 abort〉Falha

a′

c′

ca

a cIslene Calciolari Garcia Checkpointing: desafios em SD e BD

Page 68: Checkpointing: desa os em sistemas distribu dos e em ...islene/speechs/ckpt-sd-bd.pdf · Checkpointing: desa os em sistemas distribu dos e em bancos de dados Islene Calciolari Garcia

MotivacaoConsistenciaRecuperacao

Conclusao e desafios futurosReferencias

Conceitos basicosAlgoritmo simplificadoARIESExemplos

Checkpointing

Repetir todo o log pode ser custosoe desnecessario (caso algumas modificacoes ja tenham sidopropagadas para memoria estavel)

Durante o checkpointing sao gravados em memoria estavel:

Todos os registro do logTodas os blocos atualizadose uma lista de transacoes ativas

Entrada especial no log 〈Checkpoint L〉Atualizacoes precisam ficar suspensas durante o processo decheckpointing?

Estado gravado no disco e consistente?

Islene Calciolari Garcia Checkpointing: desafios em SD e BD

Page 69: Checkpointing: desa os em sistemas distribu dos e em ...islene/speechs/ckpt-sd-bd.pdf · Checkpointing: desa os em sistemas distribu dos e em bancos de dados Islene Calciolari Garcia

MotivacaoConsistenciaRecuperacao

Conclusao e desafios futurosReferencias

Conceitos basicosAlgoritmo simplificadoARIESExemplos

Exemplo de Checkpoint e Falha

[Database System Concepts, Silberschatz, Korth e Sudarshan]

T1 esta consolidada

T2 e T3 precisam ser refeitas

T4 precisa ser desfeita

Islene Calciolari Garcia Checkpointing: desafios em SD e BD

Page 70: Checkpointing: desa os em sistemas distribu dos e em ...islene/speechs/ckpt-sd-bd.pdf · Checkpointing: desa os em sistemas distribu dos e em bancos de dados Islene Calciolari Garcia

MotivacaoConsistenciaRecuperacao

Conclusao e desafios futurosReferencias

Conceitos basicosAlgoritmo simplificadoARIESExemplos

Exemplo de Log com Checkpoint

Log Buffer Discoa b c

〈T1 start〉〈T1, A, a, a′〉 a′

〈T1 commit〉〈T2 start〉〈T2, B, b〉 b′

〈Checkpoint L = {T2}〉 a′ b′

〈T2 commit〉〈T3 start〉〈T3, A, a′, a′′〉 a′′

〈T3 commit〉〈T4 start〉〈T4, C, c〉 c′

FalhaIslene Calciolari Garcia Checkpointing: desafios em SD e BD

Page 71: Checkpointing: desa os em sistemas distribu dos e em ...islene/speechs/ckpt-sd-bd.pdf · Checkpointing: desa os em sistemas distribu dos e em bancos de dados Islene Calciolari Garcia

MotivacaoConsistenciaRecuperacao

Conclusao e desafios futurosReferencias

Conceitos basicosAlgoritmo simplificadoARIESExemplos

Exemplo de Recuperacao

Log Buffer Disco〈Checkpoint L = {T2}〉 a′ b′ c〈T2 commit〉 L = ∅〈T3 start〉 L = {T3}〈T3, A, a′, a′′〉 a′′ refazer〈T3 commit〉 L = ∅〈T4 start〉 L = {T4}〈T4, C, c, c′〉 c′ refazer---〈T4, C, c〉 c desfazer〈T4 abort〉 L = ∅

Islene Calciolari Garcia Checkpointing: desafios em SD e BD

Page 72: Checkpointing: desa os em sistemas distribu dos e em ...islene/speechs/ckpt-sd-bd.pdf · Checkpointing: desa os em sistemas distribu dos e em bancos de dados Islene Calciolari Garcia

MotivacaoConsistenciaRecuperacao

Conclusao e desafios futurosReferencias

Conceitos basicosAlgoritmo simplificadoARIESExemplos

Algoritmo basico para recuperacao

Encontre 〈Checkpoint L〉 mais recente

L e o valor inicial da lista de transacoes a serem desfeitas

Refaca todas as transacoes

percorra o log na ordem diretarefaca todas as atualizacoesao encontrar 〈Ti start〉, inclua Ti em Lao encontrar abort ou commit, retire Ti de L

Desfaca transacoes incompletas

Percorra o log na ordem inversaDesfaca as operacoes das transacoes em LAo encontrar 〈Ti start〉, remova Ti da listaProcesso termina quando a lista estiver vazia.

Islene Calciolari Garcia Checkpointing: desafios em SD e BD

Page 73: Checkpointing: desa os em sistemas distribu dos e em ...islene/speechs/ckpt-sd-bd.pdf · Checkpointing: desa os em sistemas distribu dos e em bancos de dados Islene Calciolari Garcia

MotivacaoConsistenciaRecuperacao

Conclusao e desafios futurosReferencias

Conceitos basicosAlgoritmo simplificadoARIESExemplos

Buffering de registros do log

Registro em memoria volatil melhora o desempenho

Ordem deve ser mantida

Gravacao em memoria estavel e forcada quando

um bloco esta cheio ouuma transacao esta pronta para ser comprometida

Um bloco do buffer so pode ser gravado quando

todos os registros de sua atualizacoes ja estiverem em memoriaestavelWrite-Ahead Logging

Islene Calciolari Garcia Checkpointing: desafios em SD e BD

Page 74: Checkpointing: desa os em sistemas distribu dos e em ...islene/speechs/ckpt-sd-bd.pdf · Checkpointing: desa os em sistemas distribu dos e em bancos de dados Islene Calciolari Garcia

MotivacaoConsistenciaRecuperacao

Conclusao e desafios futurosReferencias

Conceitos basicosAlgoritmo simplificadoARIESExemplos

Exemplo de log com parte volatil

Log Buffer Discoa b c

〈T0 start〉〈T0, A, a, a′〉 a′

〈T1 start〉〈T1, B, b, b′〉 b′

a′

〈T0, C, c, c′〉 c′

Islene Calciolari Garcia Checkpointing: desafios em SD e BD

Page 75: Checkpointing: desa os em sistemas distribu dos e em ...islene/speechs/ckpt-sd-bd.pdf · Checkpointing: desa os em sistemas distribu dos e em bancos de dados Islene Calciolari Garcia

MotivacaoConsistenciaRecuperacao

Conclusao e desafios futurosReferencias

Conceitos basicosAlgoritmo simplificadoARIESExemplos

Exemplo de log com parte volatil

Log Buffer Discoa b c

〈T0 start〉〈T0, A, a, a′〉 a′

〈T1 start〉〈T1, B, b, b′〉 b′

a′

〈T0, C, c, c′〉 c′

〈T0 commit〉b′ c′

Islene Calciolari Garcia Checkpointing: desafios em SD e BD

Page 76: Checkpointing: desa os em sistemas distribu dos e em ...islene/speechs/ckpt-sd-bd.pdf · Checkpointing: desa os em sistemas distribu dos e em bancos de dados Islene Calciolari Garcia

MotivacaoConsistenciaRecuperacao

Conclusao e desafios futurosReferencias

Conceitos basicosAlgoritmo simplificadoARIESExemplos

Write-Ahead Logging

O gerenciador precisa coordenar a escrita dos registros no log coma gravacao dos blocos em memoria estavel

Precisa forcar a escrita de todas as operacoes no log antes queo buffer seja escrito no disco (para garantir Atomicidade)

Precisa escrever todas as entradas de uma transacao antes deum commit (para garantir Durabilidade)

Islene Calciolari Garcia Checkpointing: desafios em SD e BD

Page 77: Checkpointing: desa os em sistemas distribu dos e em ...islene/speechs/ckpt-sd-bd.pdf · Checkpointing: desa os em sistemas distribu dos e em bancos de dados Islene Calciolari Garcia

MotivacaoConsistenciaRecuperacao

Conclusao e desafios futurosReferencias

Conceitos basicosAlgoritmo simplificadoARIESExemplos

Fuzzy checkpointing

Interrompa atualizacoes

Registre 〈Checkpoint L〉Monte lista M de blocos modificados

Permita atualizacoes

Grave no disco os blocos em M

blocos nao devem ser alterados durante a gravacaoRespeite WAL

Registre marca que o checkpointing terminou

Islene Calciolari Garcia Checkpointing: desafios em SD e BD

Page 78: Checkpointing: desa os em sistemas distribu dos e em ...islene/speechs/ckpt-sd-bd.pdf · Checkpointing: desa os em sistemas distribu dos e em bancos de dados Islene Calciolari Garcia

Sumario

1 Motivacao

2 Consistenciaem sistemas distribuıdosem bancos de dadosOutros nıveis de isolamentoResumo

3 RecuperacaoConceitos basicosAlgoritmo simplificadoARIESExemplos

4 Conclusao e desafios futuros

Page 79: Checkpointing: desa os em sistemas distribu dos e em ...islene/speechs/ckpt-sd-bd.pdf · Checkpointing: desa os em sistemas distribu dos e em bancos de dados Islene Calciolari Garcia

MotivacaoConsistenciaRecuperacao

Conclusao e desafios futurosReferencias

Conceitos basicosAlgoritmo simplificadoARIESExemplos

ARIES

Algorithms for Recovery and Isolation Exploiting Semantics

Reconhecimento “10 Year Best Impact Paper Award” naInternational Conference on Very Large Data Bases 1999(VLDB99)

Varias otimizacoes

Foi incorporado a varios bancos de dados: IBM DB2 eMicroSoft SQL Server

Islene Calciolari Garcia Checkpointing: desafios em SD e BD

Page 80: Checkpointing: desa os em sistemas distribu dos e em ...islene/speechs/ckpt-sd-bd.pdf · Checkpointing: desa os em sistemas distribu dos e em bancos de dados Islene Calciolari Garcia

MotivacaoConsistenciaRecuperacao

Conclusao e desafios futurosReferencias

Conceitos basicosAlgoritmo simplificadoARIESExemplos

Estruturas de dados

LSN (Log sequence number)Identificacao para os registros no log

Cresce sequencialmente

Uso do deslocamento em relacao ao inıcio do arquivo

Facilita o acessoTecnica pode ser usada para varios arquivos

1 〈T0 start〉2 〈T0, A, Aantigo, Anovo〉3 〈T1 start〉4 〈T1, B, Bantigo, Bnovo〉5 〈T0 commit〉

Islene Calciolari Garcia Checkpointing: desafios em SD e BD

Page 81: Checkpointing: desa os em sistemas distribu dos e em ...islene/speechs/ckpt-sd-bd.pdf · Checkpointing: desa os em sistemas distribu dos e em bancos de dados Islene Calciolari Garcia

MotivacaoConsistenciaRecuperacao

Conclusao e desafios futurosReferencias

Conceitos basicosAlgoritmo simplificadoARIESExemplos

Estruturas de dados

PageLSNIdentifica o registro da ultima alteracao na pagina

RecLSNIndica qual registro tornou a pagina suja

Tabela de Paginas SujasPageId PageLSN RecLSN

100 2546 2233120 2789 2255

Islene Calciolari Garcia Checkpointing: desafios em SD e BD

Page 82: Checkpointing: desa os em sistemas distribu dos e em ...islene/speechs/ckpt-sd-bd.pdf · Checkpointing: desa os em sistemas distribu dos e em bancos de dados Islene Calciolari Garcia

MotivacaoConsistenciaRecuperacao

Conclusao e desafios futurosReferencias

Conceitos basicosAlgoritmo simplificadoARIESExemplos

Estruturas de dadosAtualizacao de paginas

Para atualizar uma pagina

X-latch a pagina e grave o registro no logAtualize a paginaAtualize o PageLSNDesbloqueie a pagina

Para gravar uma pagina no disco

S-latch a pagina

PageLSN e utilizado durante a recuperacao para evitar Redorepetido

FlushedLSN e a marca que divide o que esta em memoria doque esta no disco.

Islene Calciolari Garcia Checkpointing: desafios em SD e BD

Page 83: Checkpointing: desa os em sistemas distribu dos e em ...islene/speechs/ckpt-sd-bd.pdf · Checkpointing: desa os em sistemas distribu dos e em bancos de dados Islene Calciolari Garcia

MotivacaoConsistenciaRecuperacao

Conclusao e desafios futurosReferencias

Conceitos basicosAlgoritmo simplificadoARIESExemplos

Estruturas de dadosRegistro de log e tabela de transacoes

Registro de logLSN TransID PrevLSN RedoInfo UndoInfo

Tabela de transacoes ativas:

XID

status (running, commited, aborted)

lastLSN

UndoNxtLSN (proximo registro a ser processado em caso derollback)

Islene Calciolari Garcia Checkpointing: desafios em SD e BD

Page 84: Checkpointing: desa os em sistemas distribu dos e em ...islene/speechs/ckpt-sd-bd.pdf · Checkpointing: desa os em sistemas distribu dos e em bancos de dados Islene Calciolari Garcia

MotivacaoConsistenciaRecuperacao

Conclusao e desafios futurosReferencias

Conceitos basicosAlgoritmo simplificadoARIESExemplos

Estruturas de dadosMemoria volatil e nao-volatil

[Database System Concepts, Silberschatz, Korth e Sudarshan]

Islene Calciolari Garcia Checkpointing: desafios em SD e BD

Page 85: Checkpointing: desa os em sistemas distribu dos e em ...islene/speechs/ckpt-sd-bd.pdf · Checkpointing: desa os em sistemas distribu dos e em bancos de dados Islene Calciolari Garcia

MotivacaoConsistenciaRecuperacao

Conclusao e desafios futurosReferencias

Conceitos basicosAlgoritmo simplificadoARIESExemplos

ARIES: princıpios

steal : paginas podem ser gravadas no disco com transacoesem andamento

no-force: paginas no buffer modificadas por uma transacaonao precisam ser necessariamente gravadas no disco quando atransacao termina.

daemon: paginas sao gravadas no disco continuamente

Islene Calciolari Garcia Checkpointing: desafios em SD e BD

Page 86: Checkpointing: desa os em sistemas distribu dos e em ...islene/speechs/ckpt-sd-bd.pdf · Checkpointing: desa os em sistemas distribu dos e em bancos de dados Islene Calciolari Garcia

MotivacaoConsistenciaRecuperacao

Conclusao e desafios futurosReferencias

Conceitos basicosAlgoritmo simplificadoARIESExemplos

Depois do crash

O gerenciador de recuperacao e invocado e inicia-se 3 fases:1 Analise: identifica paginas sujas no disco e transacoes ativas2 Refazer: repete as acoes a partir de um ponto adequado no log3 Desfazer: desfaz todas as transacoes incompletas

[Database System Concepts, Silberschatz, Korth e Sudarshan]

Islene Calciolari Garcia Checkpointing: desafios em SD e BD

Page 87: Checkpointing: desa os em sistemas distribu dos e em ...islene/speechs/ckpt-sd-bd.pdf · Checkpointing: desa os em sistemas distribu dos e em bancos de dados Islene Calciolari Garcia

Sumario

1 Motivacao

2 Consistenciaem sistemas distribuıdosem bancos de dadosOutros nıveis de isolamentoResumo

3 RecuperacaoConceitos basicosAlgoritmo simplificadoARIESExemplos

4 Conclusao e desafios futuros

Page 88: Checkpointing: desa os em sistemas distribu dos e em ...islene/speechs/ckpt-sd-bd.pdf · Checkpointing: desa os em sistemas distribu dos e em bancos de dados Islene Calciolari Garcia

MotivacaoConsistenciaRecuperacao

Conclusao e desafios futurosReferencias

Conceitos basicosAlgoritmo simplificadoARIESExemplos

InnoDB checkpointingMySQL Server

Arquivos de log devem ser grandes

Fuzzy checkpointing

Paginas vao para o disco em lotes pequenos

Em caso de falha, acoes sao refeitas

Islene Calciolari Garcia Checkpointing: desafios em SD e BD

Page 89: Checkpointing: desa os em sistemas distribu dos e em ...islene/speechs/ckpt-sd-bd.pdf · Checkpointing: desa os em sistemas distribu dos e em bancos de dados Islene Calciolari Garcia

MotivacaoConsistenciaRecuperacao

Conclusao e desafios futurosReferencias

Conceitos basicosAlgoritmo simplificadoARIESExemplos

InnoDB HotBackupMySQL Enterprise Backup

Versao nao livre

Copias comprimidas

Nao bloqueante, incremental

Islene Calciolari Garcia Checkpointing: desafios em SD e BD

Page 90: Checkpointing: desa os em sistemas distribu dos e em ...islene/speechs/ckpt-sd-bd.pdf · Checkpointing: desa os em sistemas distribu dos e em bancos de dados Islene Calciolari Garcia

MotivacaoConsistenciaRecuperacao

Conclusao e desafios futurosReferencias

Conceitos basicosAlgoritmo simplificadoARIESExemplos

Percona XtraBackup

Backups that complete quickly and reliably

Uninterrupted transaction processing during backups

Savings on disk space and network bandwidth

Automatic backup verification

Higher uptime due to faster restore time

Versao livre

http://www.percona.com/software/percona-xtrabackup/

Islene Calciolari Garcia Checkpointing: desafios em SD e BD

Page 91: Checkpointing: desa os em sistemas distribu dos e em ...islene/speechs/ckpt-sd-bd.pdf · Checkpointing: desa os em sistemas distribu dos e em bancos de dados Islene Calciolari Garcia

MotivacaoConsistenciaRecuperacao

Conclusao e desafios futurosReferencias

Conceitos basicosAlgoritmo simplificadoARIESExemplos

PostgreSQL

Comunidade bem consolidada

Participacao no Google Summer of Code

TODO list

Melhorias para Point in time recovery

Resolucao de bugs

Fix problem with btree page splits during checkpoints

Islene Calciolari Garcia Checkpointing: desafios em SD e BD

Page 92: Checkpointing: desa os em sistemas distribu dos e em ...islene/speechs/ckpt-sd-bd.pdf · Checkpointing: desa os em sistemas distribu dos e em bancos de dados Islene Calciolari Garcia

Sumario

1 Motivacao

2 Consistenciaem sistemas distribuıdosem bancos de dadosOutros nıveis de isolamentoResumo

3 RecuperacaoConceitos basicosAlgoritmo simplificadoARIESExemplos

4 Conclusao e desafios futuros

Page 93: Checkpointing: desa os em sistemas distribu dos e em ...islene/speechs/ckpt-sd-bd.pdf · Checkpointing: desa os em sistemas distribu dos e em bancos de dados Islene Calciolari Garcia

MotivacaoConsistenciaRecuperacao

Conclusao e desafios futurosReferencias

Conclusao e desafios futuros

Checkpointing e recuperacao:

(1) Acoes durante o processamento normal da aplicacao(2) Acoes para o restabelecimento de um estado globalconsistente apos a ocorrencia de uma falha.

Solucoes assıncronas (nao-bloqueantes) sao mais eficientes,mas mais difıceis de serem implementadas

Manutencao da consistenciaColeta de lixo

O que fazer quando os dados ficam grandes demais?

Islene Calciolari Garcia Checkpointing: desafios em SD e BD

Page 94: Checkpointing: desa os em sistemas distribu dos e em ...islene/speechs/ckpt-sd-bd.pdf · Checkpointing: desa os em sistemas distribu dos e em bancos de dados Islene Calciolari Garcia

Referencias: bancos de dados

Database System Concepts, 6th edition, McGrawHillA. Silberschatz, H. F. Korth, S. SudarshanSlides disponıveis∗

Fundamentals of Database Systems, 5th edition, PearsonR. Elmasri, S. B. NavatheSlides disponıveis via registro

ARIES: A Transaction Recovery Method SupportingFine-Granularity Locking and Partial Rollbacks UsingWrite-Ahead LoggingC. Mohan et al.ACM Trans. on Database Systems, Vol. 17, No. 1, March 1992

MySQL Documentation∗

PostgreSQL Documentation∗ ∗ ultimo acesso em abril de 2012

Page 95: Checkpointing: desa os em sistemas distribu dos e em ...islene/speechs/ckpt-sd-bd.pdf · Checkpointing: desa os em sistemas distribu dos e em bancos de dados Islene Calciolari Garcia

Referencias: sistemas distribuıdosResultados fundamentais

Distributed snapshots: determining global states of distributedsystemsK. M. Chandy, L. LamportACM Trans. Comp. Systems, Vol. 3, No 1, 1985

A survey of rollback-recovery protocols in message-passingsystemsE. N. Elnozahy, D. B. Johnson, Y. M. YangACM Comp. Surveys