Trosolwg o Gronfeydd Data NoSQL

Cafodd yr acronym NoSQL ei gansio ym 1998. Mae llawer o bobl yn meddwl bod NoSQL yn derm derogol a grëwyd i gychwyn yn SQL. Mewn gwirionedd, mae'r term yn golygu nid yn unig SQL. Y syniad yw y gall y ddau dechnoleg gyfuno a bod gan bob un ei le. Mae'r mudiad NoSQL wedi bod yn y newyddion yn ystod y blynyddoedd diwethaf gan fod nifer o arweinwyr Web 2.0 wedi mabwysiadu technoleg NoSQL. Mae cwmnïau fel Facebook, Twitter, Digg, Amazon, LinkedIn a Google i gyd yn defnyddio NoSQL mewn un ffordd neu'r llall.

Gadewch i ni dorri i lawr NoSQL fel y gallwch ei esbonio i'ch CIO neu hyd yn oed eich cydweithwyr.

NoSQL Wedi'i Allgáu o Angen

Storio Data: Mesurir data digidol storio y byd yn exabytes. Mae exabyte yn gyfartal ag un biliwn o gigabytes (GB) o ddata. Yn ôl Internet.com, roedd y swm o ddata a storiwyd yn 2006 yn 161 exabytes. Dim ond 4 blynedd yn ddiweddarach yn 2010, y swm o ddata a storir fydd bron i 1,000 o ExaBytes, sef cynnydd o dros 500%. Mewn geiriau eraill, mae llawer o ddata yn cael ei storio yn y byd ac mae'n mynd i barhau i dyfu.

Data Rhyng-gysylltiedig: Mae'r data yn parhau i fod yn fwy cysylltiedig. Mae creu y we wedi'i feithrin mewn hypergysylltiadau, mae blogiau'n cael pingbacks ac mae gan bob system rhwydwaith cymdeithasol fawr tagiau sy'n clymu pethau gyda'i gilydd. Mae systemau mawr wedi'u hadeiladu i fod yn rhyng-gysylltiedig.

Strwythur Data Cymhleth: gall NoSQL drin strwythurau data nythol hierarchaidd yn hawdd. Er mwyn cyflawni'r un peth yn SQL, byddai angen sawl tabl perthynas â phob math o allwedd.

Yn ogystal, mae perthynas rhwng perfformiad a chymhlethdod data. Gall perfformiad ddirywio mewn RDBMS traddodiadol wrth i ni storio'r symiau enfawr o ddata sydd eu hangen mewn cymwysiadau rhwydweithio cymdeithasol a'r we semantig.

Beth yw NoSQL?

Rwy'n dyfalu mai un ffordd i ddiffinio NoSQL yw ystyried beth nad yw.

Nid yw'n SQL ac nid yw'n berthynasol. Fel yr awgryma'r enw, nid yw'n ddisodli am RDBMS ond mae'n ei ategu. Mae NoSQL wedi'i gynllunio ar gyfer storfeydd data dosbarthu ar gyfer anghenion data ar raddfa fawr iawn. Meddyliwch am Facebook gyda'i 500,000,000 o ddefnyddwyr neu Twitter sy'n cronni Terabits o ddata bob dydd.

Mewn cronfa ddata NoSQL, nid oes sgema sefydlog a dim ymuno. Mae graddfeydd "RDBMS" yn cynyddu trwy galedwedd cyflymach a chyflymach ac ychwanegu cof. Gall NoSQL, ar y llaw arall, fanteisio ar "ymledu allan". Mae sgorio yn cyfeirio at ledaenu'r llwyth dros lawer o systemau nwyddau. Dyma gydran NoSQL sy'n ei gwneud yn ateb rhad ar gyfer setiau data mawr.

Categorïau NoSQL

