NoSQL duomenų bazių apžvalga

Turinys:

NoSQL duomenų bazių apžvalga
NoSQL duomenų bazių apžvalga
Anonim

Akronimas NoSQL buvo sukurtas 1998 m. Daugelis žmonių mano, kad NoSQL yra menkinantis terminas, sukurtas norint pažvelgti į SQL. Tiesą sakant, šis terminas reiškia ne tik SQL. Idėja ta, kad abi technologijos gali egzistuoti kartu ir kiekviena turi savo vietą. Pastaruosius kelerius metus NoSQL judėjimas buvo aktualus naujienoms, nes daugelis Web 2.0 lyderių priėmė NoSQL technologiją. Tokios įmonės kaip „Facebook“, „Twitter“, „Digg“, „Amazon“, „LinkedIn“ir „Google“vienaip ar kitaip naudoja „NoSQL“. Išskaidykime NoSQL, kad galėtumėte tai paaiškinti savo CIO ar net savo bendradarbiams.

Image
Image

NoSQL atsirado iš poreikio

Duomenų saugykla: Pasaulyje saugomi skaitmeniniai duomenys matuojami eksabaitais. Eksabaitas yra lygus vienam milijardui gigabaitų (GB) duomenų. Internet.com duomenimis, 2006 metais pridėtų saugomų duomenų kiekis siekė 161 eksabaitą. Vos po 4 metų, 2010 m., saugomų duomenų kiekis bus beveik 1 000 ExaByte, ty daugiau nei 500%. Kitaip tariant, pasaulyje saugoma daug duomenų ir jie tik toliau augs.

Sujungti duomenys: Duomenys vis labiau susijungia. Žiniatinklio kūrimas skatinamas hipersaitais, tinklaraščiai turi pingbacks ir visos pagrindinės socialinių tinklų sistemos turi žymes, kurios susieja dalykus. Pagrindinės sistemos sukurtos taip, kad jas būtų galima sujungti.

Sudėtinga duomenų struktūra: NoSQL gali lengvai tvarkyti hierarchines įdėtas duomenų struktūras. Norėdami atlikti tą patį SQL, jums reikės kelių reliacinių lentelių su visų rūšių raktais. Be to, yra ryšys tarp našumo ir duomenų sudėtingumo. Tradicinės RDBVS našumas gali pablogėti, nes saugome didžiulius duomenų kiekius, reikalingus socialinių tinklų programose ir semantiniame žiniatinklyje.

Kas yra NoSQL?

Manau, kad vienas iš būdų apibrėžti NoSQL yra atsižvelgti į tai, kas tai nėra. Tai nėra SQL ir nėra santykinis. Kaip rodo pavadinimas, tai nėra RDBMS pakaitalas, bet ją papildo. NoSQL yra sukurta paskirstytoms duomenų saugykloms, skirtoms labai didelio masto duomenų poreikiams. Pagalvokite apie „Facebook“su 500 000 000 vartotojų arba „Twitter“, kuris kiekvieną dieną kaupia terabitus duomenų.

NoSQL duomenų bazėje nėra fiksuotos schemos ir jokių sujungimų. RDBMS „padidėja“gaudama vis greitesnę aparatinę įrangą ir pridėdama atminties. Kita vertus, NoSQL gali pasinaudoti „mažinimo“pranašumais. Mastelio mažinimas reiškia apkrovos paskirstymą daugelyje prekių sistemų. Tai yra NoSQL komponentas, todėl jis yra nebrangus sprendimas dideliems duomenų rinkiniams.

NoSQL kategorijos

