Professional Documents
Culture Documents
●1998. - Carlo Strozzi koristi izraz NoSQL za svoju laganu, relacijsku bazu otvorenog koda
●1999. - Berkelei DB je komercijalno izdao Sleepycat Software
●2000- Pokrenuta je baza podataka grafikona Neo4j
●2004 - lansirana je Google BigTable
●2005 - lansirana je CouchDB
●2006. - Kompaniju Berkelei DB je kupio Oracle
●2007 - Objavljen je istraživački rad o Amazon Dinamu
●2008- Facebooks open source Cassandra projekat
●2009- Ponovo je uveden izraz NoSQL
●
Karakteristike NoSQL-a
Dostupnost:
Baza podataka uvek treba da bude dostupna i da reaguje. Ne bi trebalo da
ima zastoja.
Tolerancija particije:
Tolerancija particije znači da bi sistem trebalo da nastavi da funkcioniše čak i
ako komunikacija među serverima nije stabilna. Na primer, serveri se mogu
podeliti u više grupa koje možda međusobno ne komuniciraju. Ovde, ako deo
baze podataka nije dostupan, ostali delovi uvek nisu pogođeni.
Eventualna konzistentnost
● Izraz "eventualna konzistentnost" znači imati kopije podataka na više mašina
kako bi se dobila velika dostupnost i skalabilnost. Stoga se izmene unešene
u bilo koji podatak na jednoj mašini moraju preneti na druge replike.
● Replikacija podataka možda neće biti trenutna jer će se neke kopije odmah
ažurirati, a druge u dogledno vreme. Te kopije mogu biti obostrano, ali
vremenom postaju dosledne. Otuda i ime eventualne konzistentnosti.
BASE: Basically Available, Soft state, Eventual
consistency
● Basically available znači da je DB dostupan sve vreme prema teoriji CAP
● Soft state znači čak i bez ulaza; stanje sistema se može promeniti
● Eventual consistency znači da će sistem vremenom postati dosledan
Oracle NoSql
Dostupne su dve verzije, jedna za slobodnu upotrebu i druga za komercijalnu,
mada se i ona može skinuti i koristiti u edukativne svrhe. Podaci se čuvaju u
obliku Ključ-Vrednost i svaki zapis je jednoznačno određen tim parom.
Ključ je najčešće tipa string i njime se određuje vrednost. Ključ može da se
sastoji od glavnih i sporednih komponenti koje možemo sami da definišemo.
Kako definišemo komponente ključa to se kasnije odražava na performanse
aplikacije.
Vrednost predstavlja objekat koji želimo da čuvamo i ona se pamti kao niz
bajtova bez obzira kog je tipa objekat ( slika, tekst..). Glavne odlike Oracle
NoSQL baze su kao i kod ostalih rešenja ovog tipa visoka skalabilnost,
dostupnost, prost model podataka i kratko vreme odziva.
Prednosti NoSQL-a
● Može se koristiti kao primarni ili analitički izvor podataka
● Velika sposobnost podataka
● Nema jedinstvene tačke kvara
● Laka replikacija
● Nema potrebe za odvojenim slojem za kreiranje
● Omogućava brze performanse i horizontalnu skalabilnost.
● Može da obrađuje strukturirane, polustrukturirane i nestrukturirane podatke sa jednakim efektom
● Objektno orijentisano programiranje koje je lako za upotrebu i fleksibilno
● NoSQL bazama podataka nije potreban namenski server visokih performansi
● Ključni jezici i platforme za razvojne programere
● Jednostavnije za implementaciju nego korišćenje RDBMS-a
● Može poslužiti kao primarni izvor podataka za online aplikacije.
● Rukuje velikim podacima koji upravljaju brzinom, raznolikošću, volumenom i složenošću podataka
● Odlikuje se operacijama distribuirane baze podataka i centra za više podataka
● Eliminiše potrebu za određenim slojem keširanja za čuvanje podataka
● Nudi fleksibilan dizajn šeme koji se može lako izmeniti bez prekida rada ili prekida usluge
Nedostaci NoSQL-a
● Nema pravila za standardizaciju
● Ograničene mogućnosti upita
● Baza podataka i alati RDBMS su relativno zreli
● Ne nudi nikakve tradicionalne mogućnosti baze podataka, poput
doslednosti kada se više transakcija obavlja istovremeno.
● Kada se količina podataka povećava, teško je održavati jedinstvene
vrednosti jer ključevi postaju teški
● Ne funkcioniše dobro sa relacijskim podacima
● Kriva učenja je kruta za nove programere
● Opcije otvorenog koda, koje nisu toliko popularne za preduzeća.
Zaključak
Napravljen je kratak pregled postojećih NoSQL rešenja iz određenih grupa, uočeno je da poseduju uglavnom
iste karakteristike i da su principi na kojima se zasnivaju vrlo slični. Glavne razlike se ogledaju u osnovnim
razlikama između grupa što su između ostalog način organizacije podataka, pravila čuvanja objekata, način
pristupa itd.
Bitno je naglasiti da se u današnje vreme generišu skoro svakog trenutka velike količine podataka koje je
potrebno negde čuvati i obraditi. Struktura i oblik podataka koji pristižu se ne mogu sa sigurnošću znati
unapred tako da zbog toga relaciona baza podataka sa fiksnom šemom ne može biti pogodno rešenje. NoSQL
baze podataka lako se nose sa tim problemom i sa te strane one i predstavljaju rešenje tog problema i uz
visoku skalabilnost i dostupnost, brz i lak pristup podacima čine rešenje koje svakako ima sjajnu budućnost.
Ono što se izvlači kao poenta je da su relacioni sistemi ipak stariji sistemi, nastali u vreme kada je takav model
zadovoljavao tadašnje potrebe i zahteve korisnika i preduzeća kao i mogućnosti hardvera i tehnologije. Danas
imamo drugačije potrebe, nova tržišta i slučajeve upotrebe kojima se standardni relacioni sistemi teško
prilagođavaju, i NoSQL je isplivao kao rešenje za taj izazov.
Ostaje možda pitanje da li će u potpunosti zameniti relacione baze podataka i na osnovu svega zaključak je
da neće, jer ipak za određeni domen problema relaciono rešenje ostaje bolji izbor od NoSQL baza podataka, a
to će vreme pokazati.
HVALA na pažnji ! ! !