Aký je rozdiel medzi relačnými a nerelačnými úložiskami? Hovorte o ACID.
sobes.tech AI
Odpoveď od AI
Vztahové úložiská (napríklad PostgreSQL, MySQL) organizujú údaje do tabuliek s jasne definovanými schémami (riadky a stĺpce), podporujú vzťahy medzi tabuľkami (cez kľúče) a používajú jazyk SQL na dotazy. Zabezpečujú prísne záruky integrity údajov a podporujú transakcie s vlastnosťami ACID.
Nezávislé úložiská (NoSQL) sú flexibilnejšie: môžu ukladať údaje vo forme dokumentov (MongoDB), kľúč-hodnota (Redis), grafov (Neo4j) alebo stĺpcov (Cassandra). Často sa horizontálne škálujú a sú optimalizované pre špecifické úlohy, ale nemusia poskytovať úplné záruky ACID.
ACID je súbor vlastností transakcií:
- Atómovosť: transakcia sa vykoná úplne alebo vôbec.
- Konzistencia: transakcia privádza databázu z jedného správneho stavu do iného.
- Izolácia: paralelné transakcie sa navzájom neovplyvňujú.
- Trvácnosť: po potvrdení zostávajú zmeny transakcie navždy.
Relácie databáz zvyčajne prísne dodržiavajú ACID, čo je dôležité pre systémy kritické na integritu údajov. NoSQL databázy môžu používať slabšie modely konzistencie pre lepší výkon a škálovateľnosť.