Dabartinis NoSQL pasaulis telpa į 4 pagrindines kategorijas.

  1. Key-values Stores visų pirma yra pagrįstos „Amazon“„Dynamo Paper“, kuris buvo parašytas 2007 m. Pagrindinė idėja yra maišos lentelės, kurioje yra unikalus raktas ir rodyklė į konkretų duomenų elementą, egzistavimas. Šie atvaizdai paprastai yra kartu su talpyklos mechanizmais, siekiant maksimaliai padidinti našumą.
  2. Stulpelių šeimos parduotuvės buvo sukurtos saugoti ir apdoroti labai didelius duomenų kiekius, paskirstytus daugelyje įrenginių. Vis dar yra raktų, bet jie nurodo kelis stulpelius. „BigTable“(„Google“stulpelių šeimos NoSQL modelis) atveju eilutės identifikuojamos pagal eilutės raktą, o duomenys rūšiuojami ir saugomi pagal šį raktą. Stulpeliai išdėstyti pagal stulpelių šeimą.

  3. Dokumentų duomenų bazės buvo įkvėptos Lotus Notes ir yra panašios į raktinių verčių saugyklas. Modelis iš esmės yra versijų dokumentai, kurie yra kitų raktų verčių rinkinių rinkiniai. Pusiau struktūriniai dokumentai saugomi tokiais formatais kaip JSON.
  4. Graph Databases yra sukurtos naudojant mazgus, ryšius tarp pastabų ir mazgų savybes. Vietoj eilučių ir stulpelių lentelių bei griežtos SQL struktūros naudojamas lankstus grafiko modelis, kurį galima keisti daugelyje mašinų.

Pagrindiniai NoSQL grotuvai

Pagrindiniai NoSQL žaidėjai atsirado pirmiausia dėl juos priėmusių organizacijų. Kai kurios iš didžiausių NoSQL technologijų yra:

  • Dynamo: Dynamo sukūrė Amazon.com ir yra ryškiausia Key-Value NoSQL duomenų bazė. „Amazon“reikėjo labai keičiamo dydžio paskirstytos platformos savo elektroninės prekybos įmonėms, todėl jie sukūrė „Dinamo“. „Amazon S3“kaip saugojimo mechanizmą naudoja „Dinamo“.
  • Cassandra: „Cassandra“buvo atvirojo kodo „Facebook“ir yra į stulpelius orientuota NoSQL duomenų bazė.
  • BigTable: BigTable yra „Google“patentuota į stulpelius orientuota duomenų bazė. „Google“leidžia naudoti „BigTable“, bet tik „Google App Engine“.
  • SimpleDB: SimpleDB yra dar viena „Amazon“duomenų bazė. Naudojama „Amazon EC2“ir „S3“, ji yra „Amazon Web Services“dalis, kuri ima mokesčius, atsižvelgiant į naudojimą.
  • CouchDB: CouchDB kartu su MongoDB yra į atvirojo kodo dokumentus orientuotos NoSQL duomenų bazės.
  • Neo4J: Neo4j yra atvirojo kodo grafikų duomenų bazė.

Užklausa NoSQL

Klausimas, kaip pateikti užklausą NoSQL duomenų bazėje, domina daugumą kūrėjų. Galų gale, duomenys, saugomi didžiulėje duomenų bazėje, niekam neduos jokios naudos, jei negalite jų atkurti ir parodyti galutiniams vartotojams arba žiniatinklio paslaugas. NoSQL duomenų bazės nepateikia aukšto lygio deklaratyvios užklausos kalbos, tokios kaip SQL. Vietoj to, užklausa šiose duomenų bazėse yra> PREFIX foaf:

SELECT ?url

FROM

WHERE {

?bendradarbis foaf:name "Jon Foobar".

?bendradarbis foaf:weblog ?url.

}

NoSQL ateitis

Organizacijos, kurioms reikia didžiulių duomenų saugojimo poreikių, rimtai žiūri į NoSQL. Matyt, mažesnėse organizacijose ši koncepcija nesulaukia tiek daug dėmesio. Informacijos savaitės atlikta apklausa parodė, kad 44% verslo IT specialistų nėra girdėję apie NoSQL. Be to, tik 1% respondentų teigė, kad NoSQL yra jų strateginės krypties dalis. Akivaizdu, kad NoSQL turi savo vietą mūsų sujungtame pasaulyje, bet turės toliau tobulėti, kad įgytų tokį masinį patrauklumą, kokį daugelis mano, kad jis galėtų turėti.

Rekomenduojamas: