Tapahtumanhallinta DBMS:ssä: Mitä ovat ACID-ominaisuudet?
Mikä on tietokantatapahtuma?
A Tietokantatapahtuma on looginen käsittelyyksikkö DBMS:ssä, joka sisältää yhden tai useamman tietokannan käyttöoperaation. Lyhyesti sanottuna tietokantatapahtumat edustavat minkä tahansa yrityksen todellisia tapahtumia.
Kaiken tyyppisiä tietokannan käyttötoimintoja, joita pidetään tapahtuman alkamis- ja loppulausekkeiden välissä, pidetään yhtenä loogisena tapahtumana DBMS:ssä. Tapahtuman aikana tietokanta on epäjohdonmukainen. Vasta kun tietokanta on sitoutunut, tila muutetaan yhtenäisestä tilasta toiseen.

Faktaa tietokantatransaktioista
- Tapahtuma on ohjelmayksikkö, jonka suorittaminen voi muuttaa tietokannan sisältöä tai ei.
- DBMS:n tapahtumakonsepti suoritetaan yhtenä yksikkönä.
- Jos tietokantatoiminnot eivät päivitä tietokantaa, vaan vain hakevat tietoja, tämän tyyppistä tapahtumaa kutsutaan vain luku -tapahtumaksi.
- Onnistunut tapahtuma voi muuttaa tietokannan yhdestä KONSISTENTTITILASTA toiseen
- DBMS-tapahtumien on oltava atomeja, johdonmukaisia, eristettyjä ja kestäviä
- Jos tietokanta oli epäjohdonmukaisessa tilassa ennen tapahtumaa, se pysyisi epäjohdonmukaisessa tilassa tapahtuman jälkeen.
Miksi tarvitset samanaikaisuutta tapahtumissa?
Tietokanta on jaettu resurssi, jota käytetään. Sitä käyttävät monet käyttäjät ja prosessit samanaikaisesti. Esimerkiksi pankkijärjestelmä, rautatie- ja lentovarausjärjestelmät, osakemarkkinoiden seuranta, supermarkettien varastot ja kassat jne.
Samanaikaisen käytön hallinta voi aiheuttaa ongelmia, kuten:
- Laitteistovika ja järjestelmä kaatuu
- Saman tapahtuman suorittaminen samanaikaisesti, umpikujatai hidas suorituskyky
Liiketoimien tilat
DBMS:n tapahtumakonseptin eri tilat on lueteltu alla:
Osavaltio | Tapahtumatyypit |
---|---|
Aktiivinen tila | Tapahtuma siirtyy aktiiviseen tilaan, kun suoritusprosessi alkaa. Tämän tilan aikana voidaan suorittaa luku- tai kirjoitustoimintoja. |
Osittain sitoutunut | Tapahtuma siirtyy osittain sitoutuneeseen tilaan tapahtuman päätyttyä. |
Sitoutunut tila | Kun tapahtuma on sitoutunut tilaan, se on jo suorittanut suorituksensa onnistuneesti. Lisäksi kaikki sen muutokset tallennetaan tietokantaan pysyvästi. |
Epäonnistunut tila | Tapahtuma katsotaan epäonnistuneeksi, kun jokin tarkistuksista epäonnistuu tai jos tapahtuma keskeytetään sen ollessa aktiivisessa tilassa. |
Päätetty valtio | Tapahtuman tila saavuttaa lopetetun tilan, kun tiettyjä järjestelmästä lähteviä tapahtumia ei voida käynnistää uudelleen. |
Opiskellaan a tilasiirtymäkaavio joka korostaa, kuinka tapahtuma liikkuu näiden eri tilojen välillä.
- Kun tapahtuma ilmoittaa suorituksen, se muuttuu aktiiviseksi. Se voi suorittaa READ- tai WRITE-toiminnon.
- Kun READ- ja WRITE-toiminnot on suoritettu loppuun, tapahtumat muuttuvat osittain sitoutuneiksi.
- Seuraavaksi joidenkin palautusprotokollien on varmistettava, että järjestelmävika ei johda kyvyttömyyteen tallentaa tapahtuman muutoksia pysyvästi. Jos tämä tarkistus onnistuu, tapahtuma sitoutuu ja siirtyy sitoutuneeseen tilaan.
- Jos tarkistus epäonnistuu, tapahtuma siirtyy epäonnistunut-tilaan.
- Jos tapahtuma keskeytetään sen ollessa aktiivisessa tilassa, se siirtyy epäonnistuneeseen tilaan. Tapahtuma tulee peruuttaa, jotta sen kirjoitustoimintojen vaikutus tietokantaan voidaan kumota.
- Lopetettu tila viittaa tapahtumaan, joka lähtee järjestelmästä.
Mitä ovat ACID-ominaisuudet?
ACID-ominaisuudet käytetään tietokannan eheyden ylläpitämiseen tapahtuman käsittelyn aikana. ACID in DBMS tarkoittaa Amyrkyllisyys, Cpysyvyys, Ilohdutusta ja Dkäytettävyyttä.
- Atomicity: Tapahtuma on yksi toimintayksikkö. Joko suoritat sen kokonaan tai et suorita sitä ollenkaan. Osittaista toteutusta ei voi tehdä.
- Johdonmukaisuus: Kun tapahtuma on suoritettu, sen pitäisi siirtyä johdonmukaisesta tilasta toiseen.
- Eristäminen: Tapahtuma tulee suorittaa erillään muista tapahtumista (ei lukkoja). Samanaikaisen tapahtuman suorittamisen aikana samanaikaisesti suoritettujen tapahtumien välitapahtumatuloksia ei pitäisi asettaa toistensa saataville. (Taso 0,1,2,3)
- Kestävyys:· Kun tapahtuma on suoritettu onnistuneesti, tietokannan muutosten pitäisi säilyä. Jopa järjestelmävikojen tapauksessa.
ACID-ominaisuus DBMS:ssä esimerkin kanssa
Alla on esimerkki ACID-ominaisuudesta DBMS:ssä:
Transaction 1: Begin X=X+50, Y = Y-50 END Transaction 2: Begin X=1.1*X, Y=1.1*Y END
Tapahtuma 1 siirtää 50 dollaria tililtä X tilille Y.
Tapahtuma 2 hyvitetään jokaiselle tilille 10 %:n korkomaksu.
Jos molemmat tapahtumat lähetetään yhdessä, ei ole takeita siitä, että tapahtuma 1 suoritetaan ennen tapahtumaa 2 tai päinvastoin. Tilauksesta riippumatta tuloksen tulee olla sellainen, kuin tapahtumat tapahtuisivat sarjassa peräkkäin.
Tapahtumatyypit
Sovellusalueiden perusteella
- Ei jaettu vs. jaettu
- Korvaavat liiketoimet
- Tapahtumien ajoitus
- On-line vs. erä
Perustuu toimiin
- Kaksi askelta
- rajoitettu
- Toimintamalli
Perustuu rakenteeseen
- Tasaiset tai yksinkertaiset tapahtumat: Se koostuu sarjasta primitiivisiä operaatioita, jotka suoritetaan aloitus- ja lopetusoperaatioiden välillä.
- Sisäkkäiset tapahtumat: Tapahtuma, joka sisältää muita tapahtumia.
- Työnkulku
Mikä on aikataulu?
Aikataulu on prosessi, jossa luodaan yksi ryhmä useista rinnakkaisista tapahtumista ja suoritetaan ne yksitellen. Sen tulee säilyttää se järjestys, jossa ohjeet näkyvät kussakin tapahtumassa. Jos kaksi tapahtumaa suoritetaan samanaikaisesti, yhden tapahtuman tulos voi vaikuttaa toisen tapahtumaan.
esimerkki
Initial Product Quantity is 10 Transaction 1: Update Product Quantity to 50 Transaction 2: Read Product Quantity
Jos tapahtuma 2 suoritetaan ennen tapahtumaa 1, vanhentuneet tiedot tuotteen määrästä luetaan. Siksi aikatauluja tarvitaan.
Rinnakkaissuoritus tietokannassa on väistämätöntä. Mutta rinnakkaissuoritus on sallittu, kun samanaikaisesti suoritettavien tapahtumien välillä on ekvivalenssisuhde. Tämä vastaavuus on 3 tyyppiä.
TULOKSEN VASTAAVUUS:
Jos kaksi aikataulua näyttävät saman tuloksen suorituksen jälkeen, sitä kutsutaan tulosvastaavaksi aikatauluksi. Ne voivat tarjota saman tuloksen jollekin arvolle ja erilaisia tuloksia toiselle arvojoukolle. Esimerkiksi yksi tapahtuma päivittää tuotteen määrän, kun taas toinen päivittää asiakkaan tiedot.
Näytä vastaavuus
Näytä vastaavuus tapahtuu, kun molempien aikataulujen tapahtuma suorittaa samanlaisen toiminnon. Esimerkki: yksi tapahtuma lisää tuotetiedot tuotetaulukkoon, kun taas toinen tapahtuma lisää tuotetiedot arkistotaulukkoon. Kauppa on sama, mutta taulukot ovat erilaisia.
KONFLIKTI Ekvivalenssi
Tässä tapauksessa kaksi tapahtumaa päivittää/tarkastelee samaa tietojoukkoa. Tapahtuman välillä on ristiriita, koska suoritusjärjestys vaikuttaa lähtöön.
Mitä on serialoitavuus?
Serialisoitavuus on prosessi, jossa etsitään samanaikaista aikataulua, jonka tulos on sama kuin sarjaaikataulu, jossa tapahtumat suoritetaan peräkkäin. Aikataulujen tyypistä riippuen on olemassa kahdenlaisia sarjoitettavuutta:
- Konflikti
- Näytä
Yhteenveto
- Tapahtumanhallinta on DBMS:n looginen käsittelyyksikkö, joka sisältää yhden tai useamman tietokantaan pääsyn
- Se on tapahtuma on ohjelmayksikkö, jonka suorittaminen voi muuttaa tietokannan sisältöä tai ei.
- Samanaikaisen käytön hallinta voi aiheuttaa ongelmia, kuten laitteistovikoja ja järjestelmän kaatumisia.
- Aktiivinen, Osittain sitoutunut, Sitoutunut, Epäonnistunut ja Lopeta ovat tärkeitä tapahtumatiloja.
- ACID-ominaisuuksien täysi muoto DBMS is Atomjääisyys, johdonmukaisuus, eristys ja kestävyys
- Kolme DBMS-tapahtumatyyppiä ovat Base on Application Areas, Action ja Structure.
- Aikataulu on prosessi, jossa luodaan yksi ryhmä useista rinnakkaisista tapahtumista ja suoritetaan ne yksitellen.
- Serialisoitavuus on prosessi, jossa etsitään samanaikaista aikataulua, jonka tulos on yhtä suuri kuin sarjaaikataulu, jossa tapahtumat suoritetaan peräkkäin.