Tapahtumat ovat perustoimintoja, joiden avulla voimme muokata ja hakea tietoja. Tietokannan eheyden varmistamiseksi on kuitenkin tärkeää, että nämä tapahtumat suoritetaan tavalla, joka säilyttää johdonmukaisuuden oikeellisuuden ja luotettavuuden myös vikojen/virheiden sattuessa. Tässä kohtaa ACID-ominaisuudet tulevat esiin.
ACID on lyhenne sanoista Atomicity Consistency Isolation and Durability.
HAPPON ominaisuudet:
ACID:llä on neljä ominaisuutta
1. Atomisuus
Atomuus tarkoittaa, että tapahtuma on kaikki tai ei mitään, joko kaikki sen toiminnot onnistuvat tai niitä ei käytetä. Jos jokin osa epäonnistuu, koko tapahtuma peruutetaan, jotta tietokanta pysyy yhtenäisenä.
- Sitoudu : Jos tapahtuma onnistuu, muutokset otetaan käyttöön pysyvästi.
- Keskeytä/palautus : Jos tapahtuma epäonnistuu, tapahtuman aikana tehdyt muutokset hylätään.
Esimerkki : Harkitse seuraavaa tapahtumaa T koostuu T1 ja T2 : 0 siirto tililtä X tilille JA .
AtomuusJos tapahtuma epäonnistuu T1:n valmistumisen jälkeen, mutta ennen T2:n valmistumista, tietokanta jätetään epäjohdonmukaiseen tilaan. Jos jokin tapahtuman osa epäonnistuu Atomicityllä, koko prosessi palautetaan alkuperäiseen tilaan eikä osittaisia muutoksia tehdä.
Tapahtumien johdonmukaisuus tarkoittaa, että tietokannan on pysyttävä voimassa olevassa tilassa ennen tapahtumaa ja sen jälkeen.
25/100
- Kelvollinen tila noudattaa kaikkia määriteltyjä sääntöjen rajoituksia ja suhteita (kuten ensisijaisten avainten vierasavaimia jne.).
- Jos tapahtuma rikkoo jotakin näistä säännöistä, se peruutetaan korruptoituneiden tai virheellisten tietojen estämiseksi.
- Jos tapahtuma vähentää rahaa yhdeltä tililtä, mutta ei lisää sitä toiselle (siirrossa), se rikkoo johdonmukaisuutta.
Esimerkki : Oletetaan, että pankkijärjestelmän kaikkien saldojen summan tulisi aina olla vakio. Ennen siirtoa kokonaissaldo on 0. Tapahtuman jälkeen kokonaissaldon tulee olla 0. Jos tapahtuma epäonnistuu kesken (kuten yhden tilin päivittäminen, mutta ei toista), järjestelmän tulee säilyttää johdonmukaisuus peruuttamalla tapahtuma.
Yhteensä ennen kuin T tapahtuu = 500 + 200 = 700 .
Yhteensä T:n esiintymisen jälkeen = 400 + 300 = 700 .
Johdonmukaisuus3. Eristäminen
Eristäminen varmistaa, että tapahtumat toimivat itsenäisesti vaikuttamatta toisiinsa. Yhden tapahtuman tekemät muutokset eivät näy muille ennen kuin ne on vahvistettu.
Se varmistaa, että samanaikaisten tapahtumien tulos on sama kuin jos ne suoritettaisiin peräkkäin, mikä estää esimerkiksi seuraavat ongelmat:
- Likaista lukee: sitomattomien tietojen lukeminen
- Ei-toistettavia luentoja: tiedot muuttuvat kahden lukemisen välillä
- Phantom lukee: uusia rivejä tulee näkyviin tapahtuman aikana
Esimerkki : Tarkastellaan kahta tapahtumaa T ja T''.
- X = 500 Y = 500
EristäytyminenSelitys:
1. Tapahtuma T:
- T haluaa siirtyä X:stä Y:hen.
- T lukee JA (arvo: 500) vähentää X:stä (uusi X = 450) ja lisää Y:ään (uusi Y = 550).
2. Tapahtuma T'':
- T' ' alkaa ja lukee X (500) ja Y (500).
- Se laskee summan: 500 + 500 = 1000.
- Sillä välin X:n ja Y:n arvot muuttuvat 450:ksi ja 550:ksi.
- Joten oikean summan pitäisi olla 450 + 550 = 1000.
- Eristäminen varmistaa, että T'' ei lue vanhentuneita arvoja toisen tapahtuman (T) ollessa vielä käynnissä.
- Tapahtumien tulee olla riippumattomia ja T'':n tulee päästä käsiksi lopullisiin arvoihin vasta, kun T on sitoutunut.
- Näin vältetään epäjohdonmukaiset tulokset, kuten T'':lla laskettu virheellinen summa.
4. Kestävyys:
Kestävyys varmistaa, että kun tapahtuma on tehty, sen muutokset tallennetaan pysyvästi, vaikka järjestelmä epäonnistuu. Tiedot tallennetaan haihtumattomaan muistiin, jotta tietokanta voi palautua viimeiseen sitoutuneeseen tilaan menettämättä tietoja.
Esimerkki : Kun rahat on siirretty tililtä A tilille B, muutokset tallennetaan levylle. Vaikka kaatuisi välittömästi sitoutumisen jälkeen, siirtotiedot pysyvät ennallaan, kun järjestelmä palautuu, mikä varmistaa kestävyyden.
Miten ACID-ominaisuudet vaikuttavat DBMS:n suunnitteluun ja toimintaan
The ACID-ominaisuudet kokonaisuudessaan tarjoavat mekanismin, jolla varmistetaan tietokannan oikeellisuus ja johdonmukaisuus siten, että jokainen tapahtuma on ryhmä operaatioita, joka toimii yhtenä yksikkönä tuottaa johdonmukaisia tuloksia, toimii erillään muista toiminnoista ja tekemänsä päivitykset tallennetaan kestävästi.
ACID-ominaisuudet turvaavat DBMS:n tietojen eheyden varmistamalla, että tapahtumat joko päättyvät onnistuneesti tai eivät jätä jälkiä, jos ne keskeytyvät. Ne estävät osittaisia päivityksiä vahingoittamasta tietoja ja varmistavat, että tietokanta siirtyy vain kelvollisten tilojen välillä.
2. Samanaikaisuuden valvonta
ACID-ominaisuudet tarjoavat vankan kehyksen samanaikaisten tapahtumien hallintaan. Eristäminen varmistaa, että tapahtumat eivät häiritse toisiaan, mikä estää tietojen poikkeavuuksia, kuten kadonneiden päivitysten väliaikaisen epäjohdonmukaisuuden ja sitomattomien tietojen.
3. Palautus ja vikasietoisuus
Kestävyys varmistaa, että vaikka järjestelmä kaatuu, tietokanta voi palautua johdonmukaiseen tilaan. Atomicity- ja Durability-ominaisuuksien ansiosta tietokanta pysyy johdonmukaisessa tilassa, jos tapahtuma epäonnistuu puolivälissä.
java-suunnittelukuvio
| Omaisuus | |
|---|---|
| Atomuus | Tapahtuman johtaja |
| Johdonmukaisuus | Sovellusohjelmoija |
| Eristäytyminen | Concurrency Control Manager |
| Kestävyys | Toipuminen |
ACID:n kriittiset käyttötapaukset tietokantoissa
Nykyaikaisissa sovelluksissa tiedon luotettavuuden ja johdonmukaisuuden varmistaminen on ratkaisevan tärkeää. ACID-ominaisuudet ovat tärkeitä seuraavilla aloilla:
- Pankkitoiminta : Maksutapahtumien, joihin liittyy rahansiirtoja, talletuksia tai nostoja, on säilytettävä tiukka johdonmukaisuus ja kestävyys virheiden ja petosten estämiseksi.
- Sähköinen kaupankäynti : ACID-yhteensopivuuden varmistaminen, että varastot laskevat tilauksia ja asiakastietoja käsitellään oikein ja johdonmukaisesti myös suuren liikenteen aikana.
- Terveydenhuolto : Potilasasiakirjojen testitulosten ja lääkemääräysten on noudatettava tiukkoja yhtenäisyys- ja turvallisuusstandardeja.