BASE model razvoja baze podataka

Sadržaj:

BASE model razvoja baze podataka
BASE model razvoja baze podataka
Anonim

Relacijske baze podataka dizajnirane su s pouzdanošću i dosljednošću u svojoj srži. Inženjeri koji su ih razvili usredotočili su se na transakcijski model koji osigurava da četiri principa ACID modela uvijek budu očuvana. Međutim, pojava novog modela nestrukturirane baze podataka okreće ACID naopačke. NoSQL model baze podataka izbjegava visoko strukturirani relacijski model u korist pristupa fleksibilnog ključa/vrijednosti. Ovaj nestrukturirani pristup podacima zahtijeva alternativu ACID modelu: BASE model.

Image
Image

Osnovna načela modela ACID

Postoje četiri osnovna načela ACID modela:

  • atomičnost transakcija osigurava da je svaka transakcija baze podataka jedinstvena jedinica koja usvaja pristup "sve ili ništa" za izvršenje. Ako bilo koja izjava u transakciji ne uspije, cijela transakcija se vraća nazad.
  • Relacijske baze podataka također osiguravaju dosljednost svake transakcije s poslovnim pravilima baze podataka. Ako bi bilo koji element atomske transakcije poremetio konzistentnost baze podataka, cijela transakcija neće uspjeti.
  • Mašina baze podataka nameće izolaciju između više transakcija koje se događaju u ili približno isto vrijeme. Svaka se transakcija događa ili prije ili nakon svake druge transakcije, a pogled na bazu podataka koju transakcija vidi na svom početku mijenja samo sama transakcija prije njenog završetka. Nijedna transakcija nikada ne bi trebala vidjeti međuprodukt druge transakcije.
  • Konačni princip ACID-a, trajnost, osigurava da se transakcija jednom kada je predana bazi podataka trajno sačuva korištenjem sigurnosnih kopija i zapisa transakcija. U slučaju kvara, ovi se mehanizmi mogu koristiti za vraćanje izvršenih transakcija.

Osnovna načela BASE

NoSQL baze podataka, s druge strane, prihvaćaju situacije u kojima je ACID model pretjeran ili bi, zapravo, ometao rad baze podataka. Umjesto toga, NoSQL se oslanja na mekši model poznat, prikladno, kao BASE model. Ovaj model prilagođava se fleksibilnosti koju nudi NoSQL i slični pristupi upravljanju i čuvanju nestrukturiranih podataka. BASE se sastoji od tri principa:

  • Osnovna dostupnost NoSQL pristup bazi podataka fokusiran je na dostupnost podataka čak i u prisustvu višestrukih kvarova. To postiže korištenjem visoko distribuiranog pristupa upravljanju bazom podataka. Umjesto održavanja jedne velike pohrane podataka i fokusiranja na toleranciju grešaka te pohrane, NoSQL baze podataka šire podatke po mnogim sustavima pohrane s visokim stupnjem replikacije. U malo vjerojatnom slučaju da kvar prekine pristup segmentu podataka, to ne mora nužno rezultirati potpunim ispadom baze podataka.
  • Meko stanje. BASE baze podataka gotovo u potpunosti napuštaju zahtjeve konzistentnosti ACID modela. Jedan od osnovnih koncepata koji stoje iza BASE je da je konzistentnost podataka problem razvojnog programera i da njime ne bi trebala upravljati baza podataka.
  • Eventual Consistency Jedini zahtjev koji NoSQL baze podataka imaju u pogledu konzistentnosti je zahtjev da se u nekom trenutku u budućnosti podaci konvergiraju u konzistentno stanje. Međutim, nema jamstava kada će se to dogoditi. To je potpuno odstupanje od zahtjeva trenutne dosljednosti ACID-a koji zabranjuje izvršenje transakcije dok prethodna transakcija ne završi i baza podataka ne konvergira u dosljedno stanje.

U BASE-u osnovna dostupnost može značiti da čak i ne kontrolirate izvore podataka. Na primjer, možete se povezati s javnim skupovima podataka za dio svog truda.

Relativne upotrebe

BASE model nije prikladan za svaku situaciju, ali je svakako fleksibilna alternativa ACID modelu za baze podataka koje ne zahtijevaju striktno pridržavanje relacijskog modela.

Optimalni slučajevi upotrebe baza podataka koje koriste ACID ovise o visoko strukturiranim podacima s predvidljivim ulazima i izlazima. Stoga baze podataka o ljudskim resursima, maloprodajne baze podataka i elektronički medicinski zapisi imaju koristi od robusne interne provjere dosljednosti koju nudi ACID.

Međutim, BASE rješenja bolja su za nejasne teme poput analize raspoloženja. Na primjer, projekt sa strukturom BASE mogao bi skenirati Twitter feed tražeći riječi koje impliciraju emocije na temelju određenog hashtaga. Twitter feed nije dobro strukturiran niti lokalno instanciran, ali tok podataka nudi informacije koje su programirane u upitima čak i ako opseg i priroda tih podataka nisu jasno ograničeni.

Preporučeni: