NoSQL-i andmebaaside ülevaade

Sisukord:

NoSQL-i andmebaaside ülevaade
NoSQL-i andmebaaside ülevaade
Anonim

Lühend NoSQL võeti kasutusele 1998. aastal. Paljud inimesed arvavad, et NoSQL on halvustav termin, mis on loodud SQL-i näppimiseks. Tegelikkuses tähendab see termin mitte ainult SQL-i. Idee seisneb selles, et mõlemad tehnoloogiad võivad koos eksisteerida ja mõlemal on oma koht. NoSQL-i liikumine on viimastel aastatel olnud uudistes, kuna paljud Web 2.0 juhid on kasutusele võtnud NoSQL-tehnoloogia. Sellised ettevõtted nagu Facebook, Twitter, Digg, Amazon, LinkedIn ja Google kasutavad ühel või teisel viisil NoSQL-i. Teeme NoSQL-i lahti, et saaksite seda oma CIO-le või isegi kaastöötajatele selgitada.

Image
Image

NoSQL tekkis vajadusest

Andmete salvestamine: Maailmas salvestatud digitaalseid andmeid mõõdetakse eksabaitides. Eksabait võrdub ühe miljardi gigabaidiga (GB) andmetega. Internet.com andmetel oli 2006. aastal lisatud salvestatud andmete hulk 161 eksabaiti. Vaid 4 aastat hiljem, 2010. aastal, on salvestatud andmete hulk peaaegu 1000 Exabaiti, mis on üle 500% rohkem. Teisisõnu, maailmas on salvestatud palju andmeid ja see lihts alt kasvab.

Ühendatud andmed: Andmed on jätkuv alt ühendatud. Veebi loomist soodustavad hüperlinkid, ajaveebidel on tagasipingid ja igal suuremal suhtlusvõrgustiku süsteemil on sildid, mis seovad asju omavahel. Peamised süsteemid on loodud omavahel ühendamiseks.

Keeruline andmestruktuur: NoSQL saab hõlpsasti hakkama hierarhiliste pesastatud andmestruktuuridega. SQL-is sama asja saavutamiseks vajate mitut relatsioonitabelit igasuguste võtmetega. Lisaks on jõudluse ja andmete keerukuse vahel seos. Traditsioonilises RDBMS-is võib jõudlus halveneda, kuna talletame tohutul hulgal andmeid, mida on vaja suhtlusvõrgustike rakendustes ja semantilises veebis.

Mis on NoSQL?

Ma arvan, et üks viis NoSQL-i defineerimiseks on kaaluda, mis see ei ole. See ei ole SQL ja see pole relatsiooniline. Nagu nimigi ütleb, ei asenda see RDBMS-i, vaid täiendab seda. NoSQL on mõeldud hajutatud andmehoidlate jaoks väga suuremahuliste andmevajaduste jaoks. Mõelge Facebookile oma 500 000 000 kasutajaga või Twitterile, mis kogub iga päev terabitte andmeid.

NoSQL-i andmebaasis pole fikseeritud skeemi ega liitumisi. RDBMS "suureneb", hankides üha kiirema riistvara ja lisades mälu. NoSQL seevastu saab "mahandamisest" ära kasutada. Skaleerimine viitab koormuse jaotamisele paljude kaubasüsteemide vahel. See on NoSQL-i komponent, mis muudab selle odavaks lahenduseks suurte andmekogumite jaoks.

NoSQL-i kategooriad

Praegune NoSQL-maailm mahub nelja põhikategooriasse.

  1. Key-values Stores põhinevad peamiselt Amazoni Dynamo Paperil, mis kirjutati 2007. aastal. Põhiidee on räsitabeli olemasolu, kus on unikaalne võti ja osuti konkreetsele andmeüksusele. Nende vastendustega kaasnevad tavaliselt jõudluse maksimeerimiseks vahemälumehhanismid.
  2. Veeruperepoed loodi väga suurte andmemahtude salvestamiseks ja töötlemiseks, mis on jaotatud paljudele masinatele. Klahvid on endiselt olemas, kuid need osutavad mitmele veerule. BigTable'i (Google'i veergude perekonna NoSQL-i mudel) puhul identifitseeritakse read reavõtmega, mille andmed on selle võtmega sorteeritud ja salvestatud. Veerud on järjestatud veerupere järgi.

  3. Dokumendiandmebaasid on inspireeritud Lotus Notesist ja sarnanevad võtmeväärtuste poodidele. Mudel on põhiliselt versioonitud dokumendid, mis on muude võtmeväärtuste kogude kogumid. Poolstruktureeritud dokumendid salvestatakse sellistes vormingutes nagu JSON.
  4. Graafikandmebaass on üles ehitatud sõlmede, märkmete vaheliste seoste ja sõlmede omadustega. Ridade ja veergude tabelite ning SQL-i jäiga struktuuri asemel kasutatakse paindlikku graafikumudelit, mida saab skaleerida paljudes masinates.

Peamised NoSQL-mängijad

NoSQL-i peamised tegijad on esile kerkinud eelkõige tänu organisatsioonidele, kes on need kasutusele võtnud. Mõned suurimad NoSQL-i tehnoloogiad hõlmavad järgmist:

  • Dynamo: Dynamo lõi Amazon.com ja see on kõige silmapaistvam võtmeväärtuse NoSQL-i andmebaas. Amazon vajas oma e-kaubanduse ettevõtete jaoks väga skaleeritavat hajutatud platvormi, nii et nad arendasid Dynamo. Amazon S3 kasutab salvestusmehhanismina Dynamo.
  • Cassandra: Cassandra oli avatud lähtekoodiga Facebook ja see on veerupõhise NoSQL-i andmebaas.
  • BigTable: BigTable on Google'i patenteeritud veergudele orienteeritud andmebaas. Google lubab BigTable'i kasutada, kuid ainult Google App Engine'i jaoks.
  • SimpleDB: SimpleDB on veel üks Amazoni andmebaas. Seda kasutatakse Amazon EC2 ja S3 jaoks ning see on osa Amazon Web Services'ist, mis võtab kasutusest olenev alt tasu.
  • CouchDB: CouchDB koos MongoDB-ga on avatud lähtekoodiga dokumentidele orienteeritud NoSQL-i andmebaasid.
  • Neo4J: Neo4j on avatud lähtekoodiga graafikute andmebaas.

NoSQL-i päring

Küsimus, kuidas teha päringuid NoSQL-i andmebaasist, on see, millest enamik arendajaid huvitab. Lõppude lõpuks ei tee tohutusse andmebaasi salvestatud andmed kellelegi head, kui te ei saa neid hankida ja lõppkasutajatele näidata. või veebiteenused. NoSQL-i andmebaasid ei paku kõrgetasemelist deklaratiivset päringukeelt nagu SQL. Selle asemel on nende andmebaaside päringute tegemine > PREFIX foaf:

SELECT ?url

FROM

WHERE {

?contributor foaf:name "Jon Foobar".

?contributor foaf:weblog ?url.

}

NoSQL-i tulevik

Organisatsioonid, millel on tohutud andmesalvestusvajadused, vaatavad tõsiselt NoSQL-i. Ilmselt ei saa kontseptsioon väiksemates organisatsioonides nii palju tähelepanu. Information Weeki korraldatud uuringus ei ole 44% ettevõtete IT-spetsialistidest NoSQL-ist kuulnud. Lisaks teatas vaid 1% vastanutest, et NoSQL on osa nende strateegilisest suunast. On selge, et NoSQL-il on meie ühendatud maailmas oma koht, kuid see peab jätkama arenemist, et saavutada massiline atraktiivsus, mis paljude arvates sellel võiks olla.

Soovitan: