close

HAPPO

Siirry navigointiin Siirry hakuun

Tietokantojen yhteydessä ACID tulee englanninkielisestä lyhenteestä Atomicity , Consistency , Isolation ja Durability ( A tomicity, Consistency , I solamento ja D urability ) ja osoittaa loogiset ominaisuudet, jotka tapahtumilla on oltava .

Kuvaus

Jotta tapahtumat toimivat oikein tiedoilla, ne toteuttavien mekanismien on täytettävä seuraavat neljä ominaisuutta:

  • Atomic : prosessin on oltava jaettavissa äärelliseen määrään jakamattomia yksiköitä, joita kutsutaan transaktioksi . Tapahtuman suorittamisen on siksi oltava joko täydellinen tai tyhjä, ja osittaiset toteutukset eivät ole sallittuja; prosessi, jopa osittainen, toisaalta tapahtumajoukkona ei välttämättä ole alkeellinen.
  • Johdonmukainen : tietokanta noudattaa eheysrajoituksia sekä tapahtuman alussa että lopussa. DB:hen tallennettujen tietojen välillä ei saa olla ristiriitoja ( tietojen epäjohdonmukaisuutta );
  • Eristetty : jokainen tapahtuma on suoritettava erillään ja muista tapahtumista riippumattomasti, yhden tapahtuman mahdollinen epäonnistuminen ei saa häiritä muita käynnissä olevia tapahtumia;
  • Kestävä : kutsutaan myös pysyvyydeksi , se viittaa siihen, että kun tapahtuma on pyytänyt sitoutumista , tehdyt muutokset eivät saa koskaan kadota. Jotta vältetään tietojen häviäminen toimintahäiriöistä johtuen ajan kuluessa siitä hetkestä, jolloin tietokanta sitoutuu kirjoittamaan muutokset, ja hetken, jolloin se todella kirjoittaa ne, säilytetään lokitietueita, joissa kaikki toiminnot on merkitty tietokantaan.

DBMS - järjestelmissä tapahtumat käsitellään tapahtumakäsittelyllä . Kysely (eli kysely tietokantaan) ja muut toiminnot on ryhmitelty tapahtumaksi, joka on suoritettava atomaarisesti , erillään muista ja mahdollisesti sisältäen pysyvän tietokannan muutoksen. Tämän käyttäytymisen takaa

  • Concurrency Control Manager tai Private WorkSpace , joka takaa atomisuuden ja eristyneisyyden
  • Logging / Recovery Manager , joka varmistaa kestävyyden ja johdonmukaisuuden.

Eristys

Eristystasoja on neljä:

  1. lue sitoutumaton :
    • se sallii vain luku -tapahtumat ilman, että se estäisi tietojen lukemista
    • tapahtuma voi lukea likaisia ​​tietoja , koska se voi kadota, jos sen luonut tapahtuma keskeytyy
    Esimerkkejä:
    T1 päivittää rivin r1
    * T2 käyttää r1:tä
    * T1 päättyy palautukseen
    * T2 käytti tietoja, joita ei koskaan ollut olemassa
  2. lue sitoutunut:
    • määrätään tietojen välittömästä luovuttamisesta lukemiseen, mikä viivästyttää kirjoittamista
    • ei-toistettavissa olevia lukuja samassa tapahtumassa
  3. toistettavaa luettavaa:
    • sekä luku- että kirjoitustiedot estetään, mutta vain kyseessä olevan taulukon monissa
    • synnyttää aave-ilmiön (haamut)
  4. sarjoitettavissa:
    Se voisi taata koodin todellisen serialisoitavuuden estämällä pääsyn pelissä oleviin taulukoihin, mutta nämä ovat kuitenkin liian tehottomia ratkaisuja käytettäviksi kriittisissä sovelluksissa, todellisuudessa serialisoitu tila rajoittuu alimman eristystason tutkittujen ilmiöiden välttämiseen.

Concurrency Control Manager tai yksityinen työtila

Tapahtuma tekee muutoksia tietokantaresurssin kopioon. Jos se ei pääty onnistuneesti, kopio tuhotaan, muuten kopioon tehdyt muutokset tehdään pysyviksi commit-toiminnolla. Järjestelmä takaa siten sen atomisuuden . Tapahtumat on suoritettava erillään toisistaan, mutta usein monet tapahtumat suoritetaan samanaikaisesti samassa järjestelmässä. Samanaikaisuuden ohjauspäällikkö varmistaa, että eri tapahtumien yksittäiset toiminnot suoritetaan järjestyksessä, joka ei häiritse toisiaan ( eristys ). Concurrency Control Manager toteutetaan kahden primitiivisen ohjeen avulla:

  • lock , käsky, jolla todetaan, että tietty tapahtuma on estänyt resurssin;
  • unlock , ohje, jolla todetaan, että resurssi on vapautettu tietyllä tapahtumalla.

Lukitussarja tallennetaan lukitustaulukkoon (tietokantajärjestelmän erityinen osa). Samanaikaisuuden ohjauspäällikön tehtävänä on myös ratkaista lukkojen aiheuttamat umpikujat keskeyttämällä yksi tai useampi tapahtuma. Lukittymisen estämiseksi ja tapahtumien hallinnan parantamiseksi otetaan käyttöön aikataulun käsite. Aikatauluttajan tehtävänä on taata eristäminen, hyväksyä tapahtuma ja antaa sille yksilöllinen tunniste, pyytää DBMS-puskurinhallintaa lukemaan/kirjoittamaan tietokantaan tietyn sekvenssin mukaisesti.

Logging / Recovery Manager

Tietokannan tietojen säilymisen varmistamiseksi myös kaatumistilanteessa (esim. resurssin transaktioiden käyttö pysähtyy), jokainen tietokannan muutos tallennetaan erikseen levylle. Lokinhallinta tallentaa nämä muutokset, jotta palautuksen hallintaohjelma voi palauttaa tietokannan yhtenäiseen tilaan milloin tahansa (kaatumisen jälkeen). Lokinhallinta kirjoittaa tietonsa puskurinhallinnan kautta, mutta ennen jatkamista se varmistaa, että ne on todella kirjoitettu levylle . Aikaleima liittää jokaisen tapahtuman ja jokaisen resurssin aikaleimaan, jolla sallitaan ja valvotaan tapahtumien pääsyä tietokantaresursseihin.

Bibliografia

  • ACID ( Atomicity , Consistency, Isolation ja Durability.) , julkaisussa Dictionary of E-Business , Hoboken, Wiley, 2003.
  • ( FI ) ACID (Atomicity, Consistency, Isolation ja Durability) , julkaisussa Dictionary of Multimedia and Internet Applications: A Guide for Developers and Users , Hoboken, Wiley, 1999.

Muut projektit