NoSQL Pregled baza podataka

NoSQL Pregled baza podataka
NoSQL Pregled baza podataka
Anonim

Akronim NoSQL skovan je 1998. Mnogi ljudi misle da je NoSQL pogrdni izraz stvoren kako bi se bacio na SQL. U stvarnosti, izraz ne znači samo SQL. Ideja je da obje tehnologije mogu koegzistirati i da svaka ima svoje mjesto. Pokret NoSQL bio je u vijestima u posljednjih nekoliko godina jer su mnogi predvodnici Weba 2.0 usvojili NoSQL tehnologiju. Tvrtke kao što su Facebook, Twitter, Digg, Amazon, LinkedIn i Google sve koriste NoSQL na ovaj ili onaj način. Razdvojimo NoSQL tako da ga možete objasniti svom CIO-u ili čak svojim suradnicima.

Image
Image

NoSQL nastao iz potrebe

Pohrana podataka: Svjetski pohranjeni digitalni podaci mjere se u eksabajtima. Eksabajt je jednak jednoj milijardi gigabajta (GB) podataka. Prema Internet.com, količina pohranjenih podataka dodanih 2006. bila je 161 egzabajt. Samo 4 godine kasnije, 2010., količina pohranjenih podataka bit će gotovo 1000 ExaBytes, što je povećanje od preko 500%. Drugim riječima, u svijetu se pohranjuje mnogo podataka i oni će samo nastaviti rasti.

Međusobno povezani podaci: Podaci postaju sve povezaniji. Stvaranje weba potaknuto hipervezama, blogovi imaju povratne pingove i svaki veći sustav društvenih mreža ima oznake koje povezuju stvari. Glavni sustavi izgrađeni su da budu međusobno povezani.

Složena struktura podataka: NoSQL može lako rukovati hijerarhijskim ugniježđenim strukturama podataka. Da biste postigli istu stvar u SQL-u, trebat će vam više relacijskih tablica sa svim vrstama ključeva. Osim toga, postoji odnos između izvedbe i složenosti podataka. Izvedba može degradirati u tradicionalnom RDBMS-u jer pohranjujemo ogromne količine podataka potrebnih u aplikacijama za društveno umrežavanje i semantičkom webu.

Što je NoSQL?

Pretpostavljam da je jedan način definiranja NoSQL-a razmatranje onoga što on nije. Nije SQL i nije relacijski. Kao što ime sugerira, to nije zamjena za RDBMS, već ga nadopunjuje. NoSQL je dizajniran za distribuirane pohrane podataka za vrlo velike potrebe podataka. Razmislite o Facebooku sa svojih 500, 000, 000 korisnika ili Twitteru koji akumulira terabita podataka svaki dan.

U NoSQL bazi podataka ne postoji fiksna shema niti spajanja. RDBMS se "razmjerava" dobivanjem sve bržeg i bržeg hardvera i dodavanjem memorije. NoSQL, s druge strane, može iskoristiti prednosti "scaling out". Skaliranje se odnosi na raspodjelu tereta na mnoge robne sustave. Ovo je komponenta NoSQL-a koja ga čini jeftinim rješenjem za velike skupove podataka.

NoSQL kategorije

Trenutni NoSQL svijet uklapa se u 4 osnovne kategorije.

  1. Trgovine ključeva-vrijednosti prvenstveno se temelje na Amazonovom Dynamo papiru koji je napisan 2007. godine. Glavna ideja je postojanje hash tablice u kojoj postoji jedinstveni ključ i pokazivač na određenu stavku podataka. Ova mapiranja su obično popraćena mehanizmima predmemorije za maksimiziranje performansi.
  2. Column Family Stores stvoreni su za pohranjivanje i obradu vrlo velikih količina podataka distribuiranih na mnogo strojeva. Još uvijek postoje ključevi, ali pokazuju na više stupaca. U slučaju BigTablea (Googleov NoSQL model obitelji stupaca), retci se identificiraju pomoću ključa reda s podacima sortiranim i pohranjenim pomoću tog ključa. Stupci su poredani po obitelji stupaca.

  3. Baze podataka dokumenata inspirirane su Lotus Notesom i slične su pohrani ključeva i vrijednosti. Model su u osnovi dokumenti s verzijama koji su zbirke drugih zbirki ključ-vrijednost. Polustrukturirani dokumenti pohranjeni su u formatima poput JSON.
  4. Graph Databases izgrađene su s čvorovima, odnosima između bilješki i svojstvima čvorova. Umjesto tablica redaka i stupaca i krute strukture SQL-a, koristi se fleksibilni model grafikona koji se može prilagoditi mnogim strojevima.

Glavni NoSQL igrači

Glavni igrači u NoSQL-u pojavili su se prvenstveno zahvaljujući organizacijama koje su ih usvojile. Neke od najvećih NoSQL tehnologija uključuju:

  • Dynamo: Dynamo je kreirao Amazon.com i najistaknutija je baza podataka Key-Value NoSQL. Amazonu je bila potrebna visoko skalabilna distribuirana platforma za njihove e-trgovine pa su razvili Dynamo. Amazon S3 koristi Dynamo kao mehanizam za pohranu.
  • Cassandra: Cassandru je otvorio Facebook i ona je NoSQL baza podataka orijentirana na stupce.
  • BigTable: BigTable je Googleova vlasnička baza podataka orijentirana na stupce. Google dopušta korištenje BigTablea, ali samo za Google App Engine.
  • SimpleDB: SimpleDB je još jedna Amazonova baza podataka. Koristi se za Amazon EC2 i S3, dio je Amazon Web Services koji naplaćuje naknade ovisno o upotrebi.
  • CouchDB: CouchDB zajedno s MongoDB su NoSQL baze podataka otvorenog koda orijentirane na dokumente.
  • Neo4J: Neo4j je baza podataka s grafikonima otvorenog koda.

Upit NoSQL

Pitanje kako postaviti upit NoSQL bazi podataka je ono što zanima većinu programera. Uostalom, podaci pohranjeni u ogromnoj bazi podataka nikome ne pomažu ako ih ne možete dohvatiti i pokazati krajnjim korisnicima ili web usluge. NoSQL baze podataka ne pružaju deklarativni upitni jezik visoke razine poput SQL-a. Umjesto toga, postavljanje upita ovim bazama podataka je> PREFIX foaf:

SELECT ?url

FROM

WHERE {

?contributor foaf:name "Jon Foobar".

?contributor foaf:weblog ?url.

}

Budućnost NoSQL-a

Organizacije koje imaju velike potrebe za pohranom podataka ozbiljno gledaju na NoSQL. Očigledno, koncept ne dobiva toliko popularnost u manjim organizacijama. U istraživanju koje je proveo Information Week, 44% poslovnih IT stručnjaka nije čulo za NoSQL. Nadalje, samo 1% ispitanika izjavilo je da je NoSQL dio njihovog strateškog usmjerenja. Jasno je da NoSQL ima svoje mjesto u našem povezanom svijetu, ali će se morati nastaviti razvijati kako bi dobio masovnu privlačnost koju mnogi misle da bi mogao imati.

Preporučeni: