alternativni pristupi u izgradnji sistema baza · pdf filealternativni pristupi u izgradnji...
TRANSCRIPT
Alternativni pristupi u
izgradnji sistema baza
podataka NoSQL, ugraene i temporalne
baze podataka
Alternativni pristupi u izgradnji SBP
Sistemi baza podataka
2 / 117
Sadraj
NoSQL baze podataka
Ugraene baze podataka
Temporalne baze podataka
Alternativni pristupi u izgradnji SBP
NoSQL baze podataka
Termin NoSQL
nastao 2009. godine
u optem smislu, objedinjuje sve baze podataka i skladita
podataka koje ne slede primarne principe relacionih baza
podataka
No SQL ili Not Only SQL
ne predstavlja jedan proizvod ili tehnologiju
ve klasu proizvoda i kolekciju razliitih, ponekad povezanih
koncepata o nainima skladitenja i manipulacije podacima
3 / 117 Alternativni pristupi u izgradnji SBP
NoSQL baze podataka
Motivacija
pojava Interneta prouzrokuje
eksploziju koliine podataka koju je potrebno skladititi
problem velikih koliina podataka
degradacija performansi RSUBP
koliina podataka ima trend stalnog rasta
veliina pojedinanih podataka takoe raste
potreba za visokim nivoom skalabilnosti
zahteva se unapreenje skalabilnosti
potreba za visokim nivoom raspoloivosti
eksploziju broja istovremenih zahteva nad BP
milioni istovremenih zahteva
odgovor mora biti u razumnom vremenskom roku
4 / 117 Alternativni pristupi u izgradnji SBP
NoSQL baze podataka
Motivacija
pojam veliki podaci predstavlja kolekciju digitalnih
informacija
eng. big data
iji obim prevazilazi sposobnost prosene percepcije ljudi pa
i kapacitete raznih softverskih alata
za prihvatanje, obradu i upravljanje podacima
nije tano odreena donja granica veliine, definisane
pojmom veliki podaci
trenutno - svaki skup podataka vei od nekoliko terabajta
duina transakcija postaje problem
nepredvidiva duina transakcije
ACID osobine transakcija vie ne odgovaraju zahtevima,
vezanim za obradu velikih koliina podataka
5 / 117 Alternativni pristupi u izgradnji SBP
NoSQL baze podataka
ACID osobine
skraenica od eng. Atomicity, Consistency, Isolation,
Durability
skup osobina BP
garantuju pravilno izvrenje transakcija
definisane od strane Jim Gray-a
krajem 1970-ih godina
prilikom definisanja pouzdanog transakcionog sistema
6 / 117 Alternativni pristupi u izgradnji SBP
NoSQL baze podataka
ACID osobine
atominost
u sluaju uspenog izvrenja transakcije
sve operacije obuhvaene transakcijom e biti uspeno
izvrene
baza podataka ostaje u konzistentnom stanju
u sluaju neuspenog izvrenja transakcije
efekti izvrenja operacija obuhvaenih transakcijom nee biti
sauvani u bazi podataka
baza podataka takoe ostaje u konzistentnom stanju
onome, koje je prethodilo datoj transakciji
7 / 117 Alternativni pristupi u izgradnji SBP
NoSQL baze podataka
ACID osobine
konzistentnost
ukoliko su se podaci pre izvrenja transakcije nalazili u
konzistentnom stanju, nalazie se i po okonanju transakcije
izolacija
operacije tekue transakcije ne utiu na druge transakcije
koje se istovremeno izvravaju
trajnost
promene koje nastaju nakon zavretka transakcije ostaju
trajno sauvane
ak i u sluaju pada itavog sistema
8 / 117 Alternativni pristupi u izgradnji SBP
NoSQL baze podataka
CAP teorema
sistem koji skladiti deljene podatke ne moe
obezbediti istovremeno zadovoljenje sledeih uslova
konzistentnost
eng. Consistency
raspoloivost
eng. Availability
tolerancija razdvojenosti
eng. Partition tolerance
primenljiva na sisteme zasnovane na distribuiranoj
arhitekturi
9 / 117 Alternativni pristupi u izgradnji SBP
NoSQL baze podataka
CAP teorema
konzistentnost
svako itanje iz baze podataka kao rezultat ima najnoviju
verziju podataka
raspoloivost
odziv sistema u garantovanim vremenskim okvirima
baza podataka e uvek biti dostupna
nezavisno kada je postavljen upit
postie se
velikim brojem fizikih servera
replikacijom podataka
10 / 117 Alternativni pristupi u izgradnji SBP
NoSQL baze podataka
CAP teorema
tolerancija razdvojenosti
nijedan skup otkaza, osim potpunog otkazivanja, ne sme da
proizvede neispravan odziv sistema baze podataka
sistem mora da prihvata delimine otkaze i nastavlja ispravan
rad
razdvojenost
stanje komunikacione mree kod koje su delovi sistema
podeljeni u dve ili vie particija
izmeu kojih ne postoji komunikacija
reenje:
replikacija
odloeno (asinhrono) pisanje u trenutno nedostupne
delove baze podataka
11 / 117 Alternativni pristupi u izgradnji SBP
NoSQL baze podataka
CAP teorema - dokaz
12 / 117 Alternativni pristupi u izgradnji SBP
A V1 V0
A V0
1
2
A V1
A
P
V0
1
2
A V1
B V1 V1
1
2
1 2 3
NoSQL baze podataka
CAP teorema dokaz
ta se dogaa ako poruka P ne stigne na
odredite?
dolazi do razdvojenosti delova sistema
tri mogua dogaaja
transakcija A se ponitava
sistem ne prihvata razdvojenost svojih delova
transakcija A se uspeno nastavlja
sistem nije konzistentan
transakcija A eka na uspeno slanje poruke P
sistem nije raspoloiv
nepoznato vreme odaziva
u svakom od dogaaja jedan od uslova nije
ispunjen
13 / 117 Alternativni pristupi u izgradnji SBP
NoSQL baze podataka
CAP teorema kompromisi
odbacivanje prihvatanja razdvojenosti
obezbeuju se konzistentnost i raspoloivost
alternative
kompletan sistem na jednom raunaru
rad bez razdvojenosti
viestruko umreavanje
redudantne veze
veoma skupe
ree se pravi ovakav kompromis
14 / 117 Alternativni pristupi u izgradnji SBP
NoSQL baze podataka
CAP teorema kompromisi
odbacivanje raspoloivosti
obezbeuju se konzistentnost i tolerancija razdvojenosti
u sluaju razdvojenosti ne garantuje se vreme odziva
problem se redukuje uspostavljanjem to nie sprege izmeu
vorova
koristi se ree
sistem koji nije raspoloiv nije ni upotrebljiv
15 / 117 Alternativni pristupi u izgradnji SBP
NoSQL baze podataka
CAP teorema kompromisi
odbacivanje konzistentnosti
obezbeuju se raspoloivost i tolerancija razdvojenosti
ne garantuje itanje poslednje verzije podataka u sluaju
razdvojenosti
u suprotnosti sa ACID skupom osobina
definie se BASE skup osobina
eng. Basically Available, Soft state, Eventually consistent
16 / 117 Alternativni pristupi u izgradnji SBP
NoSQL baze podataka
BASE osobine
sutinski raspoloiv
veina podataka je dostupna vei deo vremena
nekonzistentno stanje
baza podataka ne mora biti konzistentna u svakom trenutku
konvergentna konzistencija
dodatkom novog vora u sistem sadraj se moe replicirati
na njega
ne postoji garancija da e u svakom trenutku svi vorovi
sadrati identine kopije podataka
tei se vremenskoj taki u kojoj e svi vorovi sadrati
konzistentne podatke
17 / 117 Alternativni pristupi u izgradnji SBP
NoSQL baze podataka
MapReduce algoritam
omoguava upravljanje velikim koliinama podataka
posredstvom distribuirane mree vorova
deli veliki zadatak na manje delove
pogodne za paralelno procesiranje
MapReduce okruenje
upravlja izvrenjem MR algoritma
obezbeuje spregu sa korisnikom
18 / 117 Alternativni pristupi u izgradnji SBP
NoSQL baze podataka
MapReduce algoritam
map korak
glavni vor
preuzima ulazne podatke
deli ulazne podatke na manje delove
distribuira manje delove u radne vorove
radni vorovi
procesiraju dodeljene zadatke
vraaju odgovor glavnom voru
reduce korak
glavni vor
preuzima rezultate radnih vorova
kombinuje rezultate sa ciljem dobijanja traenog rezultata
19 / 117 Alternativni pristupi u izgradnji SBP
NoSQL baze podataka
NoSql sistemi
nastali usled potreba za
skladitenjem velike koliine podataka
pristupom od strane velikog broja korisnika
realizacija baza podataka se oslanja na distribuiranu
arhitekturu
CAP teorema
sa BASE skupom osobina
uvodi pojam konvergentne konzistentnosti kao
kompromisno reenje
MapReduce algoritam
efikasna obrada podataka
20 / 117 Alternativni pristupi u izgradnji SBP
NoSQL baze podataka
NoSql sistemi osobine i prednosti
ne poseduju formalno specificiranu emu baze
podataka
rukovanje fleksibilnim strukturama podataka
nestrukturirani i polustrukturirani podaci
ne oslanjaju se na relacioni model podataka
ne podravaju operacije spajanja
unapreene performanse u radu sa velikom koliinom
podataka
horizontalna skalabilnost i ela