NoSQL duomenų bazių apžvalga

1998 m. Akronimas NoSQL buvo sukurtas. Daugelis žmonių mano, kad NoSQL yra leidžiamas terminas, sukurtas SQL. Iš tiesų terminas reiškia ne tik SQL. Idėja yra ta, kad abi technologijos gali egzistuoti kartu, ir kiekviena turi savo vietą. "NoSQL" judėjimas per pastaruosius keletą metų buvo naujienų, nes dauguma "Web 2.0" lyderių priėmė "NoSQL" technologiją. Tokios įmonės, kaip "Facebook", "Twitter", "Digg", "Amazon", "LinkedIn" ir "Google", vienaip ar kitaip naudoja "NoSQL".

Suskleiskime "NoSQL", kad galėtumėte tai paaiškinti savo CIO ar net savo kolegoms.

NoSQL atsirado dėl poreikio

Duomenų saugojimas: pasaulio saugomi skaitmeniniai duomenys yra matuojami eksabaitais. Exabyte yra lygi milijardui gigabaitų (GB) duomenų. Pasak "Internet.com", 2006 m. Įrašytų duomenų kiekis buvo 161 eksabaitų. Praėjus vos 4 metams po 2010 m., Saugomi duomenys bus beveik 1000 "ExaBytes", tai yra daugiau kaip 500% daugiau. Kitaip tariant, pasaulyje yra daug duomenų, kurie tik bus toliau augti.

Tarpusavyje susiję duomenys: duomenys ir toliau tampa labiau prijungti. Hipersaitų, skatintų tinklalapių kūrimas, tinklaraščiuose yra pingbukų, ir kiekvienoje svarbioje socialinių tinklų sistemoje yra žymių, kurios kartu sujungia dalykus. Pagrindinės sistemos yra sujungtos.

Sudėtinė duomenų struktūra: " NoSQL" gali lengvai tvarkyti hierarchines įdėtas duomenų struktūras. Norėdami įvykdyti tą patį SQL, reikės kelių reliacinių stalų su visais raktų tipais.

Be to, yra ryšys tarp našumo ir duomenų sudėtingumo. Produktyvumas gali pablogėti tradiciniuose RDBVS, nes mes saugome didžiulius duomenis, reikalingus socialinių tinklų programose ir semantiniame tinkle.

Kas yra NoSQL?

Manau, kad vienas iš būdų apibrėžti NoSQL - tai apsvarstyti, kas ne.

Tai ne SQL, ir tai nėra reliacinė. Kaip rodo pavadinimas, tai nėra RDBVD pakeitimas, bet komplimentuoja. "NoSQL" sukurta platinamų duomenų saugykloms labai dideliems duomenų poreikiams patenkinti. Pagalvokite apie "Facebook" su savo 500 000 000 vartotojų ar "Twitter", kuris kaupia Terabits duomenis kiekvieną dieną.

NoSQL duomenų bazėje nėra fiksuotos schemos ir nėra prisijungimų. RDBVS "pagreitina", greičiau ir greičiau diegiama aparatūra ir papildoma atmintis. Kita vertus, "NoSQL" gali pasinaudoti "mažinimo" pranašumais. Padalijimas reiškia, kad paskirstoma apkrova daugelyje prekių sistemų. Tai yra NoSQL komponentas, todėl tai yra nebrangus sprendimas dideliems duomenų rinkiniams.

NoSQL kategorijos

Dabartinis NoSQL pasaulis tinka 4 pagrindinėms kategorijoms.

  1. Raktinių vertybių saugyklos daugiausia pagrįstos " Amazon" "Dinamo" popieriumi, kuris buvo parašytas 2007 m. Pagrindinė idėja yra tai, kad egzistuoja maišos lentelė, kurioje yra unikalus raktas ir rodiklis tam tikram duomenų elementui. Šie atvaizdai paprastai pridedami prie talpyklos mechanizmų, siekiant padidinti našumą.
    Stulpelių šeimos parduotuvės buvo sukurtos siekiant išsaugoti ir apdoroti labai daug duomenų, platinamų daugelyje mašinų. Vis dar yra raktų, bet jie nurodo į kelis stulpelius. "BigTable" atveju ("Google" stulpelių šeimos NoSQL modelis) eilutės identifikuojamos eilės raktu, o duomenys yra surūšiuoti ir saugomi šiuo raktu. Stulpeliai yra surūšiuoti pagal stulpelių šeimą.
  1. Dokumentų duomenų bazės buvo įkvėpta " Lotus Notes" ir yra panašios į pagrindinių vertybinių popierių parduotuves. Modelis yra iš esmės versti dokumentai, kurie yra kitų pagrindinių vertybių rinkinių rinkiniai. Pusiau struktūrizuoti dokumentai saugomi tokiais formatais kaip JSON.
  2. Diagramos duomenų bazės yra pastatytos su mazgais, ryšiais tarp užrašų ir mazgų savybėmis. Vietoje eilučių ir stulpelių lentelių ir standžios SQL struktūros yra naudojamas lankstus grafinis modelis, kuris gali pasiskirstyti daugelyje mašinų.

Pagrindiniai "NoSQL" grotuvai

Pagrindiniai "NoSQL" veikėjai atsirado pirmiausia dėl organizacijų, kurios juos priėmė. Kai kurios didžiausios NoSQL technologijos apima:

Užklausa NoSQL

Klausimas, kaip užklausti "NoSQL" duomenų bazę, yra tai, ko labiausiai vertina kūrėjai. Galų gale, didžiulėje duomenų bazėje saugomi duomenys niekam netinka, jei negalėsite jį parsisiųsti ir parodyti galutiniams vartotojams ar žiniatinklio paslaugoms. NoSQL duomenų bazėse nėra aukšto lygio deklaracinės užklausos kalbos, tokios kaip SQL. Vietoj to, užklausimas dėl šių duomenų bazių yra konkretus duomenų modelis.

Daugelis "NoSQL" platformų leidžia naudoti RESTful sąsajas su duomenimis. Kiti pasiūlymų užklausų API. Yra keli užklausų įrankiai, kurie bando užklausti keletą NoSQL duomenų bazių. Šie įrankiai paprastai veikia per vieną "NoSQL" kategoriją. Vienas iš pavyzdžių yra SPARQL. SPARQL yra deklaratyvi užklausų specifikacija, sukurta duomenų bazių grafikai. Čia pateikiamas SPARQL užklausos pavyzdys, išgaunantis konkretaus tinklaraščio URL adresą ("IBM" mandagumo):

PREFIX foaf:
SELECT? Url
FROM
KUR {
"Contributor foaf: pavadinimas" Jon Foobar ".
? autorius foaf: weblog? url.
}

"NoSQL" ateitis

Organizacijos, turinčios didžiulius duomenų saugojimo poreikius, rimtai vertina "NoSQL". Akivaizdu, kad koncepcija negauna tiek traukos mažesnėse organizacijose. "Information Week" atlikto tyrimo metu 44 proc. Verslo IT specialistų negirdėjo apie "NoSQL". Be to, tik 1% respondentų teigė, kad NoSQL yra strateginės krypties dalis. Akivaizdu, kad "NoSQL" turi savo vietą mūsų susijusiame pasaulyje, bet turės ir toliau vystytis, kad gautų masinį apeliacinį skundą, kurį manytų galbūt.