Një pasqyrë e bazave të të dhënave NoSQL

Akronimi NoSQL u krijua në 1998. Shumë njerëz mendojnë se NoSQL është një term nënçmues që krijohet për të bërtitur në SQL. Në të vërtetë, termi do të thotë jo vetëm SQL. Ideja është që të dyja teknologjitë mund të bashkëjetojnë dhe secili ka vendin e vet. Lëvizja NoSQL ka qenë në lajme në vitet e fundit, pasi shumë prej udhëheqësve të Web 2.0 kanë adoptuar një teknologji NoSQL. Kompanitë si Facebook, Twitter, Digg, Amazon, LinkedIn dhe Google të gjitha përdorin NoSQL në një mënyrë apo në një tjetër.

Le të thyejmë NoSQL kështu që ju mund të shpjegoni atë në CIO tuaj ose edhe bashkëpunëtorët tuaj.

NoSQL u shfaq nga një nevojë

Ruajtja e të dhënave: Të dhënat digjitale të ruajtura në botë maten në exabytes. Një ekzabyte është e barabartë me një miliard gigabajt (GB) të të dhënave. Sipas Internet.com, sasia e të dhënave të ruajtura të shtuara në vitin 2006 ishte 161 ekzabajt. Vetëm 4 vjet më vonë në 2010, sasia e të dhënave të ruajtura do të jetë pothuajse 1000 ExaBytes e cila është një rritje prej mbi 500%. Me fjalë të tjera, ka shumë të dhëna që ruhen në botë dhe vetëm do të vazhdojë të rritet.

Të dhënat e ndërlidhura: Të dhënat vazhdojnë të bëhen më të lidhura. Krijimi i web-ve të nxitur në hyperlinks, bloget kanë pingbacks dhe çdo sistem i rrjetit social ka etiketa që lidhin gjërat së bashku. Sistemet kryesore janë të ndërtuara për t'u ndërlidhur.

Struktura e të dhënave komplekse: NoSQL mund të menaxhojë lehtësisht strukturat e të dhënave të mbivendosur hierarkike. Për të arritur të njëjtën gjë në SQL, do të duhen shumë tabela relacionale me të gjitha llojet e çelësave.

Përveç kësaj, ekziston një lidhje midis performancës dhe kompleksitetit të të dhënave. Performanca mund të degradojë në një RDBMS tradicionale, ndërsa ruajmë sasi masive të të dhënave të kërkuara në aplikacionet e rrjeteve shoqërore dhe në uebin semantik.

Çfarë është NoSQL?

Unë mendoj një mënyrë për të përcaktuar NoSQL është të marrin në konsideratë atë që nuk është.

Nuk është SQL dhe nuk është relacionale. Ashtu si emri sugjeron, kjo nuk është një zëvendësim për një RDBMS por komplimon atë. NoSQL është projektuar për dyqane të të dhënave të shpërndara për nevoja të të dhënave në shkallë të gjerë. Mendoni për Facebook me 500,000,000 përdorues ose Twitter që grumbullon Terabits të të dhënave çdo ditë.

Në një bazë të dhënash NoSQL, nuk ka skemë fikse dhe asnjë bashkim. Një RDBMS "peshon" duke u bërë më të shpejtë dhe më të shpejtë hardware dhe duke shtuar kujtesën. NoSQL, në anën tjetër, mund të përfitojë nga "shkallëzimi". Zvogëlimi i referohet përhapjes së ngarkesës në shumë sisteme mallrash. Ky është komponenti i NoSQL që e bën atë një zgjidhje të lirë për skedarë të dhënash të mëdhenj.

Kategoritë NoSQL

Bota aktuale e NoSQL përshtatet në 4 kategori bazë.

  1. Vlerat kryesore të dyqaneve janë të bazuara kryesisht në letrën Dynamo të Amazon, e cila u shkrua në vitin 2007. Ideja kryesore është ekzistenca e një tryeze hash ku ka një çelës unik dhe një tregues për një artikull të caktuar të të dhënave. Këto harta janë zakonisht të shoqëruara me mekanizma të cache për të maksimizuar performancën.
    Dyqanet familjare të kolonës u krijuan për të ruajtur dhe përpunuar sasi shumë të mëdha të të dhënave të shpërndara nëpër shumë makina. Ka akoma çelësa, por ato tregojnë për kolona të shumta. Në rastin e BigTable (modeli i Column Family Google NoSQL), rreshtat identifikohen me një çelës rresht me të dhënat e renditura dhe të ruajtura nga ky çelës. Kolonat janë rregulluar sipas familjes së kolonës.
  1. Baza e të dhënave të dokumenteve u frymëzuan nga Lotus Notes dhe janë të ngjashme me dyqanet e vlerave me vlerë. Modeli është dokumente në thelb të versioneve që janë koleksione të koleksioneve të tjera të vlerës së rëndësishme. Dokumentet gjysmë të strukturuara ruhen në formate si JSON.
  2. Baza e të dhënave të Grave janë ndërtuar me nyje, marrëdhënie midis shënimeve dhe pronave të nyjeve. Në vend të tabelave të rreshtave dhe kolonave dhe strukturës së ngurtë të SQL, përdoret një model grafik fleksibël i cili mund të shkallëzohet nëpër shumë makina.

Lojtarë të mëdhenj NoSQL

Lojtarët kryesorë në NoSQL janë shfaqur kryesisht për shkak të organizatave që i kanë miratuar ato. Disa nga teknologjitë më të mëdha NoSQL përfshijnë:

Querying NoSQL

Pyetja se si të pyesni një bazë të dhënash NoSQL është ajo që shumica e zhvilluesve janë të interesuar. Në fund të fundit, të dhënat e ruajtura në një bazë të dhënash të madhe nuk bëjnë askënd të mirë nëse nuk mund ta tërheqësh dhe ta tregosh për t'i dhënë fund përdoruesve ose shërbimeve të internetit. Bazat e të dhënave NoSQL nuk ofrojnë një gjuhë deklarimi të nivelit të lartë si SQL. Në vend të kësaj, kërkimi i këtyre bazave të të dhënave është specifik i modelit të të dhënave.

Shumë nga platformat NoSQL mundësojnë lidhje të RESTful me të dhënat. API të tjera të ofertave të ofertave. Ekzistojnë disa mjete kërkimi që janë zhvilluar që tentojnë të kërkojnë baza të të dhënave të shumta NoSQL. Këto mjete punojnë zakonisht në një kategori të vetme NoSQL. Një shembull është SPARQL. SPARQL është një specifikim deklarues i deklaruar për bazat e të dhënave të grafikëve. Këtu është një shembull i një pyetjeje SPARQL që merr URL-në e një blogeri të veçantë (mirësjellje nga IBM):

PREFIX foaf:
SELECT? Url
NGA
KU {
Foaf kontribues: emri "Jon Foobar".
kontribues foaf: weblog? url.
}

Ardhmëria e NoSQL

Organizatat që kanë nevojë për ruajtje masive të të dhënave po shohin seriozisht në NoSQL. Me sa duket, koncepti nuk është duke u tërhequr aq shumë në organizata më të vogla. Në një sondazh të kryer nga Java e Informacionit, 44% e profesionistëve të IT të biznesit nuk kanë dëgjuar për NoSQL. Më tej, vetëm 1% e të anketuarve raportuan se NoSQL është pjesë e drejtimit të tyre strategjik. Qartë, NoSQL ka vendin e vet në botën tonë të lidhur, por do të duhet të vazhdojë të evoluojë për të marrë apelin masiv që shumë mendojnë se mund të ketë.