A NoSQL áttekintése

click fraud protection

A NoSQL betűszót 1998-ban találták ki. Sokan azt gondolják, hogy a NoSQL egy becsmérlő kifejezés, amelyet az SQL-re való piszkálásra hoztak létre. A valóságban a kifejezés nem csak SQL-t jelent. Az ötlet az, hogy a két technológia együtt létezhet, és mindegyiknek megvan a maga helye. A NoSQL mozgalom az elmúlt néhány évben a hírekben szerepelt, mivel a Web 2.0 vezetői közül sokan NoSQL technológiát alkalmaztak. Az olyan cégek, mint a Facebook, a Twitter, a Digg, az Amazon, a LinkedIn és a Google, valamilyen módon a NoSQL-t használják. Bontsuk le a NoSQL-t, hogy elmagyarázhassa informatikai igazgatójának vagy akár munkatársainak.

MYSQL adatbázis.

A NoSQL szükségből jelent meg

Adattárolás: A világ tárolt digitális adatait exabájtban mérik. Egy exabájt egymilliárd gigabájt (GB) adatnak felel meg. Alapján Internet.com, a 2006-ban hozzáadott tárolt adatok mennyisége 161 exabájt volt. Mindössze 4 évvel később, 2010-ben a tárolt adatok mennyisége közel 1000 ExaByte lesz, ami több mint 500%-os növekedést jelent. Más szóval, rengeteg adatot tárolnak a világon, és ez csak tovább fog növekedni.

Összekapcsolt adatok: Az adatok egyre jobban összekapcsolódnak. A web létrehozását a hiperhivatkozások segítik elő, a blogoknak van pingbackjük, és minden nagyobb közösségi hálózatnak vannak címkéi, amelyek összekapcsolják a dolgokat. A főbb rendszerek összekapcsolásra épülnek.

Összetett adatstruktúra: A NoSQL könnyen kezeli a hierarchikus beágyazott adatstruktúrákat. Ugyanennek az SQL-ben való megvalósításához több relációs táblára van szüksége mindenféle kulccsal. Ezenkívül kapcsolat van a teljesítmény és az adatok összetettsége között. A teljesítmény a hagyományos RDBMS-ben romolhat, mivel a közösségi hálózati alkalmazásokhoz szükséges hatalmas mennyiségű adatot tároljuk. szemantikus web.

Mi az a NoSQL?

Azt hiszem, a NoSQL meghatározásának egyik módja annak figyelembe vétele, hogy mi nem az. Ez nem SQL és nem relációs. Ahogy a név is sugallja, ez nem helyettesíti az RDBMS-t, hanem kiegészíti azt. A NoSQL-t elosztott adattárolókhoz tervezték, nagyon nagyszabású adatszükségletek kielégítésére. Gondoljon az 500 000 000 felhasználót számláló Facebookra vagy a Twitterre, amely minden egyes nap terabitnyi adatot halmoz fel.

A NoSQL adatbázisban nincs rögzített séma és nincsenek csatlakozások. Az RDBMS egyre gyorsabb hardver és memória hozzáadásával "nagyobbodik". A NoSQL viszont ki tudja használni a "kiskálázás" előnyeit. A kiegyenlítés a terhelés elosztására utal számos árurendszerre. Ez a NoSQL összetevője, amely olcsó megoldássá teszi nagy adatkészletekhez.

NoSQL kategóriák

A jelenlegi NoSQL világ 4 alapkategóriába sorolható.

  1. Kulcsérték-üzletek elsősorban azon alapulnak Amazon Dynamo Paper ami 2007-ben íródott. A fő ötlet egy hash tábla létezése, ahol van egy egyedi kulcs és egy mutató egy adott adatelemre. Ezeket a leképezéseket általában gyorsítótár-mechanizmusok kísérik a teljesítmény maximalizálása érdekében.
    1. Oszlop Családi üzletek nagyon nagy mennyiségű, sok gépen elosztott adat tárolására és feldolgozására jöttek létre. Még mindig vannak kulcsok, de több oszlopra mutatnak. A BigTable (a Google oszlopcsaládjának NoSQL-modellje) esetében a sorokat egy sorkulcs azonosítja, és az adatokat ez a kulcs rendezi és tárolja. Az oszlopok oszlopcsaládok szerint vannak elrendezve.
  2. Dokumentum adatbázisok inspiráltak Lotus Notes és hasonlóak a kulcsértéküzletekhez. A modell alapvetően verziózott dokumentumok, amelyek más kulcsérték-gyűjtemények gyűjteményei. A félig strukturált dokumentumokat olyan formátumokban tárolják, mint a JSON.
  3. Grafikon adatbáziss csomópontokkal, a hangjegyek közötti kapcsolatokkal és a csomópontok tulajdonságaival épül fel. A sorokat és oszlopokat tartalmazó táblázatok és az SQL merev szerkezete helyett egy rugalmas gráfmodellt használnak, amely sok gépen skálázható.

