ocessamento de Big Data AO - UFPR · PÓS ENGENHARIA INDUSTRIAL 4.0 Agenda UNIVERSIDADE FEDERAL DO...

56
Aula #8 - Transações e concorrência EDUARDO CUNHA DE ALMEIDA INDUSTRIA 4.0 Processamento de Big Data MARMELADA NO RING, FONTE: ESTADAO

Transcript of ocessamento de Big Data AO - UFPR · PÓS ENGENHARIA INDUSTRIAL 4.0 Agenda UNIVERSIDADE FEDERAL DO...

Page 1: ocessamento de Big Data AO - UFPR · PÓS ENGENHARIA INDUSTRIAL 4.0 Agenda UNIVERSIDADE FEDERAL DO PARANÁ 2 - Transações - Atomicidade - Consistência - Isolamento - Durabilidade

Aula #8 - Transações e concorrênciaEDUARDO CUNHA DE ALMEIDA

INDU

STRI

A 4.

0Pr

oces

sam

ento

de

Bi

g Da

ta

MARM

ELAD

A NO R

ING, F

ONTE

: EST

ADAO

Page 2: ocessamento de Big Data AO - UFPR · PÓS ENGENHARIA INDUSTRIAL 4.0 Agenda UNIVERSIDADE FEDERAL DO PARANÁ 2 - Transações - Atomicidade - Consistência - Isolamento - Durabilidade

PÓS ENGENHARIA INDUSTRIAL 4.0

Agenda

UNIVERSIDADE FEDERAL DO PARANÁ 2

- Transações - Atomicidade - Consistência - Isolamento - Durabilidade

Page 3: ocessamento de Big Data AO - UFPR · PÓS ENGENHARIA INDUSTRIAL 4.0 Agenda UNIVERSIDADE FEDERAL DO PARANÁ 2 - Transações - Atomicidade - Consistência - Isolamento - Durabilidade

PÓS ENGENHARIA INDUSTRIAL 4.0

Transações criam e atualizam dados

UNIVERSIDADE FEDERAL DO PARANÁ 3

Page 4: ocessamento de Big Data AO - UFPR · PÓS ENGENHARIA INDUSTRIAL 4.0 Agenda UNIVERSIDADE FEDERAL DO PARANÁ 2 - Transações - Atomicidade - Consistência - Isolamento - Durabilidade

PÓS ENGENHARIA INDUSTRIAL 4.0

Transação

UNIVERSIDADE FEDERAL DO PARANÁ 4

“Uma transação é uma sequência de uma ou mais operações de acesso em um banco de dados compartilhado.”

Page 5: ocessamento de Big Data AO - UFPR · PÓS ENGENHARIA INDUSTRIAL 4.0 Agenda UNIVERSIDADE FEDERAL DO PARANÁ 2 - Transações - Atomicidade - Consistência - Isolamento - Durabilidade

PÓS ENGENHARIA INDUSTRIAL 4.0

Transação

UNIVERSIDADE FEDERAL DO PARANÁ 5

“Uma transação é uma sequência de uma ou mais operações de acesso em um banco de dados compartilhado.”

SALDO=200

ex: depositar R$ 100,00 BANCO DE DADOS

Page 6: ocessamento de Big Data AO - UFPR · PÓS ENGENHARIA INDUSTRIAL 4.0 Agenda UNIVERSIDADE FEDERAL DO PARANÁ 2 - Transações - Atomicidade - Consistência - Isolamento - Durabilidade

PÓS ENGENHARIA INDUSTRIAL 4.0

Transação

UNIVERSIDADE FEDERAL DO PARANÁ 6

“Uma transação é uma sequência de uma ou mais operações de acesso em um banco de dados compartilhado.”

TEMP

O

SALDO=200

ex: depositar R$ 100,00 BANCO DE DADOS

LER saldo R$ 200,00depositar R$ 100,00ATUALIZAR saldo R$ 300,00

Page 7: ocessamento de Big Data AO - UFPR · PÓS ENGENHARIA INDUSTRIAL 4.0 Agenda UNIVERSIDADE FEDERAL DO PARANÁ 2 - Transações - Atomicidade - Consistência - Isolamento - Durabilidade

PÓS ENGENHARIA INDUSTRIAL 4.0

Transação

UNIVERSIDADE FEDERAL DO PARANÁ 7

“Uma transação é uma sequência de uma ou mais operações de acesso em um banco de dados compartilhado.”

TEMP

O

SALDO=300

ex: depositar R$ 100,00 BANCO DE DADOS

LER saldo R$ 200,00depositar R$ 100,00ATUALIZAR saldo R$ 300,00

Page 8: ocessamento de Big Data AO - UFPR · PÓS ENGENHARIA INDUSTRIAL 4.0 Agenda UNIVERSIDADE FEDERAL DO PARANÁ 2 - Transações - Atomicidade - Consistência - Isolamento - Durabilidade

PÓS ENGENHARIA INDUSTRIAL 4.0

Transação

UNIVERSIDADE FEDERAL DO PARANÁ 8

“Uma transação é uma sequência de uma ou mais operações de acesso em um banco de dados compartilhado.”

T1LER saldo (id=333)saldo = saldo + 100ESCREVER saldoTE

MPO

SALDO=200

TRANSAÇÃO BANCO DE DADOS

Page 9: ocessamento de Big Data AO - UFPR · PÓS ENGENHARIA INDUSTRIAL 4.0 Agenda UNIVERSIDADE FEDERAL DO PARANÁ 2 - Transações - Atomicidade - Consistência - Isolamento - Durabilidade

PÓS ENGENHARIA INDUSTRIAL 4.0

Transação

UNIVERSIDADE FEDERAL DO PARANÁ 9

“Uma transação é uma sequência de uma ou mais operações de acesso em um banco de dados compartilhado.”

T1LER saldo (id=333)saldo = saldo + 100ESCREVER saldoTE

MPO

SALDO=200

TRANSAÇÃO BANCO DE DADOS

Page 10: ocessamento de Big Data AO - UFPR · PÓS ENGENHARIA INDUSTRIAL 4.0 Agenda UNIVERSIDADE FEDERAL DO PARANÁ 2 - Transações - Atomicidade - Consistência - Isolamento - Durabilidade

PÓS ENGENHARIA INDUSTRIAL 4.0

Transação

UNIVERSIDADE FEDERAL DO PARANÁ 10

“Uma transação é uma sequência de uma ou mais operações de acesso em um banco de dados compartilhado.”

T1LER saldo (id=333)saldo = saldo + 100ESCREVER saldoTE

MPO

SALDO=300

TRANSAÇÃO BANCO DE DADOS

Page 11: ocessamento de Big Data AO - UFPR · PÓS ENGENHARIA INDUSTRIAL 4.0 Agenda UNIVERSIDADE FEDERAL DO PARANÁ 2 - Transações - Atomicidade - Consistência - Isolamento - Durabilidade

PÓS ENGENHARIA INDUSTRIAL 4.0

Estados de uma Transação

UNIVERSIDADE FEDERAL DO PARANÁ 11

ATIVA PARCIAL

FALHA

CONFIRMADA

TERMINADA

Page 12: ocessamento de Big Data AO - UFPR · PÓS ENGENHARIA INDUSTRIAL 4.0 Agenda UNIVERSIDADE FEDERAL DO PARANÁ 2 - Transações - Atomicidade - Consistência - Isolamento - Durabilidade

PÓS ENGENHARIA INDUSTRIAL 4.0

Estados de uma Transação

UNIVERSIDADE FEDERAL DO PARANÁ 12

ATIVA PARCIAL

FALHA

CONFIRMADA

TERMINADA

LER, ESCREVER

INICIO DAS

OPERAÇÕES

FIM DAS

OPERAÇÕES

ABORT ABOR

T

COMMIT

Page 13: ocessamento de Big Data AO - UFPR · PÓS ENGENHARIA INDUSTRIAL 4.0 Agenda UNIVERSIDADE FEDERAL DO PARANÁ 2 - Transações - Atomicidade - Consistência - Isolamento - Durabilidade

PÓS ENGENHARIA INDUSTRIAL 4.0

Propriedades de exatidão ACID

UNIVERSIDADE FEDERAL DO PARANÁ 13

- Atomicidade: “tudo ou nada” - Consistência: “parece correto” - Isolamento: “como se estivesse sozinho” - Durabilidade: “modificações persistem após commit”

Page 14: ocessamento de Big Data AO - UFPR · PÓS ENGENHARIA INDUSTRIAL 4.0 Agenda UNIVERSIDADE FEDERAL DO PARANÁ 2 - Transações - Atomicidade - Consistência - Isolamento - Durabilidade

PÓS ENGENHARIA INDUSTRIAL 4.0

Mecanismo pra manter Atomicidade

UNIVERSIDADE FEDERAL DO PARANÁ 14

- Logging: “caixa preta do avião” Arquivo LOG

INSERT id=333, saldo=200

INSERT id=334, saldo=70

ESCR

ITAS

INSERT id=335, saldo=350

DELETE id=334

UPDATE saldo=90 (id=335)

Page 15: ocessamento de Big Data AO - UFPR · PÓS ENGENHARIA INDUSTRIAL 4.0 Agenda UNIVERSIDADE FEDERAL DO PARANÁ 2 - Transações - Atomicidade - Consistência - Isolamento - Durabilidade

PÓS ENGENHARIA INDUSTRIAL 4.0

Mecanismo pra manter Atomicidade

UNIVERSIDADE FEDERAL DO PARANÁ 15

- Logging: “caixa preta do avião”

T1LER saldo (id=333)saldo = saldo + 100ESCREVER saldoTE

MPO

PÓS ENGENHARIA INDUSTRIAL 4.0

Arquivo LOGINSERT id=333, saldo=200

INSERT id=334, saldo=70

INSERT id=335, saldo=350

DELETE id=334

UPDATE saldo=90 (id=335)

15ES

CRITA

S

Page 16: ocessamento de Big Data AO - UFPR · PÓS ENGENHARIA INDUSTRIAL 4.0 Agenda UNIVERSIDADE FEDERAL DO PARANÁ 2 - Transações - Atomicidade - Consistência - Isolamento - Durabilidade

PÓS ENGENHARIA INDUSTRIAL 4.0

Mecanismo pra manter Atomicidade

UNIVERSIDADE FEDERAL DO PARANÁ 16

- Logging: “caixa preta do avião”

T1LER saldo (id=333)saldo = saldo + 100ESCREVER saldoTE

MPO

PÓS ENGENHARIA INDUSTRIAL 4.0

Arquivo LOGINSERT id=333, saldo=200

INSERT id=334, saldo=70

INSERT id=335, saldo=350

DELETE id=334

UPDATE saldo=90 (id=335)

16

UPDATE saldo=300 (id=333)

ESCR

ITAS

Page 17: ocessamento de Big Data AO - UFPR · PÓS ENGENHARIA INDUSTRIAL 4.0 Agenda UNIVERSIDADE FEDERAL DO PARANÁ 2 - Transações - Atomicidade - Consistência - Isolamento - Durabilidade

PÓS ENGENHARIA INDUSTRIAL 4.0

Mecanismo pra manter Atomicidade

17

- Logging: “caixa preta do avião”

PÓS ENGENHARIA INDUSTRIAL 4.0

Arquivo LOGINSERT id=333, saldo=200

INSERT id=334, saldo=70

INSERT id=335, saldo=350

DELETE id=334

UPDATE saldo=90 (id=335)

17

UPDATE saldo=300 (id=333)

ex: falta de energia elétrica

id saldo

333 200

334 70

335 90

TABELA

Page 18: ocessamento de Big Data AO - UFPR · PÓS ENGENHARIA INDUSTRIAL 4.0 Agenda UNIVERSIDADE FEDERAL DO PARANÁ 2 - Transações - Atomicidade - Consistência - Isolamento - Durabilidade

PÓS ENGENHARIA INDUSTRIAL 4.0

Mecanismo pra manter Atomicidade

UNIVERSIDADE FEDERAL DO PARANÁ 18

- Logging: “caixa preta do avião”

PÓS ENGENHARIA INDUSTRIAL 4.0

Arquivo LOGINSERT id=333, saldo=200

INSERT id=334, saldo=70

INSERT id=335, saldo=350

DELETE id=334

UPDATE saldo=90 (id=335)

18

UPDATE saldo=300 (id=333)

LEITU

RAid saldo

333 200

334 70

335 90

TABELA

Page 19: ocessamento de Big Data AO - UFPR · PÓS ENGENHARIA INDUSTRIAL 4.0 Agenda UNIVERSIDADE FEDERAL DO PARANÁ 2 - Transações - Atomicidade - Consistência - Isolamento - Durabilidade

PÓS ENGENHARIA INDUSTRIAL 4.0

Mecanismo pra manter Atomicidade

UNIVERSIDADE FEDERAL DO PARANÁ 19

- Logging: “caixa preta do avião”

PÓS ENGENHARIA INDUSTRIAL 4.0

Arquivo LOGINSERT id=333, saldo=200

INSERT id=334, saldo=70

INSERT id=335, saldo=350

DELETE id=334

UPDATE saldo=90 (id=335)

19

UPDATE saldo=300 (id=333)

LEITU

RAid saldo

333 200

334 70

335 90

TABELA

Page 20: ocessamento de Big Data AO - UFPR · PÓS ENGENHARIA INDUSTRIAL 4.0 Agenda UNIVERSIDADE FEDERAL DO PARANÁ 2 - Transações - Atomicidade - Consistência - Isolamento - Durabilidade

PÓS ENGENHARIA INDUSTRIAL 4.0

Mecanismo pra manter Atomicidade

UNIVERSIDADE FEDERAL DO PARANÁ 20

- Logging: “caixa preta do avião”

PÓS ENGENHARIA INDUSTRIAL 4.0

Arquivo LOGINSERT id=333, saldo=200

INSERT id=334, saldo=70

INSERT id=335, saldo=350

DELETE id=334

UPDATE saldo=90 (id=335)

20

UPDATE saldo=300 (id=333)

LEITU

RAid saldo

333 300

334 70

335 90

TABELA

Page 21: ocessamento de Big Data AO - UFPR · PÓS ENGENHARIA INDUSTRIAL 4.0 Agenda UNIVERSIDADE FEDERAL DO PARANÁ 2 - Transações - Atomicidade - Consistência - Isolamento - Durabilidade

PÓS ENGENHARIA INDUSTRIAL 4.0

Mecanismo pra manter Atomicidade

UNIVERSIDADE FEDERAL DO PARANÁ 21

- Logging: “caixa preta do avião”

PÓS ENGENHARIA INDUSTRIAL 4.0

Arquivo LOGINSERT id=333, saldo=200

INSERT id=334, saldo=70

INSERT id=335, saldo=350

DELETE id=334

UPDATE saldo=90 (id=335)

21

UPDATE saldo=300 (id=333)

LEITU

RAid saldo

333 300

334 70

335 90

TABELA

Page 22: ocessamento de Big Data AO - UFPR · PÓS ENGENHARIA INDUSTRIAL 4.0 Agenda UNIVERSIDADE FEDERAL DO PARANÁ 2 - Transações - Atomicidade - Consistência - Isolamento - Durabilidade

PÓS ENGENHARIA INDUSTRIAL 4.0

Mecanismo pra manter Atomicidade

UNIVERSIDADE FEDERAL DO PARANÁ 22

- Logging: “caixa preta do avião”

PÓS ENGENHARIA INDUSTRIAL 4.0

Arquivo LOGINSERT id=333, saldo=200

INSERT id=334, saldo=70

INSERT id=335, saldo=350

DELETE id=334

UPDATE saldo=90 (id=335)

22

UPDATE saldo=300 (id=333)

LEITU

RAid saldo

333 300

335 90

TABELA

Page 23: ocessamento de Big Data AO - UFPR · PÓS ENGENHARIA INDUSTRIAL 4.0 Agenda UNIVERSIDADE FEDERAL DO PARANÁ 2 - Transações - Atomicidade - Consistência - Isolamento - Durabilidade

Isolamento

T1 T2operação operaçãooperação operaçãooperação operaçãooperação operação

TEMP

O Transações concorrentes não se interferem

Page 24: ocessamento de Big Data AO - UFPR · PÓS ENGENHARIA INDUSTRIAL 4.0 Agenda UNIVERSIDADE FEDERAL DO PARANÁ 2 - Transações - Atomicidade - Consistência - Isolamento - Durabilidade

Problemas de Isolamento (1)

T1 T2LER saldo (id=333)

LER saldo (id=333)saldo = saldo + 100

saldo = saldo - 100ESCREVER saldo

ESCREVER saldo

TEMP

O

SALDO=200

BANCO DE DADOS

DEPÓSITO DE R$ 100,00 RETIRADA DE R$ 100,00

ESPERADO APÓS T1 E T2 SALDO=200

Page 25: ocessamento de Big Data AO - UFPR · PÓS ENGENHARIA INDUSTRIAL 4.0 Agenda UNIVERSIDADE FEDERAL DO PARANÁ 2 - Transações - Atomicidade - Consistência - Isolamento - Durabilidade

Problemas de Isolamento (1)

T1 T2LER saldo (id=333)

LER saldo (id=333)

TEMP

O

SALDO=200

BANCO DE DADOS

DEPÓSITO DE R$ 100,00 RETIRADA DE R$ 100,00

SALDO = 200

SALDO = 200

Page 26: ocessamento de Big Data AO - UFPR · PÓS ENGENHARIA INDUSTRIAL 4.0 Agenda UNIVERSIDADE FEDERAL DO PARANÁ 2 - Transações - Atomicidade - Consistência - Isolamento - Durabilidade

Problemas de Isolamento (1)

T1 T2LER saldo (id=333)

LER saldo (id=333)saldo = saldo + 100

saldo = saldo - 100TEMP

O

SALDO=200

BANCO DE DADOS

DEPÓSITO DE R$ 100,00 RETIRADA DE R$ 100,00

SALDO = 200

SALDO = 200

SALDO = 300

Page 27: ocessamento de Big Data AO - UFPR · PÓS ENGENHARIA INDUSTRIAL 4.0 Agenda UNIVERSIDADE FEDERAL DO PARANÁ 2 - Transações - Atomicidade - Consistência - Isolamento - Durabilidade

Problemas de Isolamento (1)

T1 T2LER saldo (id=333)

LER saldo (id=333)saldo = saldo + 100

saldo = saldo - 100ESCREVER saldo

TEMP

O

SALDO=300

BANCO DE DADOS

DEPÓSITO DE R$ 100,00 RETIRADA DE R$ 100,00

SALDO = 200

SALDO = 200

SALDO = 100

SALDO = 300

Page 28: ocessamento de Big Data AO - UFPR · PÓS ENGENHARIA INDUSTRIAL 4.0 Agenda UNIVERSIDADE FEDERAL DO PARANÁ 2 - Transações - Atomicidade - Consistência - Isolamento - Durabilidade

