Please enable JavaScript.
Coggle requires JavaScript to display documents.
Controle de Concorrência (Protocolo Baseado em validação (Fase da leitura,…
Controle de Concorrência
Protocolo Baseado em validação
Após o término é feito a verificação, caso ocorreu uma violação aborta
Protocolo rápido, aplicável quando há pequena taxa de conflitos
Nenhuma verificação é feita enquanto as transações estão em execução
Fase da leitura
Fase da validação
Fase de escrita
Para validar Ti, verifica-se para cada Tj que foi commitado ou esta em validação as seguintes condições
C3: Nem o read-set e nem o write-set de Ti tem itens em comum com o Write-set de Tj e tj terminou sua fase de leitura antes de Ti terminar sua fase de leitura
C2: Ti iniciara sua fase de escrita depois que Tj terminou sua fase de escrita e o read-set de Ti não tem itens em comum com o writeset de Tj
C1 : Tj completou sua fase de escrita antes de Ti iniciar sua fase de leitura
Quem inicia primeiro é Tj
Este protocolo aumenta o grau de concorrencia se a probabilidade de conflitos for baixa.
isto se dá porque a ordem de serialização não é pre=definida e, relativamente, poucas transações terão que ser desfeitas
Protocolo baseado em TimeStamp
Cada transação recebe um TimeStamp, uma nova transação é conhecida como Tj e a transação anterior Ti
Stamps de tempo determinal a ordem de seriação
Seja Ti um read
Se TS(Ti) < W-timestamp (q), então Ti precisa ler um valor de Q que ja foi modificado, assim a operação read é rejeitada.
Se TS(ti) >= W-timestamp (Q), então a operação read é excutada, e R-timestap(Q) é definido como o máximo de R-timestamp (Q) e TS(ti)
Seja Ti um write(Q)
Se TS(Ti) < r-timestamp (Q), então o valor de q que ti está produzindo foi necessário anteriormente, e o sistema considerou que esse valor nunca seria produzido, logo a operação Write é rejeitada e ti é revertido
Se TS(Ti)<W-timeStamp (Q), então Ti está tentando escreverum valor obsoleto de Q, logo essa operação write é rejeitada e Ti é revertida.
Caso contrário a operação write é executada, e W-timestamp(Q) é definida como TS(Ti).
Protocolo Timestamp estreito
Qualquer operação de read e write em conflito serão executadas na ordem de timestamp
Suponha que a transação emita um read
Se TS(ti) < W - timestamp (Q), então Ti precisa ler um valor de Q que ja foi modificado, logo a operação é rejeitada e Ti é Revertida
Se TS(ti) >= W-Timestamp(Q), então faça Ti aguardar até que a transação com timestamp igual W-timestamp(Q) comite ou aborte. Assim a operação de read é executada, e R-timestamp (Q) é definido como o máximo R-timestamp(Q) e TS(Ti).
Suponha que a transasação emita um write
TS(ti) < R-Timestap(Q), então o valor de Q Ti está rpoduzido foi necessário anterorimente, e o sistema considerou que esse valor nunca seria produzido, logo a operação de wirte é rejeitada e Ti é revertido
TS(Ti) < W-timestap(Q), então Ti está tentando escrever um valor obsoleto de Q, lgoo write é rejeitada
Caso contrário, faça Ti aguardar até que a transação com timestamp igual a W-timestamp(q) comite ou aborte, a aopreção de write é executada e W-timestamp(Q) é definida com TS(ti)