Főbb NoSQL lejátszók

A NoSQL főbb szereplői elsősorban az őket átvevő szervezetek miatt jelentek meg. A legnagyobb NoSQL-technológiák közé tartozik:

  • Dinamó: A Dynamót az Amazon.com hozta létre, és ez a legjelentősebb kulcsérték NoSQL adatbázis. Az Amazonnak nagymértékben méretezhető elosztott platformra volt szüksége e-kereskedelmi vállalkozásai számára, ezért kifejlesztették a Dynamót. Az Amazon S3 a Dynamót használja tárolási mechanizmusként.
  • Cassandra:Cassandra nyílt forráskódú a Facebook, és egy oszloporientált NoSQL adatbázis.
  • BigTable: A BigTable a Google saját, oszloporientált adatbázisa. A Google engedélyezi a BigTable használatát, de csak a Google App Engine számára.
  • SimpleDB: A SimpleDB egy másik Amazon adatbázis. Az Amazon EC2 és S3 esetében használatos, az Amazon Web Services része, amely a használattól függően díjat számít fel.
  • CouchDB:CouchDB a MongoDB-vel együtt nyílt forráskódú dokumentum-orientált NoSQL-adatbázisok.
  • Neo4J:Neo4j egy nyílt forráskódú gráf adatbázis.

NoSQL lekérdezése

A NoSQL-adatbázis lekérdezésének kérdése a legtöbb fejlesztőt érdekli. Hiszen a hatalmas adatbázisban tárolt adatok senkinek sem tesznek jót, ha nem tudod visszakeresni és megmutatni a végfelhasználóknak vagy a webszolgáltatásoknak. A NoSQL adatbázisok nem biztosítanak olyan magas szintű deklaratív lekérdezési nyelvet, mint az SQL. Ehelyett ezeknek az adatbázisoknak a lekérdezése adatmodell-specifikus.

A NoSQL platformok közül sok lehetővé teszi az adatokhoz RESTful interfészt. Egyéb ajánlatlekérdezési API-k. Néhány olyan lekérdezőeszközt fejlesztettek ki, amelyek több NoSQL-adatbázist próbálnak lekérdezni. Ezek az eszközök általában egyetlen NoSQL-kategóriában működnek. Az egyik példa a SPARQL. A SPARQL egy deklaratív lekérdezési specifikáció, amelyet gráfadatbázisokhoz terveztek. Íme egy példa egy SPARQL lekérdezésre, amely lekéri egy adott blogger URL-jét (a IBM):

PREFIX foaf: 
SELECT ?url
TÓL TŐL
AHOL {
?közreműködő foaf: név "Jon Foobar" .
?közreműködő foaf: weblog ?url .
}

A NoSQL jövője

Azok a szervezetek, amelyeknek hatalmas adattárolási igényük van, komolyan veszik a NoSQL-t. Úgy tűnik, ez a koncepció nem nyer olyan nagy teret a kisebb szervezetekben. Az Information Week által végzett felmérés szerint az üzleti IT-szakemberek 44%-a nem hallott a NoSQL-ről. Továbbá a válaszadók mindössze 1%-a számolt be arról, hogy a NoSQL stratégiai irányvonalának része. Nyilvánvaló, hogy a NoSQL-nek megvan a maga helye összekapcsolt világunkban, de tovább kell fejlődnie, hogy elérje azt a tömeges vonzerőt, amelyet sokan gondolnak.