Tietokannan kehittämisen perusmalli

Relaatiotietokannat on suunniteltu luotettavuuden ja johdonmukaisuuden ytimessä. Niitä kehittäneet insinöörit keskittyivät transaktiomalliin, joka varmistaa, että neljä periaatetta ACID malli ne säilytetään aina. Uuden jäsentämättömän tietokantamallin tulo kuitenkin kääntää ACID: n päälaelleen. NoSQL-tietokantamalli välttelee erittäin jäsenneltyä relaatiomallia joustavan avain/arvovaraston lähestymistavan hyväksi. Tämä jäsentämätön lähestymistapa dataan vaatii vaihtoehdon ACID-mallille: BASE-mallin.

Tietokoneverkko
artpartner-images / Getty Images

ACID-mallin perusperiaatteet

ACID-mallissa on neljä perusperiaatetta:

  • The atomisuus Tapahtumat varmistavat, että jokainen tietokantatapahtuma on yksittäinen yksikkö, joka ottaa käyttöön "kaikki tai ei mitään" -lähestymistavan. Jos jokin tapahtuman lausunto epäonnistuu, koko tapahtuma peruutetaan.
  • Relaatiotietokannat varmistavat myös johdonmukaisuus jokaisesta tapahtumasta tietokannan liiketoimintasäännöillä. Jos jokin atomitapahtuman elementti häiritsisi tietokannan johdonmukaisuutta, koko tapahtuma epäonnistuu.
  • Tietokantamoottori pakottaa eristäytyminen useiden samaan aikaan tai lähes samaan aikaan tapahtuvien tapahtumien välillä. Jokainen tapahtuma tapahtuu joko ennen tai jälkeen jokaista muuta tapahtumaa ja tietokannan näkymää jonka tapahtuma näkee alussa, muuttaa vain tapahtuma itse ennen sitä johtopäätös. Mikään tapahtuma ei saa koskaan nähdä toisen tapahtuman välituotetta.
  • Lopullinen ACID-periaate, kestävyys, varmistaa, että kun tapahtuma on sitoutunut tietokantaan, se säilyy pysyvästi varmuuskopioiden ja tapahtumalokien avulla. Vian sattuessa näitä mekanismeja voidaan käyttää sitoutuneiden tapahtumien palauttamiseen.

BASE: n perusperiaatteet

NoSQL-tietokannat, toisaalta, kattaa tilanteet, joissa ACID-malli on ylivoimainen tai itse asiassa estäisi tietokannan toimintaa. Sen sijaan NoSQL luottaa pehmeämpään malliin, joka tunnetaan asianmukaisesti BASE-mallina. Tämä malli ottaa huomioon NoSQL: n tarjoaman joustavuuden ja samankaltaiset lähestymistavat jäsentämättömän tiedon hallintaan ja kuratointiin. BASE koostuu kolmesta periaatteesta:

  • Perussaatavuus. NoSQL-tietokantalähestymistapa keskittyy tietojen saatavuuteen myös useiden vikojen esiintyessä. Se saavuttaa tämän käyttämällä erittäin hajautettua lähestymistapaa tietokannan hallintaan. Sen sijaan, että ylläpidettäisiin yhtä suurta tietovarastoa ja keskittyisivät tämän varaston vikasietoisuuteen, NoSQL-tietokannat levittävät tietoja moniin tallennusjärjestelmiin, joissa on korkea replikointiaste. Siinä epätodennäköisessä tapauksessa, että vika katkaisee pääsyn datasegmenttiin, tämä ei välttämättä johda täydelliseen tietokannan katkaisuun.
  • Pehmeä tila. BASE-tietokannat hylkäävät ACID-mallin johdonmukaisuusvaatimukset lähes kokonaan. Yksi BASE: n taustalla olevista peruskäsitteistä on, että tietojen johdonmukaisuus on kehittäjän ongelma, eikä tietokannan pitäisi käsitellä sitä.
  • Lopullinen johdonmukaisuus. Ainoa vaatimus, joka NoSQL-tietokannoilla on johdonmukaisuuden suhteen, on vaatia, että jossain vaiheessa tulevaisuudessa tiedot konvergoisivat yhtenäiseen tilaan. Mitään takuita ei kuitenkaan anneta siitä, milloin tämä tapahtuu. Tämä on täydellinen poikkeama ACID: n välittömästä johdonmukaisuusvaatimuksesta, joka kieltää tapahtuman suorituksesta, kunnes edellinen tapahtuma on suoritettu loppuun ja tietokanta on konvergoitunut johdonmukaiseksi osavaltio.

BASE: ssa perussaatavuus voi tarkoittaa, että et edes hallitse tietolähteitä. Voit esimerkiksi linkittää julkisiin tietokokonaisuuksiin osana työtäsi.

Suhteelliset käyttötapaukset

BASE-malli ei sovi kaikkiin tilanteisiin, mutta se on varmasti joustava vaihtoehto ACID-mallille tietokantoihin, jotka eivät vaadi tiukkaa relaatiomallin noudattamista.

ACID-tietokantojen optimaaliset käyttötapaukset riippuvat erittäin strukturoidusta tiedosta, jonka tulot ja lähdöt ovat ennakoitavissa. Näin ollen henkilöstötietokannat, vähittäiskaupan tietokannat ja sähköiset potilastiedot hyötyvät ACID: n tarjoamasta tehokkaasta sisäisestä johdonmukaisuuden tarkistuksesta.

BASE-ratkaisut ovat kuitenkin parempia sumeisiin aiheisiin, kuten tunneanalyysiin. Esimerkiksi BASE-rakenteinen projekti voisi skannata Twitter-syötteen etsiessään sanoja, jotka ilmaisevat tunteita tietyn hashtagin perusteella. Twitter-syöte ei ole hyvin jäsennelty tai paikallisesti muotoiltu, mutta tietovirta tarjoaa sen kyselyihin ohjelmoituja tietoja, vaikka kyseisten tietojen laajuus ja luonne eivät ole puhtaita rajattu.