NoSQL Pregled baza podataka

Sadržaj:

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: