Tartalomjegyzék:
Meghatározás - Mit jelent a NoSQL?
A NoSQL egy adatbázis-kezelő rendszerek (DBMS) osztály, amely nem követi a relációs DBMS összes szabályát, és nem tudja a hagyományos SQL-t felhasználni adatok lekérdezésére. A kifejezés kissé félrevezető, ha azt "SQL-ként" értelmezik, és a legtöbb fordítása "Nem csak SQL-ként" jelenti, mivel az ilyen típusú adatbázis általában nem helyettesíti, hanem kiegészíti az RDBMS-ket és az SQL-t.
A NoSQL-alapú rendszereket általában nagyon nagy adatbázisokban használják, amelyek különösen hajlamosak az SQL korlátozásai és az adatbázisok relációs modellje által okozott teljesítményproblémákra. Sokan úgy gondolják, hogy a NoSQL a modern választott adatbázis, amely megfelel a webes követelményeknek. A NoSQL néhány figyelemre méltó megvalósítása a Facebook Cassandra adatbázisa, a Google BigTable és az Amazon SimpleDB és a Dynamo.
A Techopedia magyarázza a NoSQL-t
A NoSQL adatbázis nem feltétlenül követi a szigorú szabályokat, amelyek a relációs adatbázisok tranzakcióit szabályozzák. Ezeket a megsértett szabályokat az ACID rövidítés ismeri (atomicitás, konzisztencia, integritás, tartósság). Például a NoSQL adatbázisok nem használnak rögzített sémastruktúrákat és SQL csatlakozásokat.
A hagyományos RDBMS-ben az alapműveletek olvasása és írása. Az olvasások méretezhetők az adatok több gépen történő replikálásával, így a terhelés kiegyenlítése az olvasási kérelmekkel. Ez azonban az írásokat érinti, mivel fenn kell tartani az adatok konzisztenciáját. Csak az írásokat az adatok particionálásával lehet méretezni. Ez befolyásolja az olvasást, mivel az elosztott csatlakozások általában lassúak és nehéz végrehajtani. Ezen felül, az ACID tulajdonságok fenntartása érdekében az adatbázisoknak rögzíteniük kell az adatokat. Ez azt jelenti, hogy amikor egy felhasználó megnyit egy adatelemet, akkor senki más felhasználó nem képes módosítani ugyanazt az elemet. Ez a korlátozás súlyos következményekkel jár a teljesítményre.
Ezek a korlátozások a múltban nem voltak komoly probléma. A közösségi hálózatok és a nagy adatok megjelenésével azonban a kialakult számos hatalmas adatbázis kénytelen volt tíz vagy akár száz millió ügyfelet kiszolgálni a világ minden tájáról, több ezer olvasással és írással, percenként. A hagyományos RDBMS egyszerűen nem felel meg ennek a szükségletnek, mivel csak "méretezhetik" vagy növelik a központi szerver erőforrásait. A NoSQL megvalósítás ezzel szemben "méretezheti" vagy eloszthatja az adatbázis terhelését több szerver között.
A NoSQL adatbázisok a problémák bizonyos csoportjaira koncentrálnak - a tárolt adatok rugalmasabbá tételétől (dokumentumtárolások) a felhasználási esetek megcélzásáig, mint például a kapcsolatok (gráf-adatbázisok) és az adatok aggregálásának (oszlop-adatbázisok), vagy csak az adatbázis ötletének egyszerűsítéséig. valami, amely értéket tárol (kulcs / érték tárolja).
A NoSQL adatbázisok a gyors méretezhetőség, a sokkal jobb teljesítmény és az egyszerűbb felépítés előnyeit kínálják az RDBMS-ekhez képest. Ugyanakkor szenvednek attól is, hogy viszonylag új és nem bevált technológia, és nem tudják biztosítani az RDBMS gazdag jelentési és elemzési funkcióit.
