IT Koncepcja architektoniczna

NoSQL

Definicja #

NoSQL (Not Only SQL) to termin zbiorczy dla systemów zarządzania bazami danych, które odchodzą od relacyjnego modelu danych z ustrukturyzowanym schematem i językiem SQL. Powstały w odpowiedzi na potrzeby web-scale'owych aplikacji wymagających ogromnej skalowalności i elastyczności schematu.

Główne rodziny baz NoSQL:

  • Dokumentowe — dane jako dokumenty JSON/BSON; MongoDB, CouchDB, Firestore
  • Klucz-wartość — najprostszy model, maksymalna wydajność odczytu; Redis, DynamoDB, etcd
  • Kolumnowe — zoptymalizowane pod analitykę i duże zbiory danych; Cassandra, HBase, Bigtable
  • Grafowe — relacje jako pierwszorzędny obywatel; Neo4j, Amazon Neptune
  • Szeregi czasowe — dane metryczne i IoT; InfluxDB, TimescaleDB (relacyjne rozszerzenie PostgreSQL)

NoSQL często rezygnuje z pełnej zgodności ACID na rzecz modelu BASE (Basically Available, Soft state, Eventually consistent), chociaż nowoczesne systemy jak MongoDB czy FaunaDB oferują transakcje ACID. Zasada CAP theorem pomaga zrozumieć kompromisy tych systemów.

Zastosowania #

NoSQL sprawdza się w konkretnych scenariuszach:

  • Aplikacje z dużym ruchem i potrzebą horyzontalnego skalowania (sharding)
  • Przechowywanie elastycznych, zmiennych struktur danych (katalogi produktów, profile użytkowników)
  • Cache i session storage — Redis jako ultraszybka pamięć klucz-wartość
  • Analityka big data i systemy rekomendacji — Cassandra, HBase
  • Sieci społecznościowe i wykrywanie relacji — bazy grafowe (Neo4j)

Ścieżka nauki #

Przed nauką NoSQL warto rozumieć relacyjne bazy danych i SQL, żeby świadomie oceniać kompromisy między modelami.

Zacznij od:

  • Teoria: CAP theorem, BASE vs ACID, modele danych (dokumenty, klucz-wartość)
  • Praktyka z MongoDB — najpopularniejsza baza dokumentowa, dobra dla początkujących
  • Redis — prosta baza klucz-wartość, cache, pub/sub

Następnie opanuj:

  • Modelowanie danych pod wzorce dostępu (denormalizacja, embedding vs referencing)
  • Indeksy i optymalizacja zapytań w MongoDB (explain plan)
  • Skalowanie: replikacja, sharding w MongoDB lub partycjonowanie w Cassandra
  • Wybór odpowiedniego NoSQL do problemu — kiedy nie używać NoSQL

FAQ #

Kiedy używać NoSQL zamiast SQL?
NoSQL wybierz gdy masz elastyczne/zmienne schematy danych, potrzebujesz horyzontalnego skalowania na wiele serwerów, pracujesz z big data lub masz bardzo wysokie wymagania wydajnościowe odczytu. SQL jest lepszy dla skomplikowanych relacji, transakcji i spójności danych.
Ile zarabia specjalista NoSQL?
Znajomość NoSQL jest zwykle częścią profilu backend developera lub data engineera. Backend developer z MongoDB/Redis zarabia w Polsce od 10 000 do 24 000 zł brutto miesięcznie.
Czy NoSQL nie ma schematu?
Bazy NoSQL są schema-flexible, ale dobrze zaprojektowane rozwiązania mają zdefiniowane schematy dokumentów (walidowane np. przez JSON Schema w MongoDB). Brak wymuszania schematu przez bazę nie oznacza bałaganu w danych.
Czym różni się MongoDB od Redis?
MongoDB to baza dokumentowa do przechowywania i wyszukiwania złożonych danych JSON. Redis to baza klucz-wartość w pamięci RAM, zoptymalizowana pod ultraniskie opóźnienia — używana głównie jako cache, session store i pub/sub broker.
Ostatnia aktualizacja:

Powiązane hasła

Technologie i biblioteki, które najczęściej pojawiają się razem z NoSQL w ogłoszeniach.

Cały słownik IT

Najnowsze oferty z NoSQL

Wybrane ogłoszenia wymagające NoSQL — wszystkie z widełkami.

Wszystkie 18

Przeglądaj słownik IT alfabetycznie

Wybierz literę, aby zobaczyć wszystkie hasła zaczynające się od niej.