Obsah:
Definice - Co znamená NoSQL?
NoSQL je třída systémů správy databází (DBMS), která nedodržují všechna pravidla relačního DBMS a nemohou používat tradiční SQL k dotazování dat. Termín je poněkud zavádějící, když je interpretován jako „žádný SQL“, a většinou jej překládá jako „nejen SQL“, protože tento typ databáze není obecně náhradou, ale spíše doplňkovým doplňkem RDBMS a SQL.
Systémy založené na NoSQL se obvykle používají ve velmi rozsáhlých databázích, které jsou obzvláště náchylné k problémům s výkonem způsobeným omezeními SQL a relačním modelem databází. Mnoho lidí si myslí, že NoSQL je moderní zvolená databáze, která se přizpůsobuje požadavkům webu. Některé pozoruhodné implementace NoSQL jsou Facebook Cassandra databáze, Google je BigTable a Amazon je SimpleDB a Dynamo.
Techopedia vysvětluje NoSQL
Databáze NoSQL nemusí nutně dodržovat přísná pravidla, kterými se řídí transakce v relačních databázích. Tato porušená pravidla jsou známa zkratkou ACID (Atomicity, Consistency, Integrity, Durability). Například databáze NoSQL nepoužívají pevné struktury schémat a připojení SQL.
V tradičním RDBMS jsou základní operace čtení a zápisy. Čtení lze škálovat replikací dat na více počítačů, a tak požadavky na čtení vyvažující zatížení. Ovlivňuje to však zápisy, protože je třeba zachovat konzistenci dat. Měnit lze pouze zápisy pomocí rozdělení dat. To má vliv na čtení, protože distribuované spojení je obvykle pomalé a obtížně implementovatelné. Kromě toho, aby se zachovaly vlastnosti ACID, musí databáze zamykat data. To znamená, že když jeden uživatel otevře datovou položku, žádný jiný uživatel by neměl být schopen provést změny stejné položky. Toto omezení má vážné důsledky pro výkon.
Tato omezení v minulosti nebyla velkým problémem. S příchodem sociálních sítí a velkých dat však řada masivních databází, které se objevily, byla nucena obsluhovat desítky nebo dokonce stovky milionů klientů po celém světě s několika tisíci čteními a zápisy každou minutu. Tradiční RDBMS tuto potřebu jednoduše nesplňují, protože mohou pouze „zvětšit měřítko“ nebo zvýšit zdroje na centrálním serveru. Implementace NoSQL na druhé straně může „škálovat“ nebo distribuovat zatížení databáze na více serverů.
Databáze NoSQL jsou zaměřeny na konkrétní třídy problémů - od pružnějšího o uložených datech (úložiště dokumentů), přes cílení na případy použití, jako jsou vztahy (databáze grafů) a agregace dat (databáze sloupců), nebo jen zjednodušení myšlenky databáze až po něco, co ukládá hodnotu (klíč / hodnota ukládá).
Databáze NoSQL nabízí výhody rychlé škálovatelnosti, mnohem lepšího výkonu a jednodušší struktury ve srovnání s RDBMS. Trpí však také tím, že se jedná o relativně novou a neprokázanou technologii a nemohou poskytovat bohaté funkce RDBMS pro podávání zpráv a analýzu.