NoSQL databáze nepoužívají relační tabulkový model. Tato kategorie zahrnuje úložiště dokumentů, úložiště klíč-hodnota, grafové databáze a úložiště se širokými sloupci. Každé z nich řeší jiný problém. Úložiště dokumentů, jako je MongoDB, uchovávají záznamy podobné JSON. Úložiště klíč-hodnota, jako je Redis, mapují klíče na hodnoty pro rychlé vyhledávání. Grafové databáze, jako je Neo4j, modelují vztahy mezi entitami. Úložiště se širokými sloupci, jako je Cassandra, zpracovávají obrovské objemy zápisů napříč distribuovanými uzly. Společným vláknem je flexibilita. NoSQL databáze uvolňují omezení schématu, která relační databáze vynucují.
Tato flexibilita je zároveň lákadlem i rizikem. Úložiště dokumentů přijímá záznamy s různými poli. To usnadňuje vývoj datového modelu bez migrací. Zároveň to usnadňuje vytváření nekonzistentních dat. Aplikace musí vynucovat pravidla, která databáze nevynucuje. NoSQL databáze se také horizontálně škálují snadněji než tradiční relační systémy. Distribuují data mezi mnoho serverů, což zvládá vysoký provoz a velké datové sady. Nevýhodou je konzistence. Mnoho NoSQL databází nabízí spíše konečnou konzistenci než silnou konzistenci. Různé uzly mohou po krátkou dobu vidět různé hodnoty. To je přijatelné pro kanál sociálních médií. Není to přijatelné pro zůstatek na bankovním účtu. Správná volba závisí na datech a zárukách, které aplikace potřebuje.
Typy NoSQL databází
- Dokument — záznamy podobné JSON, flexibilní schéma
- Klíč-hodnota – jednoduché páry, rychlé vyhledávání
- Graf — uzly a vztahy
- Široký sloupec – distribuovaná, vysoká propustnost zápisu
- Časové řady – optimalizované pro data s časovým razítkem
NoSQL není lepší než SQL. Je jiný. Správný nástroj závisí na problému.
Comments
No comments yet. Be the first to share a thought.
Leave a comment