1. Tehnologije u bazama podataka
Predmet: Administriranje Baze Podataka
Predava: dr Du邸an Stefanovi
2. Tehnologije u Bazama podataka
01
Relacione
Baze podataka
(SQL)
02
Nerelacione
baze podataka
(NoSQL)
03
Distribuirane SQL
(NewSQL)
04
In-Memory baze podataka
05
Time-series baze podataka
3. Relacione baze podataka uvaju podatke u
tabelama
Tabela se sastoji iz redova i kolona
Svaka instanca baze podataka ima
unapred predefinisanu 邸emu
Jedna ili vi邸e kolona u svakoj tabeli se
koriste kao
Primarni klju
Redovi u jednoj tabeli mogu biti
povezani sa redovima u drugoj tabeli
preko
Stranog kljua
Tradicionalne relacione baze podataka
SQL
4. Baza podataka Online Shop
Klijent ID, Ime, Tel, Adresa
Primarni klju
Strani klju
Proizvod Id, Opis, Cena, Koliina..
Porud転bina Id, Datum, Klijent Id, Proizvod Id
Klijent
Proizvod
Porud転bine
Primarni klju
Primarni klju
Strani klju
5. Jezik u relacionim bazama podataka -
SQL
SQL - Structured Query Language
Relacione baze podataka su najvi邸e primenjene u radu sa operacionim
podacima (transakcije)
Predefinisana 邸ema u bazi podataka spreava gre邸ke i obezbeuje da stvari
budu organizovane
Kljuevi obezbeuju visok nivo fleksibilnosti programeru u efikasnom pristupu
podacima
Popularne SQL baze podataka:
6. Use case
Enterprise kompanije
Aplikacije koje su instalirane on-premise ili privatnom cloud-u (privatni
datacebtar)
Internet tr転i邸te Web aplikacije
Opslu転uju na milione korisnika (poveanje saobraaja i do 200% u danu)
24h dostupnost
Problem sa skalabilno邸u
Nisu najbolje re邸enje za ovakve zahteve
7. Najvei problem Relacionih baza
podataka
Scalabilnost!
Najvei problem kod relacionih baza podataka
Prilagoene su za vertikalno skaliranje (scale up/down)
Ma邸ine koje su sve vee i vee ali postoji ogranienje koliko jedan server mo転e
da se skalira
Prebacivanje na jai server je slo転en proces i obino zahteva period bez rada
Web aplikacije zahtevaju dostupnost (availability) i performanse
Fokus je na alternativnim re邸enjima NoSql bazama podataka
8. Nerelacione Baze podataka
Amazon, Facebook, Google.
Veliki Internet igrai sa izazovima u radu sa Velikim podacima
Scaling up baze podataka je neefikasno i skupo
Ne-relacione Baze podataka
Optimizovane su za web aplikacije
Fokus je na dve glavne stvati: scale-out i Availability
+ + +
Scale up
Scale out
10. Nerelacione Baze podataka
Jednostavan Data Model
Ne koriste relacioni model
Nema strogo definisanu 邸emu
Koristi jednostavan data model za uvanje podataka u bazi koji je
optimizovan za odreene aplikacije (use case)
NoSQL Database znaenje
"No support for SQL ne mogu da urade odreene stvari koje SQL mo転e
"Not only SQL a zatim je znaenje promenjeno 邸to znai da ne koriste
relacioni model i strogo definisanu 邸emu
Vrste NoSQL baze podataka
Key-value
Dokument
Wide column
Graf
Svaka je optimizovana
za specifini use case
12. Nerelacione Baze podataka
NEDOSTACI
Update za podatak
NoSQL Cluster
Replika #1
Replika #2
Replika #3 (nije jo邸 updated)
Nije transakciona !!!
Ne ispunjava ACID model
Eventualni Konzistetni model (No Sql)
Slab model konzistetnosti
Klaster baze podataka bie sihronizovan sa istim podatkom nakon odreenog
vremena (vreme konvergencije)
Mo転e da se desi da itanje podataka ne bude konzistetno
NoSQL Use Case
Uglavnom su namenjene za
analizu podataka
13. Tradicionalne Vs Nerelacione baze
podataka
Tradicionalne SQL baze podataka
Ograniena skalabilnost i slaba otpornost na otkaze
Dobro se snalazi u radu sa transakcijama 邸to je i naje邸e zahtev u velikom
broju aplikacija!
NoSQL baze podataka
Dizajnirane su za horizontalno skaliranje scale out koristei distribuiranu
arhitekturu
Dostupnost (Availability) je bitnija od konzistetnosti
Ograniena podr邸ka za upravljanje transakcijama je veliki nedostatak
Nije optimizovana za SQL upite
You win something, you lose something
We believe it is better to have application programmers deal with
performance problems due to overuse of transactions as bottlenecks
arise, rather than always coding around the lack of transactions.
(Google)
14. Distribuirane baze podataka (New SQL)
Relacioni
Data Model
Jaka
konzistetnost
SQL
funkcionalnosti
Horizontalna
skalabilnost
Visoka
dostupnost
NewSQL baze podataka obezbeuju da SQL bude skalabilan
NewSQL je klasa relacionog sistema za upravljanje bazama podataka da
obezbedi skalabilnost Sql sistema za obradu velikog broja transakcija
(OLTP) garantujui ACID model. (Wikipedia)
Motivacija za razvoj distribuiranih baza podataka su nastale na osnovu dobrih osobina
Relacionih baza podataka
relacioni model podataka
vrsta konzistetnost
funkcionalnosti SQL-a
No Sql baza podataka
horizontalna skalabilnost
dostupnost u svakom trenutku
15. Distribuirane baze podataka (New SQL)
Jedna logika relaciona instanca koja je distribuirana i globalno
skalirana na razliite geografske regione
Podaci su replicirani na vi邸e vorova unutar klastera
Horizontalno skaliranje klastera dodavanjem novih vorova
16. Distribuirane baze podataka (New SQL)
NewSQL Kljune funkcionalnosti
Podr転ava SQL (relacioni model)
Geografski distribuirana
Skaliranje po potrebi (vertikalno i horizontalno)
ACID saglasna (transakcije)
Naini instalacije (deployment)
Na lokaciji (on premises)
Self-hosted cloud (privatni cloud)
Baza kao servis (DBaaS)
Primena je na Web scale aplikacije sa analitikom
u realnom vremenu i velikom frekvencijom
transakcija
17. In Memory (IMDB) baze podataka
Naini uvanja podataka u bazi
Disk-based baze podataka
Tradicionalna i naje邸e kori邸ena opcija
SSD/HDD tehnologije
Podaci su trajni (ne bri邸u se nakon restarta servera)
Vreme pristupa disku je usko grlo
In-Memory baze podataka (IMDB)
Podaci se uvaju u memoriji (in-memory)
Mogu da budu SQL/NoSQL
Prednost
Uklanja se vreme potrebno da se tra転i podatak na disku
Nedostatak
Memorija (RAM) je znatno skuplja nego memorija na disku (disk
storage) i samim tim na raspolaganju je manji prostor za uvanje
podataka
18. In Memory (IMDB) baze podataka
Odlino re邸enje za aplikacije koje zahtevaju odgovor iz baze na
nivou mikrosekunde.
Jedan od naje邸ih sluaja primene in-memory baze podataka je
ke邸iranje podataka data caching
19. Time Series baze podataka (TSDB)
Jedna od brzo rastuih kategorija baza podataka
Umre転eni objekti koji non stop 邸alju podatke (data, data and data
IoT ureaji i senzori, Monitoring IT
Senzori koji oitavaju neke veliine
Monitoring i Analiza
Veliina koja je bitna u takvim merenjima je Vreme
(Timestamp)
20. Time Series baze podataka (TSDB)
Fokus je na Vreme!
Time-Series Data
Niz ili serija vrednosti na X osi koja predstavlja vreme
Parametri koji se pamte
Timestamp
Predmet npr. senzor
Izmerena vrednost
Podaci mogu da se 邸alju periodnino ili sluajno nakon nekog
dogaaja
Radi se o podacima obima (high data volume)
Zahtevi od baze podataka
Visoka uestalost upisa podataka
Vremenske funkcije za programere
Primena tradicionalne relacione baze???
21. Time Series baze podataka (TSDB)
Time Series Database (TSDB)
Specijalizovana baza podataka za podatke koji ukljuuju vreme u serijskim
intervalima
Optimizovana je dobro za skaliranje i upite reda ms.
Automatski uva trenutne podatke u in-memory za brzi pristup dok istorijske
podatke uva na disku
Obrauje high-volume data (upis u bazu podataka)
Ugraene specijalizovane time-related funkcije
Optimizovane su za bolje rukovanje podacima koji
sadr転e vreme u serijskim intervalima (time series
data)