Skip to main content

ACID-malli tietokannan hallintajärjestelmille

3000+ Common English Words with Pronunciation (Kesäkuu 2026)

3000+ Common English Words with Pronunciation (Kesäkuu 2026)
Anonim

Tietokannan suunnittelu ACID-malli on yksi vanhimmista ja tärkeimmistä tietokantojen teoriasta. Siinä asetetaan neljä tavoitetta, jotka jokaisen tietokannan hallintajärjestelmän on pyrittävä saavuttamaan: atomisuus, johdonmukaisuus, eristyneisyys ja kestävyys. Relaatiotietokanta, joka ei täytä jotain näistä neljästä tavoitteesta, ei voida pitää luotettavana. Tietokanta, jolla on nämä ominaisuudet, pidetään ACID-yhteensopivana.

ACID määritelty

Otetaan hetki tarkastella näitä ominaisuuksia yksityiskohtaisesti:

  • atomisuuden että tietokannan muutoksilla on noudatettava "kaikkia tai ei mitään" -sääntöä. Jokainen liiketoimi sanotaan olevan "atomi". Jos jokin liiketoimen osa epäonnistuu, koko tapahtuma epäonnistuu. On kriittistä, että tietokannanhallintajärjestelmä ylläpitää liiketoimien ydinvoimaa kaikesta DBMS: stä, käyttöjärjestelmästä tai laitteistovirheestä huolimatta.
  • johdonmukaisuus toteaa, että tietokantaan kirjoitetaan vain kelvollisia tietoja. Jos jostain syystä toteutetaan tapahtuma, joka rikkoo tietokannan johdonmukaisuutta koskevia sääntöjä, koko tapahtuma käännetään takaisin ja tietokanta palautetaan tilaan, joka on näiden sääntöjen mukainen. Toisaalta, jos tapahtuma onnistuu, se vie tietokannan yhdestä valtiosta, joka on sääntöjen mukainen toiselle valtiolle, joka on myös sääntöjen mukainen.
  • Eristäminen vaatii, että samanaikaisesti esiintyvät useat liiketoimet eivät vaikuta toistensa toteuttamiseen. Jos esimerkiksi Joe laskee tapahtumaa tietokantaa vastaan ​​samaan aikaan, kun Mary antaa toisen tapahtuman, molempien tapahtumien pitäisi toimia tietokannassa eristyksissä. Tietokannan pitäisi joko suorittaa Joein koko tapahtuma ennen Mariaan suorittamista tai päinvastoin. Tämä estää Joe'n transaktiota lukemasta välituotteita, jotka on tuotettu osana Maryn tapahtumaa sivuvaikutuksena, joka ei lopulta ole sitoutunut tietokantaan. Huomaa, että eristysominaisuus ei takaa, mikä liiketoimi suoritetaan ensin - vain, että liiketoimet eivät häiritse toisiaan
  • Kestävyys varmistaa, että tietokantaan sitoutuneita tapahtumia ei menetetä. Kestävyys varmistetaan käyttämällä tietokannan varmuuskopioita ja tapahtumalokia, jotka helpottavat sitoutuneiden tapahtumien palauttamista huolimatta mahdollisista myöhemmistä ohjelmisto- tai laitteistovirheistä.

Miten ACID toimii käytännössä

Tietokannan ylläpitäjät käyttävät useita strategioita ACID: n noudattamiseksi.

Yksi käytettiin ydinvoiman ja kestävyyden toteuttamiseen kirjoittaa eteenpäin kirjautumista (WAL), jossa jokin tapahtumatieto kirjoitetaan ensin lokiin, joka sisältää sekä uudelleen- että kumoamistiedot. Näin varmistetaan, että tietokanta voi tarkistaa lokin ja verrata sen sisältöä tietokannan tilaan, kun tietokanta epäonnistuu.

Toinen menetelmä, jota käytetään käsittelemään atomia ja kestävyyttä, on varjo-henkilöhaku, jossa varjosivu luodaan, kun dataa on muutettava. Kyselyn päivitykset kirjoitetaan varjosivulle eikä tietokannan todellisiin tietoihin. Tietokanta itse muuttuu vain, kun muokkaus on valmis.

Toista strategiaa kutsutaan nimellä kaksivaiheinen sitoutuminen protokolla, joka on erityisen hyödyllinen hajautetuissa tietokantajärjestelmissä. Tämä protokolla erottaa pyynnön muokata dataa kahteen vaiheeseen: sitoutumispyyntövaihe ja sitoutumisvaihe. Pyyntövaiheessa verkon kaikki DBMS: t, joihin tapahtuma vaikuttaa, on vahvistettava, että ne ovat saaneet sen ja että ne pystyvät suorittamaan tapahtuman. Kun kaikki asiaankuuluvat DBMS-tietokannat vastaanotetaan, lähetysvaihe täydentää, missä tietoja todella muutetaan.