Atualização adiada x atualização imediata
Atualização adiada e Atualização imediata são duas técnicas usadas para manter os arquivos de log de transações dos sistemas de gerenciamento de banco de dados (DBMS). O log de transações (também conhecido como log de diário ou redo log) é um arquivo físico que armazena o ID da transação, o registro de data e hora da transação, o valor antigo e os novos valores dos dados. Isso permite que o DBMS acompanhe os dados antes e depois de cada transação. Quando as transações são confirmadas e o banco de dados retorna a um estado consistente, o log pode ser truncado para remover as transações confirmadas.
Atualização adiada
A atualização adiada também chamada NO-UNDO / REDO é uma técnica usada para recuperar / suportar falhas de transação que ocorrem devido a falhas no sistema operacional, energia, memória ou máquina. Quando uma transação é executada, quaisquer atualizações ou alterações feitas no banco de dados pela transação não são feitas imediatamente. Eles são gravados no arquivo de log. As alterações de dados registradas no arquivo de log são aplicadas ao banco de dados na confirmação. Esse processo é chamado de "Re-doing". Na reversão, quaisquer alterações nos dados gravados no arquivo de log são descartadas; portanto, nenhuma alteração será aplicada ao banco de dados. Se uma transação falhar e não for confirmada devido a qualquer um dos motivos mencionados acima, os registros no arquivo de log serão descartados e a transação será reiniciada. Se as alterações em uma transação forem confirmadas antes da falha, depois que o sistema reiniciar, as alterações registradas no arquivo de log serão aplicadas ao banco de dados.
Atualização Imediata
A atualização imediata, também denominada UNDO / REDO, também é outra técnica usada para recuperar / suportar falhas de transação que ocorrem devido a falhas no sistema operacional, energia, memória ou máquina. Quando uma transação é executada, qualquer uma das atualizações ou alterações feitas pela transação é gravada diretamente no banco de dados. Os valores originais e os novos valores também são registrados no arquivo de log antes que as alterações sejam feitas no banco de dados. Na confirmação, todas as alterações feitas no banco de dados são permanentes e os registros no arquivo de log são descartados. Na reversão, os valores antigos são restaurados no banco de dados usando os valores antigos armazenados no arquivo de log. Todas as alterações feitas pelas transações no banco de dados são descartadas e esse processo é chamado de "Não fazer". Quando o sistema reinicia após uma falha, todas as alterações no banco de dados são permanentes para transações confirmadas. Para transações não confirmadas, os valores originais são restaurados usando os valores no arquivo de log.
Qual é a diferença entre Atualização Adiada e Atualização Imediata
Embora a atualização adiada e a atualização imediata sejam dois métodos de recuperação após uma falha do sistema, o processo usado por cada método é diferente. No método de atualização diferente, todas as alterações feitas nos dados por uma transação são primeiro registradas em um arquivo de log e aplicadas ao banco de dados na confirmação. No método de atualização imediata, as alterações feitas por uma transação são aplicadas diretamente ao banco de dados e os valores antigos e novos são registrados no arquivo de log. Esses registros são usados para restaurar valores antigos na reversão. No método de atualização diferente, os registros no arquivo de log são descartados na reversão e nunca são aplicados ao banco de dados. Uma desvantagem do método de atualização adiada é o aumento do tempo necessário para recuperar em caso de falha do sistema. Por outro lado, operações frequentes de E / S enquanto a transação está ativa são uma desvantagem no método de atualização imediata.