A NoSQL adatbázisok áttekintése

A NoSQL rövidítés 1998-ban készült. Sokan azt gondolják, hogy a NoSQL egy derogációs kifejezés, amelyet az SQL-hez terveztek. Valójában a kifejezés nem csak SQL kifejezést jelenti. Az ötlet az, hogy mindkét technológia egymás mellett létezhet, és mindegyiknek megvannak a maga helye. A NoSQL mozgalom már az elmúlt évek hírében volt, hiszen a Web 2.0 számos vezetője elfogadta a NoSQL technológiát. A Facebook, a Twitter, a Digg, az Amazon, a LinkedIn és a Google hasonlóan a NoSQL-t használják.

Nézzük le a NoSQL-t, hogy magyarázza el a CIO-nak vagy akár a munkatársainak.

NoSQL felmerült a szükségből

Adattárolás: A világ tárolt digitális adatait exabájtban mérik. Egy exabyte egy milliárd gigabájt (GB) adat. Az Internet.com szerint 2006-ban a tárolt adatok mennyisége 161 exabájt volt. Csak 4 évvel később 2010-ben, a tárolt adatok mennyisége majdnem 1000 ExaBytes, amely több mint 500% -os növekedést jelent. Más szóval, sok adat van tárolva a világban, és csak tovább fog növekedni.

Összekapcsolt adatok: Az adatok egyre inkább összekapcsolódnak. A hiperhivatkozásokkal támogatott internet létrehozása, a blogok pingbackek és minden nagyobb közösségi hálózat olyan címkéket tartalmaz, amelyek összekapcsolják a dolgokat. A nagyobb rendszereket összekapcsolják.

Komplex adatszerkezet: A NoSQL könnyen kezelheti a hierarchikusan beágyazott adatstruktúrákat. Ahhoz, hogy ugyanezt tegye az SQL-ben, többféle relációs táblázatot kell használni mindenféle kulcsmal.

Ezenkívül van kapcsolat a teljesítmény és az adatok összetettsége között. A teljesítmény csökkenhet a hagyományos RDBMS-ben, mivel a szociális hálózati alkalmazásokban és a szemantikus webben eltöltött adatok hatalmas mennyiségét tároljuk.

Mi a NoSQL?

Azt hiszem, a NoSQL meghatározásának egyik módja az, hogy fontolja meg, mi nem.

Ez nem SQL, és nem relációs. Mint a neve is sugallja, ez nem helyettesíti az RDBMS-t, de üdvözli. A NoSQL-t az elosztott adattárolókhoz tervezték nagy mennyiségű adatigényhez. Gondolj a Facebookra az 500.000.000 felhasználóval vagy a Twittervel, amely minden nap egyetlen terabit felhalmoz.

A NoSQL adatbázisban nincs rögzített séma és nincs csatlakozás. Egy RDBMS "felgyorsul", gyorsabb és gyorsabb hardver beszerzésével és memória hozzáadásával. A NoSQL viszont kihasználhatja a "méretezés" előnyeit. A méretezés azt jelenti, hogy a rakományt sok árurendszeren keresztül terjesztik. Ez a NoSQL összetevője teszi gazdaságos megoldást a nagy adatkészletekre.

NoSQL kategóriák

A jelenlegi NoSQL világ 4 alap kategóriába illeszkedik.

  1. A kulcsértékek Az üzletek elsősorban az Amazon Dynamo Paper- ben készültek, amelyet 2007-ben írtak. A fő ötlet egy hash asztal létezése, ahol egyedi kulcs és mutató van egy adott adatelemhez. Ezeket a leképezésekhez általában cache mechanizmusok kísérik, hogy a teljesítmény maximalizálható legyen.
    Az oszlopok családi üzleteit nagyszámú, sok gépen elosztott adat tárolására és feldolgozására hozták létre. Még vannak kulcsok, de több oszlopra mutatnak. A BigTable (a Google oszlopcsalád nélküli NoSQL modell) esetében a sorokat egy sor kulcs azonosítja, az e gomb által rendezett és tárolt adatokkal. Az oszlopokat oszlopcsaláddal rendezik.
  1. A dokumentum adatbázisok a Lotus Notes által inspiráltak, és hasonlóak a kulcsfontosságú értéktárakhoz. A modell alapvetően változatos dokumentumok, amelyek más kulcsértékű gyűjtemények gyűjteményei. A félig strukturált dokumentumokat olyan formátumban tárolják, mint a JSON.
  2. A grafikon adatbázisok csomópontokkal vannak felépítve, a jegyzetek közötti kapcsolatok és a csomópontok tulajdonságai. A sorok és oszlopok tábláinak és az SQL merev struktúrájának helyett egy rugalmas grafikon modellt használnak, amely sok gépen skálázható.

Major NoSQL játékosok

A NoSQL legfontosabb szereplői elsősorban az őket elfogadó szervezetek miatt jöttek létre. A legnagyobb NoSQL technológiák közül néhány:

Querying NoSQL

A NoSQL adatbázis lekérdezésének kérdése az, amit a legtöbb fejlesztő érdekel. Végül is, egy óriási adatbázisban tárolt adatok nem teszik meg bárki számára semmi jót, ha nem tudjuk letölteni és megjeleníteni a végfelhasználókhoz vagy a webes szolgáltatásokhoz. A NoSQL adatbázisok nem nyújtanak magas szintű deklaratív lekérdezési nyelvet, például az SQL-t. Ehelyett az adatbázisok lekérdezése adatmodell-specifikus.

Számos NoSQL platform lehetővé teszi az újraindított kapcsolódásokat az adatokhoz. Más ajánlatkérési API-k. Néhány lekérdezőeszköz van kifejlesztve, amelyek több NoSQL adatbázis lekérdezésére törekednek. Ezek az eszközök általában egyetlen NoSQL kategórián keresztül működnek. Az egyik példa a SPARQL. A SPARQL egy deklaratív lekérdezési specifikáció, amelyet grafikon adatbázisok számára terveztek. Íme egy példa egy SPARQL lekérdezésre, amely egy adott blogger URL-jét (IBM jóvoltából) lekérdezi:

PREFIX foaf:
SELECT? Url
FROM
AHOL {
"Fo Foar" neve: "Jon Foobar".
? contributor foaf: weblog? url.
}

A NoSQL jövője

A nagy mennyiségű adattárolási igényű szervezetek komolyan gondolkodnak a NoSQL-n. Nyilvánvaló, hogy a koncepció nem kap annyi húzást a kisebb szervezetekben. Az információs héten végzett felmérés szerint az üzleti informatikusok 44% -a nem hallott a NoSQL-ről. Továbbá a válaszadóknak csak 1% -a számolt be arról, hogy a NoSQL stratégiai irányába tartozik. Nyilvánvaló, hogy a NoSQL-nek helyet kap a kapcsolt világunk, de tovább kell fejlődnie ahhoz, hogy megkapja a tömeges fellebbezést, amelyet sokan azt hiszik.