In oersjoch fan NoSQL-databases

It akronym NoSQL waard yn 1998 ynrjochte. In soad minsken tinke dat NoSQL is in derogative term makke oan poke op SQL. Yn 'e realiteit betsjuttet de term "Not Only SQL". It idee is dat beide technologyen gearwurkje kinne en elk hat syn plak. De noSQL-beweging is yn 'e nijs yn' e ôfrûne pear jier west dat safolle fan 'e Web 2.0 lieders in NoSQL-technology oannommen hawwe. Bedriuwen lykas Facebook, Twitter, Digg, Amazon, LinkedIn en Google brûke NoSQL op ien of oare manier.

Litte wy NoSQL brekke, dat jo it jo kinne ferklearje oan jo CIO of sels jo ko-wurkers.

NoSQL ûntstiet út in need

Data Storage: De bewarre digitale data fan 'e wrâld wurdt mjitten yn eksabytes. In eksabyte is lyk oan ien miljard gigabytes (GB) fan gegevens. Neffens Internet.com hat it bedrach fan opsleine data yn 2006 tafoege oan 161 eksabytes. Krekt 4 jier letter yn 2010 sil de bedrach fan bewarre data sawat 1000 ExaBytes wêze dy't in ferheging fan mear as 500% is. Yn oare wurden is der in soad gegevens yn 'e wrâld opslein en har gewoan trochgean sil fierder wurde.

Ferbûnte data: De data wurdt hieltyd mear ferbûn. De oprjochting fan it web befettet yn hyperlinks, blogs hawwe pingbacks en elke grutte sosjale netwurksysteem hat tags dy't de dingen tegeare. Wichtige systemen binne boud om te ferbinen.

Kompleksere datastruktuer: NoSQL kin hierarchyske nêst datastrukturen maklik beheare. Om itselde ding te meitsjen yn SQL, soenen jo mear relaasjetafels nedich hawwe mei alle soarten toetsen.

Dêrneist is der in relaasje tusken prestaasjes en data kompleksiteit. Performance kin degradearje yn in tradisjonele RDBMS as wy de massive bedekingen fan gegevens ferplichtsje dy't nedich binne yn sosjale netwurkapplikaasjes en it semantyske web.

Wat is NoSQL?

Ik tocht, ien Weg om NoSQL te definiearjen is te besjen wat it net is.

It is net SQL en it is gjin relaasje. Lykas de namme suggerearret, is it net in ferfanging foar in RDBMS, mar it fermindert it. NoSQL is ûntworpen foar fergelike datalewinkels foar tige grutte gegevensbestanden. Tink oan Facebook mei syn 500 miljoen brûkers of Twitter dy't alle dagen tagelyk Terabiten fan gegevens sammele.

Yn in NoSQL-databank is der gjin fêste skema en gjin joins. In RDBMS "skalet op" troch hurdere en flugger hardware en tafoegjen te heegjen. NoSQL, oan 'e oare hân, kin foardielen fan' e "skalearring út" nimme. Scaling out ferwiist nei ferbreedingen fan de lading oer in protte soarchsysteem. Dit is it komponint fan NoSQL, dat makket it in kostbere oplossing foar grutte datasetten.

NoSQL Categories

De hjoeddeiske NoSQL wrâld past yn 4 basiskategoryen.

  1. Key-wearden Stores wurde primêr basearre op it Dynamo Paper fan Amazon, dat yn 2007 skreaun is. It haadidee is it bestean fan in hashtabelle wêr't in unyk kaai is en in pointer foar in bepaalde data fan gegevens. Dizze mappen wurde normaal begelaat troch cache-meganismen om de prestaasje te maximearjen.
    Kolommen famyljes waarden kreëarre om te finnen en te ferwurkjen tige grutte bedragen fan gegevens oer in soad masines. Der binne noch kaaien, mar se bepale oan meardere kolommen. Yn it gefal fan BigTable (Google's kolomfamylje NoSQL-model) wurde rigen troch in rige kaaien identifisearre mei de gegevens sortearre en opslein troch dizze kaai. De kolommen binne arranzjearre troch kolomfamylje.
  1. Document Database s binne ynspirearre troch Lotus Notes en binne fergelykber mei key-value-winkels. It model is basearre ferwurke dokuminten dy't samlingen fan oare key-value collections binne. De semi-strukturearre dokuminten binne opslein yn formaten lykas JSON.
  2. Grafike databank s binne boud mei knooppunten, relaasjes tusken notysjes en de eigenskippen fan knoppen. Ynstee fan tabellen fan rigen en kolommen en de stigere struktuer fan SQL, wurdt in fleksibel grafykmodel brûkt dy't skaal kin oer in soad masines.

Major NoSQL-spilers

De wichtichste spilers yn NoSQL binne foaral opnommen fanwege de organisaasjes dy't se oannaam hawwe. Guon fan 'e grutste NoSQL-technologyen binne:

Querying NoSQL

De fraach fan hoe't jo in NoSQL-databank opfreegje, is wat de ûntwikkelders ynteressearre binne. Altyd dat gegevens opslein binne yn in enoarm databank gjinien goed is as jo net berikke kinne en sjen litte om brûkers of webdiensten te ferfangen. NoSQL-databases befetsje gjin deklaraasjes fan hege nivo's lykas SQL. Ynstee dêrfan is it oanfreegjen fan dizze databases data-model spesifyk.

In soad fan de NoSQL-platfoarms soargje foar RESTful ynterfaces nei de gegevens. Oare oanfragen fan APIs. Der binne in pear fanien fan ekspresje dy't ûntwikkele binne dat besykje meardere NoSQL-databases út te fieren. Dizze arktypen typysk wurkje oer in single NoSQL-kategory. In foarbyld is SPARQL. SPARQL is in deklaraasjeabfrage dy't foar grafyske databases ûntwikkele is. Hjir is in foarbyld fan in SPARQL-query dy't de URL fan in bepaalde blogger (joystick fan IBM) weromfiert:

PREFIX foaf:
SELECT? Url
FROM
Wêr {
? contributor foaf: namme "Jon Foobar".
? contributor foaf: weblog? url.
}

Future of NoSQL

Organisaasjes dy't massive gegevens opsjen opslaan, sjogge serieus by NoSQL. Miskien is it konsept net sa folle traksje yn lytsere organisaasjes. Yn in enkête útfierd troch Informatie Week, hawwe 44% fan saaklike IT-professionals net fan NoSQL heard. Fierder litte inkelde 1% fan 'e respondinten melden dat NoSQL in part is fan har strategyske rjochting. No, it NoSQL hat syn plak yn ús ferbûne wrâld, mar moat fierder ûntwikkelje om de massa oanfreegjen te krijen dat in protte tinke dat it kin hawwe.