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.
- 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.
- 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.
- 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:
- Dynamo: A Dynamo-t az Amazon.com hozta létre, és a legjelentősebb kulcsértékű NoSQL adatbázis. Amazonnak szüksége volt egy nagyon skálázható elosztott platformra az e-kereskedelmi vállalkozások számára, így kifejlesztették a Dynamo-t. Az Amazon S3 Dynamo-t használja a tárolási mechanizmusnak.
- Cassandra: A Cassandra nyitott volt a Facebooktól, é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 használatát.
- SimpleDB: A SimpleDB egy másik Amazon adatbázis. Használt az Amazon EC2 és S3, ez része az Amazon Web Services, amely díjat díjak használatától függően.
- CouchDB: A CouchDB és a MongoDB nyílt forráskódú dokumentum-orientált NoSQL adatbázisok.
- Neo4J: A Neo4j egy nyílt forráskódú grafikus adatbázis.
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.