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

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

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

Video: Ero viivästetyn ja välittömän päivityksen välillä
Video: Eino ja Aapeli - Mä Voisin Olla Se 2024, Heinäkuu
Anonim

Viivästetty päivitys vs välitön päivitys

Viivästetty päivitys ja välitön päivitys ovat kaksi tekniikkaa, joita käytetään tietokannan hallintajärjestelmien (DBMS) tapahtumalokitiedostojen ylläpitoon. Tapahtumaloki (kutsutaan myös päiväkirjaksi tai redo logiksi) on fyysinen tiedosto, joka tallentaa tapahtumatunnuksen, tapahtuman aikaleiman, datan vanhan arvon ja uudet arvot. Näin DBMS voi seurata tietoja ennen ja jälkeen jokaista tapahtumaa. Kun tapahtumat on sitoutunut ja tietokanta palautetaan yhdenmukaiseen tilaan, loki voidaan katkaista sitoutuneiden tapahtumien poistamiseksi.

Läkätty päivitys

Myöstetty päivitys, jota kutsutaan myös NO-UNDO/REDOksi, on tekniikka, jota käytetään käyttöjärjestelmän, virran, muistin tai koneen vioista johtuvien tapahtumavirheiden palauttamiseen/tukemiseen. Kun tapahtuma suoritetaan, tapahtuman tietokantaan tekemiä päivityksiä tai muutoksia ei tehdä välittömästi. Ne kirjataan lokitiedostoon. Lokitiedostoon tallennetut tietomuutokset otetaan käyttöön tietokantaan vahvistuksen yhteydessä. Tätä prosessia kutsutaan "uudelleen tekemiseksi". Palautuksen yhteydessä kaikki lokitiedostoon tallennettujen tietojen muutokset hylätään. siksi tietokantaan ei tehdä muutoksia. Jos tapahtuma epäonnistuu eikä sitä ole sitoutunut jostain edellä mainitusta syystä, lokitiedoston tietueet hylätään ja tapahtuma aloitetaan uudelleen. Jos tapahtuman muutokset tehdään ennen kaatumista, lokitiedostoon tallennetut muutokset otetaan käyttöön tietokantaan järjestelmän uudelleenkäynnistyksen jälkeen.

Välitön päivitys

Välitön päivitys, jota kutsutaan myös nimellä UNDO/REDO, on myös toinen tekniikka, jota käytetään käyttöjärjestelmän, virran, muistin tai koneen vioista johtuvien tapahtumavirheiden palauttamiseen/tukemiseen. Kun tapahtuma suoritetaan, kaikki tapahtuman tekemät päivitykset tai muutokset kirjoitetaan suoraan tietokantaan. Sekä alkuperäiset arvot että uudet arvot tallennetaan myös lokitiedostoon ennen kuin tietokantaan tehdään muutoksia. Toimituksen yhteydessä kaikki tietokantaan tehdyt muutokset tehdään pysyviksi ja lokitiedoston tietueet hylätään. Palautuksessa vanhat arvot palautetaan tietokantaan käyttämällä lokitiedostoon tallennettuja vanhoja arvoja. Kaikki tapahtumien tietokantaan tekemät muutokset hylätään ja tätä prosessia kutsutaan "peruuttamiseksi". Kun järjestelmä käynnistyy uudelleen kaatumisen jälkeen, kaikki tietokannan muutokset tehdään pysyviksi sitoutuneille tapahtumille. Sitoutumattomille tapahtumille alkuperäiset arvot palautetaan käyttämällä lokitiedoston arvoja.

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

Vaikka viivästetty päivitys ja välitön päivitys ovat kaksi tapaa palautua järjestelmävian jälkeen, kunkin menetelmän käyttämä prosessi on erilainen. Eri päivitysmenetelmissä kaikki tapahtuman tietoihin tekemät muutokset kirjataan ensin lokitiedostoon ja otetaan käyttöön tietokantaan commit-vaiheessa. Välittömän päivityksen menetelmässä tapahtuman tekemät muutokset otetaan suoraan tietokantaan ja vanhat arvot ja uudet arvot tallennetaan lokitiedostoon. Näitä tietueita käytetään vanhojen arvojen palauttamiseen palautuksen yhteydessä. Eri päivitysmenetelmissä lokitiedoston tietueet hylätään palautuksen yhteydessä, eikä niitä koskaan sovelleta tietokantaan. Yksi viivästetyn päivitysmenetelmän haittapuoli on pidempi palautumisaika järjestelmävian sattuessa. Toisa alta toistuva I/O-toiminto tapahtuman ollessa aktiivinen on haitta välittömässä päivitysmenetelmässä.

Suositeltava: