Pregled baz podatkov NoSQL

Kazalo:

Pregled baz podatkov NoSQL
Pregled baz podatkov NoSQL
Anonim

Akronim NoSQL je bil skovan leta 1998. Mnogi ljudje mislijo, da je NoSQL slabšalni izraz, ustvarjen za zbadanje SQL. V resnici izraz ne pomeni samo SQL. Ideja je, da lahko obe tehnologiji sobivata in ima vsaka svoje mesto. Gibanje NoSQL je bilo v novicah v zadnjih nekaj letih, saj so številni voditelji Web 2.0 sprejeli tehnologijo NoSQL. Podjetja, kot so Facebook, Twitter, Digg, Amazon, LinkedIn in Google, tako ali drugače uporabljajo NoSQL. Razčlenimo NoSQL, da ga boste lahko razložili svojemu CIO ali celo svojim sodelavcem.

Image
Image

NoSQL nastal iz potrebe

Shranjevanje podatkov: Svetovno shranjeni digitalni podatki se merijo v eksabajtih. Eksabajt je enak eni milijardi gigabajtov (GB) podatkov. Glede na Internet.com je bila količina shranjenih podatkov, dodanih leta 2006, 161 eksabajtov. Samo 4 leta kasneje, leta 2010, bo količina shranjenih podatkov znašala skoraj 1000 eksabajtov, kar je več kot 500-odstotno povečanje. Z drugimi besedami, na svetu je shranjenih veliko podatkov, ki bodo še naprej rasli.

Medsebojno povezani podatki: Podatki postajajo vse bolj povezani. Ustvarjanje spleta spodbujajo hiperpovezave, spletni dnevniki imajo povratne pinge in vsak večji sistem socialnih omrežij ima oznake, ki stvari povezujejo. Glavni sistemi so zgrajeni tako, da so med seboj povezani.

Kompleksna podatkovna struktura: NoSQL zlahka obravnava hierarhične ugnezdene podatkovne strukture. Če želite doseči isto stvar v SQL, bi potrebovali več relacijskih tabel z vsemi vrstami ključev. Poleg tega obstaja povezava med zmogljivostjo in kompleksnostjo podatkov. Zmogljivost se lahko v tradicionalnem RDBMS poslabša, saj shranjujemo ogromne količine podatkov, potrebnih v aplikacijah za družabna omrežja in semantičnem spletu.

Kaj je NoSQL?

Predvidevam, da je eden od načinov za definiranje NoSQL ta, da razmislimo o tem, kaj ni. To ni SQL in ni relacijsko. Kot že ime pove, ni nadomestilo za RDBMS, ampak ga dopolnjuje. NoSQL je zasnovan za porazdeljene shrambe podatkov za zelo velike podatkovne potrebe. Pomislite na Facebook s 500.000.000 uporabniki ali Twitter, ki vsak dan zbere terabite podatkov.

V zbirki podatkov NoSQL ni fiksne sheme in ni združevanj. RDBMS se "razširja" z vedno hitrejšo strojno opremo in dodajanjem pomnilnika. Po drugi strani pa lahko NoSQL izkoristi prednost "razširitve". Scaling out se nanaša na porazdelitev bremena na številne sisteme blaga. To je komponenta NoSQL, zaradi katere je poceni rešitev za velike nabore podatkov.

Kategorije NoSQL

Trenutni svet NoSQL spada v 4 osnovne kategorije.

  1. Trgovine s ključnimi vrednostmi temeljijo predvsem na Amazonovem Dynamo Paperju, ki je bil napisan leta 2007. Glavna ideja je obstoj zgoščevalne tabele, kjer obstaja edinstven ključ in kazalec na določen element podatkov. Te preslikave običajno spremljajo mehanizmi predpomnilnika za povečanje zmogljivosti.
  2. Column Family Stores so bile ustvarjene za shranjevanje in obdelavo zelo velikih količin podatkov, porazdeljenih po številnih strojih. Še vedno obstajajo ključi, vendar kažejo na več stolpcev. V primeru BigTable (Googlov model družine stolpcev NoSQL) so vrstice identificirane s ključem vrstice s podatki, razvrščenimi in shranjenimi po tem ključu. Stolpci so razvrščeni po družini stolpcev.

  3. Baze podatkov dokumentov so navdihnile Lotus Notes in so podobne shrambam ključ-vrednost. Model so v bistvu dokumenti z različicami, ki so zbirke drugih zbirk ključ-vrednost. Polstrukturirani dokumenti so shranjeni v formatih, kot je JSON.
  4. Graph Database so zgrajene z vozlišči, odnosi med opombami in lastnostmi vozlišč. Namesto tabel vrstic in stolpcev ter toge strukture SQL se uporablja prilagodljiv grafični model, ki se lahko spreminja v več strojih.

Glavni igralci NoSQL

Glavni igralci v NoSQL so se pojavili predvsem zaradi organizacij, ki so jih sprejele. Nekatere največje tehnologije NoSQL vključujejo:

  • Dynamo: Dynamo je ustvaril Amazon.com in je najvidnejša baza podatkov NoSQL s ključi in vrednostmi. Amazon je potreboval visoko razširljivo porazdeljeno platformo za svoje e-trgovinske posle, zato so razvili Dynamo. Amazon S3 uporablja Dynamo kot mehanizem za shranjevanje.
  • Cassandra: Cassandra je bila odprtokodna s strani Facebooka in je stolpčno usmerjena zbirka podatkov NoSQL.
  • BigTable: BigTable je Googlova lastniška zbirka podatkov, usmerjena v stolpce. Google dovoljuje uporabo BigTable, vendar samo za Google App Engine.
  • SimpleDB: SimpleDB je še ena baza podatkov Amazon. Uporablja se za Amazon EC2 in S3, je del Amazon Web Services, ki zaračunava stroške glede na uporabo.
  • CouchDB: CouchDB skupaj z MongoDB sta odprtokodni dokumentno usmerjeni bazi podatkov NoSQL.
  • Neo4J: Neo4j je odprtokodna baza podatkov grafov.

Poizvedovanje NoSQL

Vprašanje, kako poizvedovati po bazi podatkov NoSQL, je tisto, kar zanima večino razvijalcev. Navsezadnje podatki, shranjeni v ogromni bazi podatkov, nikomur ne koristijo, če jih ne morete pridobiti in pokazati končnim uporabnikom ali spletnih storitev. Baze podatkov NoSQL ne nudijo visokonivojskega deklarativnega poizvedovalnega jezika, kot je SQL. Namesto tega je poizvedovanje po teh zbirkah podatkov> PREFIX foaf:

SELECT ?url

FROM

WHERE {

?contributor foaf:name "Jon Foobar".

?contributor foaf:weblog ?url.

}

Prihodnost NoSQL

Organizacije, ki imajo ogromne potrebe po shranjevanju podatkov, resno gledajo na NoSQL. Očitno koncept v manjših organizacijah ni tako priljubljen. V raziskavi, ki jo je izvedel Information Week, 44 % poslovnih IT strokovnjakov še ni slišalo za NoSQL. Poleg tega je samo 1 % vprašanih poročalo, da je NoSQL del njihove strateške usmeritve. Jasno je, da ima NoSQL svoje mesto v našem povezanem svetu, vendar se bo moral še naprej razvijati, da bo pridobil množično privlačnost, za katero mnogi mislijo, da bi jo lahko imel.

Priporočena: