A serialização é a capacidade de o SGBD organizar todas as transações pendentes de forma que uma transação de maior prioridade não dependa de uma transação de menor prioridade.

Isso garante que a sequência pela qual as transações irão ser processadas não geram dependências por outras transações que estão aguardando o processamento.

Para que a serialização funcione perfeitamente, uma transação precisa seguir o protocolo de bloqueio em duas fases. Esse protocolo rege que as transações se comportem da seguinte maneira:

Durante a primeira fase, denominada fase de expansão, ou fase de crescimento, a transação irá criar novos bloqueios a itens de dados. Nessa fase, nenhum bloqueio poderá ser liberado. Nesta fase também poderá ocorrer a conversão de um bloqueio de gravação (permite ler) para um bloqueio de gravação/leitura. A segunda fase é denominada de fase de encolhimento. Nesta fase nenhum novo bloqueio pode ser feito, e os bloqueios existentes serão liberados. Nesta fase também poderá ocorrer a conversão de um bloqueio de gravação/leitura em um bloqueio de gravação.

A funcionalidade de gerenciamento do schedule (agendamento) usa os estados e as fases das transações pendentes para serializar corretamente as transações de forma a não gerar dependências entre transações em execução e transações aguardando processamento. O protocolo de bloqueio, ao impor as regras de bloqueio em duas fases, também impõe a serialização.

Copyright © 2016 AIEC.