'N Oorsig van NoSQL Databasisse

Die akroniem NoSQL is in 1998 geskep. Baie mense dink NoSQL is 'n neerhalende term wat geskep is om op SQL te poke. In werklikheid beteken die term nie net SQL nie. Die idee is dat beide tegnologieë kan bestaan ​​en elkeen sy plek het. Die NoSQL-beweging is die afgelope paar jaar in die nuus, aangesien baie van die Web 2.0-leiers 'n NoSQL-tegnologie aangeneem het. Maatskappye soos Facebook, Twitter, Digg, Amazon, LinkedIn, en Google gebruik almal NoSQL op een of ander manier.

Kom ons breek NoSQL af sodat u dit aan u CIO of selfs u mede-werkers kan verduidelik.

NoSQL het ontstaan ​​uit 'n behoefte

Data berging: Die wêreld se gestoor digitale data word in exabytes gemeet. 'N Exabyte is gelyk aan een biljoen gigabyte (GB) data. Volgens Internet.com is die hoeveelheid gestoor data wat in 2006 bygevoeg is 161 exabytes. Net 4 jaar later in 2010 sal die hoeveelheid data gestoor word, bykans 1000 ExaBytes wees, wat 'n toename van meer as 500% is. Met ander woorde, daar is baie data wat in die wêreld gestoor word en dit gaan net voortgaan om te groei.

Gekoppelde Data: Data bly steeds meer verbind. Die skepping van die web bevorder in hiperskakels, blogs het pingbacks en elke groot sosiale netwerkstelsel het etikette wat dinge saam bind. Groot stelsels word gebou om onderling verbind te word.

Komplekse Datastruktuur: NoSQL kan maklik hiërargiese geneste data strukture hanteer. Om dieselfde ding in SQL te bewerkstellig, benodig jy verskeie verhoudings tabelle met allerhande soorte sleutels.

Daarbenewens is daar 'n verband tussen prestasie en data kompleksiteit. Prestasie kan degradeer in 'n tradisionele RDBMS as ons die groot hoeveelhede data wat benodig word in sosiale netwerk toepassings en die semantiese web stoor.

Wat is NoSQL?

Ek dink een manier om te definieer dat NoSQL is om te oorweeg wat dit nie is nie.

Dit is nie SQL nie en dit is nie relasioneel nie. Soos die naam aandui, is dit nie 'n vervanging vir 'n RDBMS nie, maar komplimenteer dit. NoSQL is ontwerp vir verspreide data winkels vir baie grootskaalse data behoeftes. Dink aan Facebook met sy 500,000,000 gebruikers of Twitter wat Terabits van data ophoop elke dag.

In 'n NoSQL-databasis is daar geen vaste skedule en geen aanmeldings nie. 'N RDBMS "skaal op" deur vinniger en vinniger hardeware te kry en geheue by te voeg. NoSQL, aan die ander kant, kan voordeel trek uit "skaal uit". Uitskaling verwys na die verspreiding van die las oor baie kommoditeitstelsels. Dit is die komponent van NoSQL wat dit 'n goedkoop oplossing vir groot datastelle maak.

NoSQL Kategorieë

Die huidige NoSQL wêreld pas in 4 basiese kategorieë.

  1. Sleutelwaardes Winkels is hoofsaaklik gebaseer op Amazon se Dynamo Paper wat in 2007 geskryf is. Die hoofidee is die bestaan ​​van 'n hash-tabel waar daar 'n unieke sleutel en 'n wyser vir 'n spesifieke item data is. Hierdie beelde word gewoonlik vergesel van kasmeganismes om prestasie te maksimeer.
    Kolom Familiewinkels is geskep om baie groot hoeveelhede data wat oor baie masjiene versprei word, te stoor en te verwerk. Daar is nog sleutels, maar hulle verwys na verskeie kolomme. In die geval van BigTable (Google se Column Family NoSQL-model) word rye geïdentifiseer deur 'n ry sleutel met die data wat gesorteer en gestoor word deur hierdie sleutel. Die kolomme word gereël deur kolomfamilie.
  1. Document Database s is geïnspireerd deur Lotus Notes en is soortgelyk aan sleutel waarde winkels. Die model is basies gedokumenteerde dokumente wat versamelings van ander sleutelwaarde-versamelings is. Die semi-gestruktureerde dokumente word gestoor in formate soos JSON.
  2. Grafiese databasis s is gebou met nodusse, verhoudings tussen notas en die eienskappe van nodusse. In plaas van tabelle van rye en kolomme en die rigiede struktuur van SQL, word 'n buigsame grafiese model gebruik wat oor baie masjiene kan skaal.

Belangrike NoSQL-spelers

Die belangrikste spelers in NoSQL het hoofsaaklik ontstaan ​​as gevolg van die organisasies wat hulle aangeneem het. Sommige van die grootste NoSQL-tegnologieë sluit in:

Vra NoSQL

Die vraag hoe om 'n NoSQL-databasis te navraag doen, is waarna die meeste ontwikkelaars belangstel. Die data wat in 'n groot databasis gestoor word, doen nie iemand wat goed is as jy dit nie kan kry en aan eindgebruikers of webdienste wys nie. NoSQL databasisse verskaf nie 'n hoë vlak verklarende navraag taal soos SQL. In plaas daarvan is die navraag van hierdie databasisse data-model spesifiek.

Baie van die NoSQL-platforms maak voorsiening vir RESTful-koppelvlakke vir die data. Ander aanbiedings-navraag-API's. Daar is 'n paar navraaggereedskap wat ontwikkel is om te probeer om meer NoSQL databasisse te soek. Hierdie gereedskap werk gewoonlik oor 'n enkele NoSQL-kategorie. Een voorbeeld is SPARQL. SPARQL is 'n verklarende navraag spesifikasie ontwerp vir grafiek databasisse. Hier is 'n voorbeeld van 'n SPARQL-navraag wat die URL van 'n bepaalde blogger (met vergunning van IBM) verkry:

PREFIX foaf:
SELECT? Url
VANAF
WAAR {
bydraer fof: naam "Jon Foobar".
bydraer blaaf: weblog? url.
}

Toekoms van NoSQL

Organisasies wat groot dataopbergingsbehoeftes het, kyk ernstig na NoSQL. Klaarblyklik word die konsep nie soveel trekkrag in kleiner organisasies nie. In 'n opname wat deur Inligtingsweek gedoen is, het 44% van sakegebruikers nie van NoSQL gehoor nie. Verder het slegs 1% van die respondente gerapporteer dat NoSQL deel is van hul strategiese rigting. Dit is duidelik dat NoSQL sy plek in ons verbonde wêreld het, maar sal moet voortgaan om te ontwikkel om die massa-appèl te kry wat baie dink dit kan hê.