Verschil tussen Uitgestelde Update en Onmiddellijke Update

Uitgestelde Update versus Onmiddellijke Update

Uitgestelde update en Onmiddellijke update zijn twee technieken die worden gebruikt om transactielogboekbestanden van databasebeheersystemen (DBMS) bij te houden. Transactielogboek (ook wel het journaallogboek of het opnieuw-logboek genoemd) is een fysiek bestand waarin de transactie-ID, het tijdstempel van de transactie, de oude waarde en de nieuwe waarden van de gegevens zijn opgeslagen. Hierdoor kan de DBMS de gegevens voor en na elke transactie bijhouden. Wanneer de transacties worden vastgelegd en de database wordt teruggezet naar een consistente status, kan het logboek worden afgebroken om de vastgelegde transacties te verwijderen.

Uitgestelde update

Uitgestelde update ook wel NO-UNDO / REDO is een techniek die wordt gebruikt voor het herstellen / ondersteunen van mislukte transacties die optreden als gevolg van het besturingssysteem, de stroom, het geheugen of machinefouten. Wanneer een transactie wordt uitgevoerd, worden updates of wijzigingen in de database door de transactie niet onmiddellijk uitgevoerd. Ze worden vastgelegd in het logbestand. Gegevensveranderingen die zijn vastgelegd in het logbestand worden toegepast op de database op commit. Dit proces wordt "Opnieuw doen" genoemd. Bij terugdraaien worden wijzigingen in gegevens die zijn vastgelegd in het logboekbestand, genegeerd; daarom worden er geen wijzigingen toegepast op de database. Als een transactie mislukt en deze niet is vastgelegd vanwege een van de bovengenoemde redenen, worden de records in het logbestand verwijderd en wordt de transactie opnieuw gestart. Als de wijzigingen in een transactie worden vastgelegd voordat deze vastlopen, worden wijzigingen die zijn vastgelegd in het logbestand, na het opnieuw opstarten van het systeem toegepast op de database.

Onmiddellijke update

Onmiddellijke update ook wel UNDO / REDO genoemd, is ook een andere techniek die wordt gebruikt voor het herstellen / ondersteunen van transactiefouten die optreden als gevolg van het besturingssysteem, de stroom, het geheugen of machinefouten. Wanneer een transactie wordt uitgevoerd, worden alle updates of wijzigingen die door de transactie zijn aangebracht direct in de database geschreven. Zowel de oorspronkelijke waarden als de nieuwe waarden worden ook vastgelegd in het logbestand voordat wijzigingen in de database worden aangebracht. Bij commit worden alle wijzigingen aan de database permanent gemaakt en worden de records in het logbestand verwijderd. Bij terugzetten worden oude waarden teruggezet in de database met behulp van de oude waarden die zijn opgeslagen in het logbestand. Alle wijzigingen die door transacties in de database worden aangebracht, worden genegeerd en dit proces wordt "Niet uitvoeren" genoemd. Wanneer het systeem opnieuw opstart na een crash, worden alle wijzigingen in de database permanent gemaakt voor gecommitteerde transacties. Voor niet-vastgelegde transacties worden oorspronkelijke waarden hersteld met behulp van de waarden in het logbestand.

Wat is het verschil tussen Uitgestelde Update en Onmiddellijke Update

Hoewel Uitgestelde update en Onmiddellijke update twee methoden zijn om te herstellen na een systeemstoring, is het proces dat door elke methode wordt gebruikt, anders. In de gewijzigde updatemethode worden wijzigingen die door een transactie in de gegevens zijn aangebracht eerst in een logbestand vastgelegd en op commit toegepast op de database. Bij de directe updatemethode worden wijzigingen die door een transactie worden aangebracht rechtstreeks toegepast op de database en worden oude waarden en nieuwe waarden vastgelegd in het logbestand. Deze records worden gebruikt om oude waarden bij terugdraaien te herstellen. In de gewijzigde updatemethode worden records in het logbestand bij het terugdraaien afgedankt en nooit toegepast op de database. Een nadeel van de uitgestelde updatemethode is de verhoogde tijd die nodig is om te herstellen in het geval van een systeemstoring. Aan de andere kant, frequente I / O-bewerkingen terwijl de transactie actief is, is een nadeel in de directe updatemethode.