Perda de atualização

T1 T2LER saldo (id=333)

LER saldo (id=333)saldo = saldo + 100

saldo = saldo - 100ESCREVER saldo

ESCREVER saldo

TEMP

O

SALDO=100

BANCO DE DADOS

DEPÓSITO DE R$ 100,00 RETIRADA DE R$ 100,00

SALDO = 200

SALDO = 200

SALDO = 100

SALDO = 300

ESPERADO SALDO=200

Page 29: ocessamento de Big Data AO - UFPR · PÓS ENGENHARIA INDUSTRIAL 4.0 Agenda UNIVERSIDADE FEDERAL DO PARANÁ 2 - Transações - Atomicidade - Consistência - Isolamento - Durabilidade

Problemas de Isolamento (2)

T1 T2LER saldo (id=333)saldo = saldo + 100ESCREVER saldo

LER saldo (id=333)ABORT saldo = saldo - 300

ESCREVER saldo

TEMP

O

SALDO=200

BANCO DE DADOS

DEPÓSITO DE R$ 100,00 RETIRADA DE R$ 300,00

ESPERADO COM ABORT T1 SALDO=-100

Page 30: ocessamento de Big Data AO - UFPR · PÓS ENGENHARIA INDUSTRIAL 4.0 Agenda UNIVERSIDADE FEDERAL DO PARANÁ 2 - Transações - Atomicidade - Consistência - Isolamento - Durabilidade

Problemas de Isolamento (2)

T1 T2LER saldo (id=333)saldo = saldo + 100ESCREVER saldo

LER saldo (id=333)ABORT saldo = saldo - 300

ESCREVER saldo

TEMP

O

SALDO=200

BANCO DE DADOS

DEPÓSITO DE R$ 100,00 RETIRADA DE R$ 300,00

ESPERADO COM ABORT T1 SALDO=-100

Page 31: ocessamento de Big Data AO - UFPR · PÓS ENGENHARIA INDUSTRIAL 4.0 Agenda UNIVERSIDADE FEDERAL DO PARANÁ 2 - Transações - Atomicidade - Consistência - Isolamento - Durabilidade

Problemas de Isolamento (2)

T1 T2LER saldo (id=333)saldo = saldo + 100ESCREVER saldo

TEMP

O

SALDO=300

BANCO DE DADOS

DEPÓSITO DE R$ 100,00 RETIRADA DE R$ 300,00

Page 32: ocessamento de Big Data AO - UFPR · PÓS ENGENHARIA INDUSTRIAL 4.0 Agenda UNIVERSIDADE FEDERAL DO PARANÁ 2 - Transações - Atomicidade - Consistência - Isolamento - Durabilidade

Problemas de Isolamento (2)

T1 T2LER saldo (id=333)saldo = saldo + 100ESCREVER saldo

LER saldo (id=333)saldo = saldo - 300

TEMP

O

SALDO=300

BANCO DE DADOS

DEPÓSITO DE R$ 100,00

SALDO = 300

RETIRADA DE R$ 300,00

Page 33: ocessamento de Big Data AO - UFPR · PÓS ENGENHARIA INDUSTRIAL 4.0 Agenda UNIVERSIDADE FEDERAL DO PARANÁ 2 - Transações - Atomicidade - Consistência - Isolamento - Durabilidade

Perda de leitura

T1 T2LER saldo (id=333)saldo = saldo + 100ESCREVER saldo

LER saldo (id=333)ABORT saldo = saldo - 300

ESCREVER saldo

TEMP

O

SALDO=0

BANCO DE DADOS

DEPÓSITO DE R$ 100,00 RETIRADA DE R$ 300,00

ESPERADO COM ABORT T1 SALDO=-100

Page 34: ocessamento de Big Data AO - UFPR · PÓS ENGENHARIA INDUSTRIAL 4.0 Agenda UNIVERSIDADE FEDERAL DO PARANÁ 2 - Transações - Atomicidade - Consistência - Isolamento - Durabilidade

Mecanismo pra manter Isolamento - Pessimista: “evitar que aconteça um problema” - Otimista: “tratar o problema quando acontecer”

Page 35: ocessamento de Big Data AO - UFPR · PÓS ENGENHARIA INDUSTRIAL 4.0 Agenda UNIVERSIDADE FEDERAL DO PARANÁ 2 - Transações - Atomicidade - Consistência - Isolamento - Durabilidade

Mecanismo pra manter Isolamento Reorganizar agenda de operações

T1 T2BEGINLER(A)ESCREVER(A) BEGIN

LER(A)ESCREVER(A)LER(B)ESCREVER(B)

LER(B) COMMITESCREVER(B)COMMIT

TEMP

O T1 T2

