Verschil tussen Uitgestelde Update en Onmiddellijke Update

Anonim

Uitgestelde Update tegen Onmiddelijke Update

Uitgestelde Update en Onmiddellijke Update zijn twee technieken die worden gebruikt om transactie logbestanden van Database Management Systems te behouden (DBMS). Transactie-logboek (ook wel het journaallogboek of het hermeldingslogboek genoemd) is een fysiek bestand dat de Transaction ID, de tijdstempel van de transactie, de oude waarde en de nieuwe waarden van de gegevens opslaat. Dit stelt de DBMS in staat om de gegevens voor en na elke transactie bij te houden. Wanneer de transacties zijn toegewijd en de database wordt teruggezet in een consistente staat, kan het logboek worden afgekapt om de geplande transacties te verwijderen.

Uitgestelde update

Uitgestelde update, ook wel NO-UNDO / REDO genoemd, is een techniek die wordt gebruikt om transactiefouten te herstellen / te ondersteunen die optreden als gevolg van storingen van het besturingssysteem, stroom, geheugen of machine. Wanneer een transactie loopt, worden de updates of wijzigingen die door de transactie aan de database zijn aangebracht niet onmiddellijk gedaan. Ze worden opgenomen in het logbestand. Gegevenswijzigingen die in het logbestand zijn opgenomen, worden toegepast op de database op commit. Dit proces heet 'Re-doing'. Bij rollback worden eventuele wijzigingen in de gegevens die in het logbestand zijn opgenomen, weggegooid; daarom worden er geen wijzigingen aangebracht op de database. Als een transactie mislukt en het niet is toegezegd 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 zijn gepleegd voordat ze worden gecrasht, worden de veranderingen die in het logbestand zijn opgenomen, na het systeem opnieuw gestart op de database.

Onmiddellijke update

Onmiddelijke update ook wel UNDO / REDO genoemd, is ook een andere techniek die wordt gebruikt om transactiefouten te herstellen / te ondersteunen die optreden als gevolg van storingen in het besturingssysteem, stroom, geheugen of machine. Wanneer een transactie loopt, worden de updates of wijzigingen die door de transactie worden gemaakt direct in de database geschreven. Zowel de oorspronkelijke waarden als de nieuwe waarden worden ook opgenomen in het logbestand voordat wijzigingen aan de database worden aangebracht. Op commit worden alle veranderingen die in de database zijn gemaakt permanent gemaakt en worden de records in het logbestand weggegooid. Bij rollback worden oude waarden teruggezet in de database met behulp van de oude waarden opgeslagen in het logbestand. Alle wijzigingen die door transacties naar de database worden gemaakt, worden weggegooid en dit proces heet "Un-doing". Wanneer het systeem na een crash opnieuw opstart, worden alle database-wijzigingen permanent gemaakt voor toegewijde transacties. Voor onbetaalde transacties worden originele 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 systeemfout, dan is het proces dat elke methode gebruikt verschillend is.In de gewijzigde update methode worden eventuele wijzigingen die door een transactie aan de gegevens zijn gemaakt, eerst geregistreerd in een logbestand en toegepast op de database op commit. In de onmiddellijke update methode worden de wijzigingen die door een transactie worden gemaakt direct toegepast op de database en oude waarden en nieuwe waarden worden opgenomen in het logbestand. Deze records worden gebruikt om oude waarden op terugrol te herstellen. In de gewijzigde update methode worden records in het logbestand weggegooid en worden ze nooit toegepast op de database. Een nadeel van de uitgestelde update-methode is de verhoogde tijd die nodig is om te herstellen bij een systeemfout. Aan de andere kant, frequente I / O-operaties terwijl de transactie actief is, is een nadeel in de onmiddellijke update methode.