際際滷

際際滷Share a Scribd company logo
Tehnologije u bazama podataka
Predmet: Administriranje Baze Podataka
Predava: dr Du邸an Stefanovi
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
 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
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
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:
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
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
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
Nerelacione Baze podataka
 Komercijalna i open-source NoSql baze podataka
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
Nerelacione Baze podataka
PREDNOSTI
ema
(Schema-on-Read)
Brzina
(Speed)
Skaliranje
(Scaling Out)
Dostupnost
(High Availability)
SQL  Schema-on-Write
NoSQL  Schema-on-Read
Fast Read/Write SQL  Scaling Up
NoSQL  Scaling Up & Out
No single point of failure
Data replication
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
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)
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
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
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
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
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
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)
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???
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)

More Related Content

AdministriranjeBazePodat_Predavanje3.pdf

  • 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
  • 9. Nerelacione Baze podataka Komercijalna i open-source NoSql baze podataka
  • 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
  • 11. Nerelacione Baze podataka PREDNOSTI ema (Schema-on-Read) Brzina (Speed) Skaliranje (Scaling Out) Dostupnost (High Availability) SQL Schema-on-Write NoSQL Schema-on-Read Fast Read/Write SQL Scaling Up NoSQL Scaling Up & Out No single point of failure Data replication
  • 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)