Page 36: ocessamento de Big Data AO - UFPR · PÓS ENGENHARIA INDUSTRIAL 4.0 Agenda UNIVERSIDADE FEDERAL DO PARANÁ 2 - Transações - Atomicidade - Consistência - Isolamento - Durabilidade

Mecanismo pra manter Isolamento

T1 T2BEGINLER(A)ESCREVER(A) BEGIN

LER(A)ESCREVER(A)LER(B)ESCREVER(B)

LER(B) COMMITESCREVER(B)COMMIT

TEMP

O T1 T2

Reorganizar agenda de operações

Page 37: ocessamento de Big Data AO - UFPR · PÓS ENGENHARIA INDUSTRIAL 4.0 Agenda UNIVERSIDADE FEDERAL DO PARANÁ 2 - Transações - Atomicidade - Consistência - Isolamento - Durabilidade

Mecanismo pra manter Isolamento

T1 T2BEGINLER(A)ESCREVER(A) BEGIN

LER(A)ESCREVER(A)LER(B)ESCREVER(B)

LER(B) COMMITESCREVER(B)COMMIT

TEMP

O T1 T2

Reorganizar agenda de operações

Page 38: ocessamento de Big Data AO - UFPR · PÓS ENGENHARIA INDUSTRIAL 4.0 Agenda UNIVERSIDADE FEDERAL DO PARANÁ 2 - Transações - Atomicidade - Consistência - Isolamento - Durabilidade

Mecanismo pra manter Isolamento

T1 T2BEGINLER(A)ESCREVER(A)LER(B)ESCREVER(B) BEGINCOMMIT LER(A)

ESCREVER(A)LER(B)ESCREVER(B)COMMIT

TEMP

O

Execução serial!!!

Reorganizar agenda de operações

Page 39: ocessamento de Big Data AO - UFPR · PÓS ENGENHARIA INDUSTRIAL 4.0 Agenda UNIVERSIDADE FEDERAL DO PARANÁ 2 - Transações - Atomicidade - Consistência - Isolamento - Durabilidade

PÓS ENGENHARIA INDUSTRIAL 4.0UNIVERSIDADE FEDERAL DO PARANÁ 39

Teste de Conflito de Serialidade - Criar nó para cada Ti do agendamento S - Criar aresta Ti Tj para cada r(x) em Ti depois de w(x) em Tj - Criar aresta Ti Tj para cada w(x) em Ti depois de r(x) em Tj - Criar aresta Ti Tj para cada w(x) em Ti depois de w(x) em Tj

- Agendamento S é serializável se não existe ciclo

Legenda: r(x) leitura do atributo “x”, ex. r(saldo) w(x) escrita do atributo “x”, ex. r(saldo)

Page 40: ocessamento de Big Data AO - UFPR · PÓS ENGENHARIA INDUSTRIAL 4.0 Agenda UNIVERSIDADE FEDERAL DO PARANÁ 2 - Transações - Atomicidade - Consistência - Isolamento - Durabilidade

Exemplo

T1 T2BEGINW(A) BEGIN

W(A)W(A) COMMITCOMMITTE

MPO T1 T2

Teste a serialidade do agendamento abaixo

Page 41: ocessamento de Big Data AO - UFPR · PÓS ENGENHARIA INDUSTRIAL 4.0 Agenda UNIVERSIDADE FEDERAL DO PARANÁ 2 - Transações - Atomicidade - Consistência - Isolamento - Durabilidade

Exemplo

T1 T2BEGINW(A) BEGIN

W(A)W(A) COMMITCOMMITTE

MPO T1 T2

Teste a serialidade do agendamento abaixo

Page 42: ocessamento de Big Data AO - UFPR · PÓS ENGENHARIA INDUSTRIAL 4.0 Agenda UNIVERSIDADE FEDERAL DO PARANÁ 2 - Transações - Atomicidade - Consistência - Isolamento - Durabilidade

Exemplo

T1 T2BEGINW(A) BEGIN

W(A)W(A) COMMITCOMMITTE

MPO T1 T2

Teste a serialidade do agendamento abaixo

Page 43: ocessamento de Big Data AO - UFPR · PÓS ENGENHARIA INDUSTRIAL 4.0 Agenda UNIVERSIDADE FEDERAL DO PARANÁ 2 - Transações - Atomicidade - Consistência - Isolamento - Durabilidade

Exercício

T1 T2

T3

T1 T2 T3BEGINR(A) BEGIN

R(A)W(A) BEGIN

R(A)COMMIT W(A)

COMMIT COMMIT

TEMP

O

Teste a serialidade do agendamento abaixo

Page 44: ocessamento de Big Data AO - UFPR · PÓS ENGENHARIA INDUSTRIAL 4.0 Agenda UNIVERSIDADE FEDERAL DO PARANÁ 2 - Transações - Atomicidade - Consistência - Isolamento - Durabilidade

PÓS ENGENHARIA INDUSTRIAL 4.0UNIVERSIDADE FEDERAL DO PARANÁ 44

Protocolos para manter a “serialidade” dos agendamentos - Bloqueio - MVCC (timestamp) - Certificação

Mecanismo pra manter Isolamento

Page 45: ocessamento de Big Data AO - UFPR · PÓS ENGENHARIA INDUSTRIAL 4.0 Agenda UNIVERSIDADE FEDERAL DO PARANÁ 2 - Transações - Atomicidade - Consistência - Isolamento - Durabilidade

Consistência do banco de dados Banco de dados representa o mundo real de forma precisa e segue restrições de integridade.

Transações no futuro observam os efeitos das transações passadas no banco de dados.

Page 46: ocessamento de Big Data AO - UFPR · PÓS ENGENHARIA INDUSTRIAL 4.0 Agenda UNIVERSIDADE FEDERAL DO PARANÁ 2 - Transações - Atomicidade - Consistência - Isolamento - Durabilidade

PÓS ENGENHARIA INDUSTRIAL 4.0

Restrições NOT NULL

UNIVERSIDADE FEDERAL DO PARANÁ 46

CREATE TABLE DEPARTAMENTO( DEPT_NAME VARCHAR(8), PREDIO VARCHAR(4), ORCAMENTO FLOAT NOT NULL );

DEPT_NAME PREDIO ORCAMENTO

INFORMATICA INF 400.000,00

MECANICA PG 700.000,00

ESTATISTICA PA 200.000,00

TABELA: DEPARTAMENTO

Page 47: ocessamento de Big Data AO - UFPR · PÓS ENGENHARIA INDUSTRIAL 4.0 Agenda UNIVERSIDADE FEDERAL DO PARANÁ 2 - Transações - Atomicidade - Consistência - Isolamento - Durabilidade

PÓS ENGENHARIA INDUSTRIAL 4.0

Restrições NOT NULL

UNIVERSIDADE FEDERAL DO PARANÁ 47

DEPT_NAME PREDIO ORCAMENTO

INFORMATICA INF 400.000,00

MECANICA PG 700.000,00

ESTATISTICA PA 200.000,00

FISICA PF NULL

TABELA: DEPARTAMENTO

NAO PERMITIDO PELO BD

CREATE TABLE DEPARTAMENTO( DEPT_NAME VARCHAR(8), PREDIO VARCHAR(4), ORCAMENTO FLOAT NOT NULL );

Page 48: ocessamento de Big Data AO - UFPR · PÓS ENGENHARIA INDUSTRIAL 4.0 Agenda UNIVERSIDADE FEDERAL DO PARANÁ 2 - Transações - Atomicidade - Consistência - Isolamento - Durabilidade

PÓS ENGENHARIA INDUSTRIAL 4.0

Restrições: Cláusula CHECK

UNIVERSIDADE FEDERAL DO PARANÁ 48

CREATE TABLE DEPARTAMENTO( DEPT_NAME VARCHAR(8), PREDIO VARCHAR(4), ORCAMENTO FLOAT CHECK (ORCAMENTO > 0.0), );

DEPT_NAME PREDIO ORCAMENTO

INFORMATICA INF 400.000,00

MECANICA PG 700.000,00

ESTATISTICA PA 200.000,00

TABELA: DEPARTAMENTO

Page 49: ocessamento de Big Data AO - UFPR · PÓS ENGENHARIA INDUSTRIAL 4.0 Agenda UNIVERSIDADE FEDERAL DO PARANÁ 2 - Transações - Atomicidade - Consistência - Isolamento - Durabilidade

PÓS ENGENHARIA INDUSTRIAL 4.0

Restrições integridade referencial

UNIVERSIDADE FEDERAL DO PARANÁ 49

CREATE TABLE DEPARTAMENTO( DEPT_NAME VARCHAR(8) PRIMARY KEY, PREDIO VARCHAR(4), ORCAMENTO FLOAT NOT NULL );

DEPT_NAME PREDIO ORCAMENTO

INFORMATICA INF 400.000,00

MECANICA PG 700.000,00

ESTATISTICA PA 200.000,00

TABELA: DEPARTAMENTO

Page 50: ocessamento de Big Data AO - UFPR · PÓS ENGENHARIA INDUSTRIAL 4.0 Agenda UNIVERSIDADE FEDERAL DO PARANÁ 2 - Transações - Atomicidade - Consistência - Isolamento - Durabilidade

PÓS ENGENHARIA INDUSTRIAL 4.0

Restrições integridade referencial

UNIVERSIDADE FEDERAL DO PARANÁ 50

CREATE TABLE DEPARTAMENTO( DEPT_NAME VARCHAR(8) PRIMARY KEY, PREDIO VARCHAR(4), ORCAMENTO FLOAT NOT NULL );

DEPT_NAME PREDIO ORCAMENTO

INFORMATICA INF 400.000,00

MECANICA PG 700.000,00

ESTATISTICA PA 200.000,00

TABELA: DEPARTAMENTO

CREATE TABLE PROFESSOR( ID VARCHAR(5) PRIMARY KEY, NOME VARCHAR(40), SALARIO CHECK (SALARIO > 900.0), FOREIGN KEY DEPT_NAME REFERENCES (DEPARTAMENTO) );

ID NOME SALARIO DEPT_NAME

1 JOSE 1200,00 ESTATISTICA

2 MARIA 3000,00 INFORMATICA

3 PEDRO 3000,00 INFORMATICA

4 PABLO 8000,00 MECANICA

TABELA: PROFESSOR

Page 51: ocessamento de Big Data AO - UFPR · PÓS ENGENHARIA INDUSTRIAL 4.0 Agenda UNIVERSIDADE FEDERAL DO PARANÁ 2 - Transações - Atomicidade - Consistência - Isolamento - Durabilidade

PÓS ENGENHARIA INDUSTRIAL 4.0

Restrições integridade referencial

UNIVERSIDADE FEDERAL DO PARANÁ 51

CREATE TABLE DEPARTAMENTO( DEPT_NAME VARCHAR(8) PRIMARY KEY, PREDIO VARCHAR(4), ORCAMENTO FLOAT NOT NULL );

DEPT_NAME PREDIO ORCAMENTO

INFORMATICA INF 400.000,00

MECANICA PG 700.000,00

ESTATISTICA PA 200.000,00

TABELA: DEPARTAMENTO

CREATE TABLE PROFESSOR( ID VARCHAR(5) PRIMARY KEY, NOME VARCHAR(40), SALARIO CHECK (SALARIO > 900.0), FOREIGN KEY DEPT_NAME REFERENCES (DEPARTAMENTO) );

ID NOME SALARIO DEPT_NAME

1 JOSE 1200,00 ESTATISTICA

2 MARIA 3000,00 INFORMATICA

3 PEDRO 3000,00 INFORMATICA

4 PABLO 8000,00 MECANICA

5 MARCUS 8000,00 FISICA

TABELA: PROFESSORNAO PERMITIDO PELO BD

Page 52: ocessamento de Big Data AO - UFPR · PÓS ENGENHARIA INDUSTRIAL 4.0 Agenda UNIVERSIDADE FEDERAL DO PARANÁ 2 - Transações - Atomicidade - Consistência - Isolamento - Durabilidade

PÓS ENGENHARIA INDUSTRIAL 4.0

Restrições: Asserções

UNIVERSIDADE FEDERAL DO PARANÁ 52

CREATE TABLE DEPARTAMENTO( DEPT_NAME VARCHAR(8) PRIMARY KEY, PREDIO VARCHAR(4), ORCAMENTO FLOAT NOT NULL );

CREATE ASSERTION ORACAMENTO_CONST CHECK( NOT EXISTS (SELECT DEPT_NAME

FROM DEPARTAMENTO WHERE ORACAMENTO < 0.0)

);

Asserções são generalizações das restrições anteriores.

Page 53: ocessamento de Big Data AO - UFPR · PÓS ENGENHARIA INDUSTRIAL 4.0 Agenda UNIVERSIDADE FEDERAL DO PARANÁ 2 - Transações - Atomicidade - Consistência - Isolamento - Durabilidade

Durabilidade das transações Atualizações de transações falhas não são escritas no banco de dados.

Registros de arquivos de log (e shadow paging) podem ser usados para garantir a durabilidade.

Page 54: ocessamento de Big Data AO - UFPR · PÓS ENGENHARIA INDUSTRIAL 4.0 Agenda UNIVERSIDADE FEDERAL DO PARANÁ 2 - Transações - Atomicidade - Consistência - Isolamento - Durabilidade

Transações no mundo real?

1800 txn/sec

9 bilhões txn/dia

1milhão txn/sec

Page 55: ocessamento de Big Data AO - UFPR · PÓS ENGENHARIA INDUSTRIAL 4.0 Agenda UNIVERSIDADE FEDERAL DO PARANÁ 2 - Transações - Atomicidade - Consistência - Isolamento - Durabilidade

OLTP continua hot topic !!!

Page 56: ocessamento de Big Data AO - UFPR · PÓS ENGENHARIA INDUSTRIAL 4.0 Agenda UNIVERSIDADE FEDERAL DO PARANÁ 2 - Transações - Atomicidade - Consistência - Isolamento - Durabilidade

Aula #8 - Transações e concorrênciaEDUARDO CUNHA DE ALMEIDA

INDU

STRI

A 4.

0Pr

oces

sam

ento

de

Bi

g Da

ta

MARM

ELAD

A NO R

ING, F

ONTE

: EST

ADAO