encyklopedia.space

MongoDB

MongoDB jest otwarto­źródłowym, nierelacyjnym systemem zarządzania bazą danych NoSQL, opracowanym przez firmę MongoDB, Inc.. System ten przechowuje dane w postaci dokumentów typu JSON-like, zwanych BSON (Binary JSON), co umożliwia elastyczną strukturę danych oraz wysoką skalowalność.

Historia

Projekt MongoDB rozpoczął się w 2007 roku pod nazwą 10gen. Pierwsza wersja publiczna została wydana w 2009 roku. W 2013 roku firma zmieniła nazwę na MongoDB, Inc., a system zyskał popularność jako jedno z głównych rozwiązań NoSQL wśród aplikacji internetowych i mobilnych.

Architektura

  • Dokumenty BSON – podstawowa jednostka przechowywania danych; dokumenty mogą zawierać zagnieżdżone struktury i tablice.
  • Kolekcje – zbiory dokumentów podobne do tabel w tradycyjnych bazach danych.
  • Sharding – podział danych na wiele serwerów w celu zapewnienia skalowalności poziomej.
  • Replikacja – mechanizm replikacji danych w klastrze, zapewniający wysoką dostępność i odporność na awarie.
  • Indeksy – możliwość tworzenia indeksów na dowolnych polach dokumentu, co przyspiesza zapytania.

Funkcje i możliwości

MongoDB oferuje szereg funkcji, które odróżniają go od tradycyjnych systemów relacyjnych:

  1. Dynamiczny model danych – brak wymogu definiowania sztywnej schemy.
  2. Obsługa zapytań w języku JavaScript, w tym agregacji i map‑reduce.
  3. Transakcje wielodokumentowe od wersji 4.0, zapewniające spójność ACID.
  4. Wbudowane mechanizmy bezpieczeństwa: uwierzytelnianie, autoryzacja, szyfrowanie danych w spoczynku.
  5. Rozbudowany ekosystem narzędzi: Compass (GUI), Automation, oraz sterowniki do ponad 30 języków programowania.

Zastosowania

MongoDB znajduje zastosowanie w wielu dziedzinach, m.in.:

  • Systemy e‑commerce – przechowywanie katalogów produktów oraz zamówień.
  • Analiza danych w czasie rzeczywistym – wykorzystanie agregacji i strumieniowania.
  • IoT – obsługa dużej liczby urządzeń generujących dane o zmiennej strukturze.
  • Systemy rekomendacyjne – szybkie przetwarzanie danych o użytkownikach i ich preferencjach.

Licencjonowanie

MongoDB jest rozpowszechniane na licencji Server Side Public License (SSPL), a także dostępna jest komercyjna wersja MongoDB Enterprise z dodatkowymi funkcjami bezpieczeństwa i wsparcia technicznego.

Krytyka i ograniczenia

Choć MongoDB jest ceniony za elastyczność, krytycy wskazują na pewne ograniczenia:

  • Brak silnego wsparcia dla transakcji wielotabelowych w starszych wersjach.
  • Możliwość fragmentacji danych przy nieodpowiedniej konfiguracji indeksów.
  • Wysokie zużycie pamięci RAM w przypadku dużych zbiorów danych.

Powiązane pojęcia

Warto zapoznać się z następującymi artykułami encyklopedycznymi:

Bibliografia

Treść artykułu oparta jest na materiałach wewnętrznych encyklopedii oraz dokumentacji projektu MongoDB, Inc..