Ero viivästetyn päivityksen ja välittömän päivityksen välillä

Päivitetty päivitys vs. välitön päivitys

Viivästetty päivitys ja välitön päivitys ovat kahta tekniikkaa, joita käytetään tietokannan hallintajärjestelmien (DBMS) tapahtumalokitiedostojen ylläpitämiseen. Tapahtumaloki (kutsutaan myös päiväkirjalokeksi tai uudelleenrekisteröintilokeksi) on fyysinen tiedosto, joka tallentaa Transaction ID: n, tapahtuman aikaleiman, vanhan arvon ja uudet tietojen arvot. Tämän avulla DBMS-järjestelmä voi seurata tietoja ennen jokaista tapahtumaa ja sen jälkeen. Kun tapahtumat on sitoutunut ja tietokanta palautetaan tasaiseen tilaan, loki saatetaan katkaista, jotta tehdyt tapahtumat poistetaan.

Viivästetty päivitys

Viivästetty päivitys, jota kutsutaan myös NO-UNDO / REDO, on tekniikka, jota käytetään palauttamaan / tukemaan tapahtumavirheitä, jotka johtuvat käyttöjärjestelmän, virran, muistin tai konevirheistä. Tapahtuman suoritettua mitään tapahtumasta tietokantaan tekemiä päivityksiä tai muutoksia ei tehdä välittömästi. Ne tallennetaan lokitiedostoon. Lokitiedostoon tallennetut tietomuutokset otetaan käyttöön tietokantaan sitoutumisessa. Tätä prosessia kutsutaan ”uudelleen tekemiseksi”. Palautuksen yhteydessä kaikki lokitiedostoon tallennettujen tietojen muutokset hylätään. joten tietokantaan ei tehdä muutoksia. Jos tapahtuma epäonnistuu ja sitä ei sitoudu jonkin edellä mainitun syyn takia, lokitiedoston tietueet hylätään ja tapahtuma aloitetaan uudelleen. Jos tapahtuman muutokset tehdään ennen kaatumista, järjestelmän uudelleenkäynnistyksen jälkeen lokitiedostoon tallennetut muutokset otetaan käyttöön tietokantaan.

Välitön päivitys

Välitön päivitys, jota kutsutaan myös UNDO / REDO, on myös toinen tekniikka, jota käytetään käyttöjärjestelmän, virran, muistin tai konevikojen aiheuttamien tapahtumien virheiden palauttamiseen / tukemiseen. Tapahtuman suoritettua kaikki tapahtuman tekemät päivitykset tai muutokset kirjoitetaan suoraan tietokantaan. Sekä alkuperäiset arvot että uudet arvot tallennetaan myös lokitiedostoon ennen muutoksia tietokantaan. Sitoutuessa kaikki tietokantaan tehdyt muutokset tehdään pysyviksi ja lokitiedoston tietueet hylätään. Palautuksen yhteydessä vanhat arvot palautetaan tietokantaan lokitiedostoon tallennettujen vanhojen arvojen avulla. Kaikki tietokannan tapahtumien tekemät muutokset hylätään, ja tätä prosessia kutsutaan ”tekemättä”. Kun järjestelmä käynnistyy uudelleen kaatumisen jälkeen, kaikki tietokannan muutokset tehdään pysyviksi sitoutuneille tapahtumille. Sitoutumattomien tapahtumien alkuperäiset arvot palautetaan lokitiedoston arvojen avulla.

Mitä eroa viivästetyllä päivityksellä ja välittömällä päivityksellä on?

Vaikka viivästetty päivitys ja välitön päivitys ovat kaksi tapaa palauttaa järjestelmävirheen jälkeen, kunkin menetelmän käyttämä prosessi on erilainen. Erilaisessa päivitysmenetelmässä kaikki tapahtumalla tapahtuneet dataan tehdyt muutokset kirjataan ensin lokitiedostoon ja lisätään tietokantaan sitoumuksen yhteydessä. Välittömässä päivitysmenetelmässä tapahtuman tekemät muutokset kohdistetaan suoraan tietokantaan ja vanhat arvot ja uudet arvot kirjataan lokitiedostoon. Näitä tietueita käytetään palauttamaan vanhat arvot palautuksen yhteydessä. Erilaisessa päivitysmenetelmässä lokitiedoston tietueet hylätään palautettaessa, eikä niitä koskaan sovelleta tietokantaan. Yksi lykkätyn päivitysmenetelmän haittapuoli on lisääntynyt palautumisaika järjestelmän vian sattuessa. Toisaalta, usein I / O-operaatiot, kun tapahtuma on aktiivinen, on haitta välittömässä päivitysmenetelmässä.