Ülevaade NoSQL-i andmebaasidest

Akronüüm NoSQL loodi 1998. aastal. Paljud inimesed arvavad, et NoSQL on erandlik termin, mis on loodud SQL-i peksmiseks. Tegelikkuses tähendab see mitte ainult SQL-i. Idee on see, et mõlemad tehnoloogiad võivad eksisteerida koos ja neil on oma koht. NoSQL liikumine on viimastel aastatel olnud uudis, sest paljud Web 2.0 liidrid on NoSQL-i tehnoloogia vastu võtnud. Ettevõtted nagu Facebook, Twitter, Digg, Amazon, LinkedIn ja Google kasutavad NoSQL-i ühel või teisel viisil.

Lõhkemata NoSQL-i, et saaksite seda oma juhtkonnale või isegi oma töötajatele seletada.

NoSQL tekkis vajadusest

Andme talletus: maailma salvestatud digitaalsed andmed mõõdetakse exabytes. Exabyte on võrdne ühe miljardi gigabaitiga (GB) andmetega. Internet.com andmetel oli 2006. aastal salvestatud andmete kogus 161 eksabyte. Umbes 4 aastat hiljem 2010. aastal on salvestatud andmete hulk peaaegu 1000 ExaBytetit, mis on rohkem kui 500%. Teisisõnu on maailmas palju andmeid salvestatud ja see kasvab pidevalt.

Ühendatud andmed: andmed on jätkuvalt ühendatud. Hüperlinkides soodustatud veebi loomine, blogides on pingbackid ja kõikidel suurtel sotsiaalvõrgu süsteemidel on sildid, mis ühendavad asju koos. Suured süsteemid on ehitatud nii, et need on omavahel ühendatud.

Kompleksne andmestruktuur: NoSQL saab hõlpsasti hierarhiliste lingitud andmestruktuuridega töödelda. SQL-i jaoks sama asja saavutamiseks vajate mitut relatsioonilist tabelit kõigi võtmetega.

Lisaks on tulemuste ja andmete keerukuse vahel seos. Tõhusus võib levida traditsioonilistes RDBMS-s, kuna me salvestame sotsiaalsete võrkude rakendustes ja semantilises veebis vajalikke tohutuid koguseid andmeid.

Mis on NoSQL?

Ma arvan, et üheks NoSQL-i määratlemise viisiks on kaaluda, mis mitte.

See pole SQL ja see pole relatsiooniline. Nagu nimigi ütleb, ei ole see RDBMSi asendus, vaid komplimenteerib seda. NoSQL on mõeldud hajutatud andmekogude jaoks väga suurte andmevajaduste jaoks. Mõelge Facebookile selle 500 000 000 kasutajaga või Twitteriga, kes kogub iga päev terabitsasid.

NoSQL-i andmebaasis ei ole fikseeritud skeemi ega ühtegi ühtegi. RDBMS "kiirendab" kiirema ja kiirema riistvara hankimisega ja mälu lisamisega. NoSQL teisest küljest saab ära kasutada "vähendamist". Kaalu vähendamine tähendab koormuse levitamist paljude toorainete süsteemide kaupa. See on NoSQLi komponent, mis muudab selle suurte andmekogumite jaoks taskukohaseks lahenduseks.

NoSQL kategooriad

Praegune NoSQL maailm sobib nelja põhikategooriasse.

  1. Võtmeväärtused Kauplused põhinevad peamiselt Amazoni Dynamo-paberil, mis oli kirjutatud 2007. aastal. Peamine mõte on räsi tabeli olemasolu, kus on olemas konkreetne andmekandja unikaalne võti ja kursor. Neid kaarte koostavad sageli jõudluse maksimeerimiseks vahemälu mehhanismid.
    Kolmandate poodide kauplused loodi, et säilitada ja töödelda väga paljusid masinaid levitavaid väga palju andmeid. Siin on veel võtmeid, kuid nad viitavad mitmele veergile. BigTable (Google Column Family NoSQL mudeli puhul) puhul tuvastatakse rea rea ​​võtmega, mille andmed sorteeritakse ja salvestatakse selle võtmega. Veerge on paigutatud veergude perekond.
  1. Dokumentide andmebaasid inspireerisid Lotus Notesi ja sarnanevad peamiste väärtustega kauplustele. See mudel on põhiliselt versioonis olevad dokumendid, mis on teiste võtmeväärtuste kogude kollektsioonid. Poolstruktureeritud dokumendid salvestatakse formaadis nagu JSON.
  2. Graafiku andmebaasi s on üles ehitatud sõlmedega, sidemetega märkmete ja sõlmede omaduste vahel. Rida- ja veergude tabelite asemel SQL jäik struktuur kasutatakse paindlikku graafikamudelit, mis võib ulatuda paljudesse masinatesse.

Peamised NoSQL-i mängijad

NoSQLi peamised mängijad on tekkinud peamiselt organisatsioonide poolt, kes on neid vastu võtnud. Mõned suurimad NoSQL-i tehnoloogiad hõlmavad järgmist:

NoSQL-i päring

Küsimus, kuidas NoSQL-i andmebaasi küsida, on see, mida enamik arendajaid huvitab. Lõppude lõpuks ei tohiks tohutu andmebaasi salvestatud andmed kedagi kellelegi hea olla, kui te ei saa seda alla laadida ega näidata seda lõppkasutajatele ega veebiteenustele. NoSQL-i andmebaasid ei anna kõrgetasemelist deklaratiivset päringukeele nagu SQL. Selle asemel on nende andmebaaside päring andmeellu spetsiifiline.

Paljud NoSQL-i platvormid võimaldavad andmetele RESTful-liideseid. Muud pakkumise päringu API-d. Seal on paar päringutööriistu, mis on välja töötatud ja üritavad päringuid paljude NoSQL-i andmebaaside kohta. Need tööriistad töötavad tavaliselt ühe NoSQL-i kategoorias. Üks näide on SPARQL. SPARQL on deklaratiivne päringu spetsifikatsioon graafika andmebaaside jaoks. Siin on näide SPARQL-i päringust, mis otsib konkreetse blogija veebilehte (IBM-i viisakalt):

PREFIX foaf:
SELECT? Url
FROM
KUS {
Contributor foaf: nimi "Jon Foobar".
sponsori foaf: weblog? url.
}

NoSQLi tulevik

Organisatsioonid, kellel on tohutu andmesalvestusvajadus, otsivad NetSQL-i tõsiselt. Ilmselt ei jõua kontseptsioon väiksemates organisatsioonides nii palju liikumist. Infojuhe läbi viidud uuringus pole 44% IT-spetsialistidest kuulnud NoSQL-i. Veelgi enam, ainult 1% vastanutest teatas, et NoSQL on nende strateegilise suuna osa. Ilmselgelt on NoSQLi koht meie ühendatud maailmas, kuid see tuleb edasi areneda, et saada mass kaebus, mida paljud arvavad, et see võib olla.