close

HAPPO

Siirry navigointiin Siirry hakuun

Tietokannassa ACID viittaa parametrien ominaisuuksiin, joiden avulla tietokannan hallintajärjestelmien tapahtumat voidaan luokitella . Kun toiminnon sanotaan olevan ACID-yhteensopiva , se osoittaa - vaihtelevassa määrin - että se sallii tapahtumien suorittamisen.

Tarkemmin sanottuna ACID on englanninkielinen lyhenne sanoista Atomicity , Consistency, Isolation and Durability : Atomicidad , Consistency , Isolation and Durability , espanjaksi.

Määritelmät

  • Atomicity : Jos operaatio koostuu sarjasta vaiheita, joista joko kaikki tai ei mitään, eli tapahtumat ovat valmiit.
  • Johdonmukaisuus : ( Eheys ). Se on omaisuus, joka varmistaa, että vain se, mikä voidaan saada valmiiksi, alkaa. Siksi ne toiminnot, jotka eivät rikotietokannan eheyden sääntöjä ja ohjeita, suoritetaan. Johdonmukaisuusominaisuus pitää sisällään, että mikä tahansa tapahtuma siirtää tietokannan kelvollisesta tilasta toiseen kelvolliseen tilaan. "Tietokannan eheyden avulla voimme varmistaa, että tiedot ovat tarkkoja ja johdonmukaisia, eli että ne ovat aina ehjiä, aina odotetulla tavalla ja että ne eivät muutu tai vääristy millään tavalla. Näin voimme taata, että tiedot ovat Käyttäjälle esitettävät tiedot ovat aina samat."
  • Eristäminen : Tämä ominaisuus varmistaa, että yksi toiminto ei voi vaikuttaa muihin. Tämä varmistaa, että kahden tapahtuman suorittaminen samoilla tiedoilla on riippumatonta eikä aiheuta minkäänlaista virhettä. Tämä ominaisuus määrittää, kuinka ja milloin yhden operaation tuottamat muutokset näkyvät muille samanaikaisille toiminnoille. Eristäminen voidaan saavuttaa eri tasoilla, mikä on olennainen parametri DBMS -järjestelmiä valittaessa.
  • Kestävyys : ( Kestävyys ). Tämä ominaisuus varmistaa, että kun toiminto on suoritettu, se jatkuu eikä sitä voida peruuttaa, vaikka järjestelmä epäonnistuu, ja siten tiedot säilyvät jollakin tavalla.

Tietokannan hallintajärjestelmää voidaan pitää ACID -yhteensopivana, koska se täyttää nämä neljä vaatimusta .

Toteutus

ACID-ominaisuuksien käyttöönotto ei ole niin yksinkertaista. Tapahtuman käsittely vaatii usein useita pieniä muutoksia, mukaan lukien järjestelmässä käytettävien indeksien päivittäminen hakujen nopeuttamiseksi. Tämä toimintosarja voi epäonnistua useista syistä; Esimerkiksi järjestelmässä ei ehkä ole yhtään vapaata sivustoa sen levyasemissa tai se on saattanut ylittää sille varatun suoritinajan .

ACID ehdottaa, että tietokanta pystyy suorittamaan kaikki nämä toiminnot välittömästi. Itse asiassa tämä on vaikea saavuttaa. Suosittuja tekniikoita on kahdenlaisia: lokiin kirjoittaminen ennen jatkamista ja varjohaku. Molemmissa tapauksissa lukot tulee toteuttaa ennen tietojen päivitystä ja toteutetusta tekniikasta riippuen kaikki tiedot on luettu. Kun kirjoitat rekisteriin ennen jatkamista , atomisuus taataan varmistamalla, että kaikki tiedot kirjoitetaan rekisteriin ennen kuin ne kirjoitetaan tietokantaan. Tämä mahdollistaa tietokannan palautumisen aikaisempaan tilaan kaatumisen sattuessa. Varjossa päivitykset tehdään yhteen tietokannan kopioon , ja uusi kopio aktivoidaan, kun tapahtuma on luotettava. Kopio viittaa tietokannan vanhan version muuttumattomiin osiin sen sijaan, että se olisi kokonainen kaksoiskappale.

Tämä tarkoittaa, että lukitus on suoritettava milloin tahansa ennen tietojen käsittelyä tietokannassa, myös lukutoimintojen yhteydessä. Lukkojen suuren määrän säilyttäminen johtaa prosessien huomattavaan epäsuoraan lisääntymiseen sekä niiden samanaikaisuuden muuttumiseen. Jos käyttäjä A käsittelee tapahtumaa, joka on lukenut datarivin , jota käyttäjä B haluaa muokata esimerkiksi, käyttäjän B on odotettava, kunnes toinen käyttäjä lopettaa.

Vaihtoehto kiinnittämiselle on säilyttää erilliset kopiot muuttuvista tiedoista. Näin käyttäjät voivat lukea tietoja hankkimatta mitään lukkoja. Käytettäessä jälleen edellistä esimerkkiä, kun käyttäjätapahtuma saa tiedot, joita käyttäjä B on muokannut, tietokanta voi hakea tiedoista tarkan version, jotta käyttäjä A aloittaa tapahtumansa. Tämä varmistaa, että käyttäjä A saa jatkuvan näkymän tietokannasta, vaikka muut käyttäjät muuttavat tietoja.

ACID-ominaisuuksia on vaikea taata verkkoympäristössä. Verkkoyhteydet voivat epäonnistua tai kaksi käyttäjää voi käyttää samaa tietokannan osaa samanaikaisesti.

Viitteet

ACID-konsepti on kuvattu standardin ISO/IEC 10026-1:1992 kohdassa 4.