Superrigardo pri Datumoj de NoSQL

La siglo NoSQL estis kreita en 1998. Multaj homoj opinias, ke NoSQL estas derogata termino kreita por fiksi ĉe SQL. Fakte, la termino signifas Ne Nur SQL. La ideo estas, ke ambaŭ teknologioj povas kunvivi kaj ĉiu havas sian lokon. La movado de NoSQL estis en la novaĵoj en la lastaj jaroj, kiel multaj el la ĉefoj de Retejo 2.0 adoptis teknologion de NoSQL. Kompanioj kiel Facebook, Twitter, Digg, Amazon, LinkedIn kaj Google ĉiuj uzas NoSQL de unu maniero aŭ alia.

Ni rompu NoSQL do vi povas klarigi ĝin al via CIO aŭ eĉ viaj kunlaborantoj.

NoSQL Emerĉita De Bezono

Datuma Stokado: La ciferecaj datumoj stokitaj de la mondo estas mezuritaj en exabytes. Exabyte estas egala al unu miliardoj da gigabajtoj (GB) de datumoj. Laŭ Internet.com, la kvanto da stokitaj datumoj aldonitaj en 2006 estis 161 exabytes. Ĝuste 4 jarojn poste en 2010, la kvanto da datumoj konservataj estos preskaŭ 1,000 ExaBytes, kiu estas pliigo de pli ol 500%. Alivorte, ekzistas multaj datumoj konservataj en la mondo kaj nur tuj kreskos.

Interkonektitaj Datumoj: Datumoj daŭre pli konektas. La kreado de la retejo kreita en hiperligoj, blogoj havas pingakojn kaj ĉiu grava socia reto-sistemo havas etikedojn, kiuj ligas aferojn kune. Gravaj sistemoj estas konstruitaj por esti interkonektitaj.

Kompleksa Datumoj Strukturo: NoSQL povas facile manipuli hierarkiajn nestajn datumstrukturojn. Por plenumi la saman aferon en SQL, vi bezonus multoblajn rilatojn kun ĉiuj specoj de klavoj.

Krome, ekzistas rilato inter agado kaj komplekseco de datumoj. Elfaro povas degradi en tradicia RDBMS dum ni stokas la amasajn kvantojn da datumoj postulitaj en sociaj retoj-aplikoj kaj la semantika retejo.

Kio estas NoSQL?

Mi supozas, ke unu maniero difini NoSQL konsideras, kio ĝi ne estas.

Ĝi ne estas SQL kaj ĝi ne estas rilata. Kiel la nomo sugestas, ĝi ne anstataŭas RDBMS sed komplimentas ĝin. NoSQL estas desegnita por distribuitaj datumbazoj por grandskala datumaj bezonoj. Pensu pri Facebook kun ĝiaj 500,000,000 milionoj da uzantoj aŭ Twitter, kiuj amasigas terabitojn de datumoj ĉiun tagon.

En datumbazo de NoSQL, ne ekzistas fiksita skemo kaj neniu kunigas. RDBMS "skaloj" per pli rapide kaj pli rapida aparataro kaj aldonanta memoron. NeSQL, aliflanke, povas utiligi "grimpante". Ampleksa raportas al disvastigo de multaj ŝarĝaj sistemoj. Ĉi tiu estas la komponanto de NoSQL, kiu ebligas al ĝi malmultekostan solvon por grandaj datformoj.

NoSQL Kategorioj

La nuna NoSQL-mondo konvenas en 4 bazajn kategoriojn.

  1. Ŝlosilaj valoroj estas bazitaj ĉefe en la Dinamo-Papero de Amazonoj, kiuj estis skribitaj en 2007. La ĉefa ideo estas la ekzisto de hash-tablo, kie ekzistas sola ŝlosilo kaj puntero al aparta ero de datumoj. Ĉi tiuj mapoj kutime estas akompanataj de cach-mekanismoj por maksimumigi la agadon.
    Kolumnaj Familiaj Butikoj estis kreitaj por stoki kaj procesi tre grandajn kvantojn da datumoj distribuitajn sur multaj maŝinoj. Ankoraŭ estas klavoj sed ili notas al multaj kolumnoj. En la kazo de BigTable (Google's Column Family NoSQL-modelo), vicoj estas identigitaj per vico-ŝlosilo kun la datumoj ordo kaj stokitaj de ĉi tiu ŝlosilo. La kolumnoj estas aranĝitaj de kolumna familio.
  1. Dokumentaj datumbazoj estis inspiritaj de Lotus Notes kaj estas similaj al ŝlosila valoraj vendejoj. La modelo estas esence dokumentita dokumentoj, kiuj estas kolektoj de aliaj ŝlosilaj valoraj kolektoj. La duonstruktaj dokumentoj estas stokitaj en formatoj kiel JSON.
  2. Grafika Datumbazo estas konstruitaj per nodoj, rilatoj inter notoj kaj la propraĵoj de nodoj. Anstataŭ tabuloj de vicoj kaj kolumnoj kaj la rigida strukturo de SQL, fleksebla grafika modelo estas uzata, kiu povas skalpi tra multaj maŝinoj.

Plej grandaj NoSQL-ludantoj

La ĉefaj ludantoj en NoSQL ŝprucis ĉefe pro la organizoj, kiuj ilin adoptis. Kelkaj el la plej grandaj NoSQL-teknologioj inkluzivas:

Demandante NoSQL

La demando pri kiel pridemandi datumbazon de NoSQL estas la plejparto de la programistoj interesataj. Post ĉio, datumoj stokitaj en grandega datumbazo ne faras bonon al iu ajn se vi ne povas rekuperi kaj montri ĝin por fini uzantojn aŭ retajn servojn. NeSQL-datumbazoj ne provizas altajn nivelajn deklarajn lingvajn lingvojn kiel SQL. Anstataŭe, provante ĉi tiujn datumbazojn estas specifa modelo-datumoj.

Multaj el la NoSQL-platformoj permesas RESTful interfacojn al la datumoj. Aliaj proponoj de konsiloj API. Ekzistas kelkaj serĉaj iloj, kiuj estis evoluintaj, kiuj provas konsulti plurajn datumbazojn de NoSQL. Ĉi tiuj iloj kutime funkcias tra sola kategorio NoSQL. Unu ekzemplo estas SPARQL. SPARQL estas deklara pridemandekvizo desegnita por grafikaj datumbazoj. Jen ekzemplo de SPARQL-konsulto, kiu retrovas la URLon de aparta bloganto (ĝentileco de IBM):

PREFIXa foaf:
Elektu url
FROM
DIE {
? kontribuanto foaf: nomo "Jon Foobar".
kontribuanto foaf: weblog? url.
}

Estonteco de NoSQL

Organizoj, kiuj havas amasajn datumajn bezonojn, aspektas serioze ĉe NoSQL. Ŝajne, la koncepto ne ricevas tiom da tirado en pli malgrandaj organizoj. En enketo realigita de Informa Semajno, 44% de komercaj IT-komercistoj ne aŭdis pri NoSQL. Plie, nur 1% de la enketintoj raportis, ke NoSQL estas parto de ilia strategia direkto. Klare, NoSQL havas sian lokon en nia koneksa mondo sed necesos daŭrigi evolui por akiri la amasan apelacion, kiun multaj opinias, ke ĝi povus havi.