Mae'r byd NoSQL cyfredol yn cyd-fynd â 4 categori sylfaenol.

  1. Mae Siopau Gwerthoedd Allweddol yn seiliedig yn bennaf ar Bapur Dynamo Amazon a ysgrifennwyd yn 2007. Y prif syniad yw bodolaeth bwrdd hash lle mae allwedd unigryw a phwyntydd i eitem benodol o ddata. Mae'r dulliau mapio hyn fel arfer yn cynnwys mecanweithiau cache i wneud y mwyaf o berfformiad.
    Crëwyd Storfeydd Teulu Colofn i storio a phrosesu symiau mawr iawn o ddata a ddosbarthwyd dros lawer o beiriannau. Mae yna allweddi o hyd ond maent yn cyfeirio at nifer o golofnau. Yn achos BigTable (model NoSQL Teulu Colofn Google), dynodir rhesi gan allwedd rhes gyda'r data wedi'i didoli a'i storio gan yr allwedd hon. Trefnir y colofnau gan deulu colofn.
  1. Cafodd Cronfa Ddata Dogfennau eu hysbrydoli gan Lotus Notes ac maent yn debyg i siopau gwerth allweddol. Yn y bôn, mae'r model yn cael ei fersiynu dogfennau sy'n gasgliadau o gasgliadau gwerth allweddol eraill. Mae'r dogfennau lled-strwythuredig yn cael eu storio mewn fformatau fel JSON.
  2. Gronfa Ddata Graff yn cael eu hadeiladu gyda nodau, perthnasau rhwng nodiadau ac eiddo nodau. Yn hytrach na thablau rhesi a cholofnau a strwythur anhyblyg SQL, defnyddir model graff hyblyg a all raddio ar draws nifer o beiriannau.

Chwaraewyr NoSQL Mawr

Mae'r prif chwaraewyr yn NoSQL wedi dod i'r amlwg yn bennaf oherwydd y sefydliadau sydd wedi eu mabwysiadu. Mae rhai o'r technolegau NoSQL mwyaf yn cynnwys:

Chwilio NoSQL

Y cwestiwn o sut i holi cronfa ddata NoSQL yw'r hyn y mae gan y mwyafrif o ddatblygwyr ddiddordeb ynddo. Wedi'r cyfan, nid yw data a storir mewn cronfa ddata enfawr yn gwneud unrhyw un yn dda os na allwch ei adfer a'i ddangos i ddefnyddwyr terfynol na gwasanaethau gwe. Nid yw cronfeydd data NoSQL yn darparu iaith ymholiad ddatganol lefel uchel fel SQL. Yn lle hynny, mae cwestiynu'r cronfeydd data hyn yn fodel data yn benodol.

Mae llawer o'r llwyfannau NoSQL yn caniatáu rhyngwynebau RESTful i'r data. API ymholiad cynnig arall. Mae yna ychydig o offer ymholiadau a ddatblygwyd sy'n ceisio ymholi nifer o gronfeydd data NoSQL. Fel arfer, mae'r offer hyn yn gweithio ar draws un categori NoSQL. Un enghraifft yw SPARQL. Mae SPARQL yn fanyleb ymholiad datganol a gynlluniwyd ar gyfer cronfeydd data graff. Dyma enghraifft o ymholiad SPARQL sy'n adalw URL blogiwr penodol (trwy garedigrwydd IBM):

PREFIX foaf:
SELECT? Url
ODDI
BLE {
? contributor foaf: enw "Jon Foobar".
foed cyfrannwr: weblog? url.
}

Dyfodol NoSQL

Mae sefydliadau sydd ag anghenion storio data enfawr yn edrych o ddifrif ar NoSQL. Yn ôl pob tebyg, nid yw'r cysyniad yn cael cymaint o dynnu mewn sefydliadau llai. Mewn arolwg a gynhaliwyd gan Wythnos Wybodaeth, nid yw 44% o weithwyr proffesiynol TG busnes wedi clywed am NoSQL. Ymhellach, dim ond 1% o'r ymatebwyr a adroddodd fod NoSQL yn rhan o'u cyfeiriad strategol. Yn amlwg, mae gan NoSQL ei le yn ein byd cysylltiedig ond bydd angen iddo barhau i esblygu er mwyn cael yr apêl fawr y mae llawer yn meddwl y gallai fod ganddo.