Korzystając z baz danych musimy podjąć decyzję z jakiego systemy do zarządzania baz danych wybierzemy. Na rynku mamy parę opcji do wyboru jedną z nich jest mongoDB, które w tym artykule pokrótce przedstawię.

mongoDB

Co to jest MongoDB

MongoDB jest to system open source do zarządzania nie relatywnymi bazami danych. Został on napisany w języku C++ przez firmę 10gen, pierwsze wydanie ukazało się w lutym 2009 roku. Charakteryzuje się on brakiem ściśle zdefiniowanej struktury obsługiwanych baz danych. Dane składowane są zapisywane w plikach o formacie JSON. MongoDB zamiast używać tabel i wierszy jak to robi np. MySQL wykorzystuje on kolekcje i dokumenty. Dokumenty składają się z par klucz-wartość, które są podstawową jednostką danych. Kolekcje zawierają zestawy dokumentów i funkcji, które są odpowiednikami table relacyjnych baz danych.

 

Czy szukasz wykonawcy MongoDB ?
logo

Architektura MongoDB – jak działa?

MongoDB to nierelacyjna baza danych typu NoSQL, która przechowuje dane w elastycznym formacie JSON (dokładniej BSON – Binary JSON). Jej architektura opiera się na kolekcjach i dokumentach zamiast na tabelach i wierszach, jak w tradycyjnych bazach SQL. Każdy dokument w MongoDB może mieć dynamiczną strukturę, co oznacza, że różne dokumenty w tej samej kolekcji nie muszą mieć identycznego schematu.

Podstawowe komponenty MongoDB to:

  • Serwer MongoDB – odpowiada za zarządzanie danymi, obsługę zapytań i operacje na dokumentach.
  • Baza danych – kontener dla kolekcji, które przechowują dokumenty.
  • Kolekcje – odpowiednik tabel w bazach SQL, przechowujące dokumenty.
  • Dokumenty BSON – jednostki danych zawierające pary klucz-wartość, podobne do obiektów JSON.
  • Replika set – zestaw instancji serwera, które zapewniają wysoką dostępność i odporność na awarie.
  • Sharding – technika skalowania poziomego, która dzieli dane na wiele serwerów, co pozwala na efektywne zarządzanie dużymi zbiorami danych.

 

Możliwości MongoDB

MongoDB jest łatwe do użycia oraz cechuje się dużą skalowalnością. Ponieważ MongoDB jest bazą danych noSQL, czyli dane przechowujemy w dokumencie zamiast w tabeli. Sprawia to, że MongoDB jest bardzo elastyczne i można go dostosować do rzeczywistej sytuacji. Dużym plusem MongoDB jest to, że możemy podzielić dane na kilka serwerów. Wykorzystuje on koncepcję shardingu do skalowania horyzontalnego, dzieląc dane między wiele instancji MongoDB. Rozwiązuje to problemy z obciążającymi serwerami oraz jesteśmy w stanie zduplikować dane, aby utrzymać działanie systemu w przypadku awarii. Kolejnym atutem MongoDB jest koncepcja replikacji, zapewnia ona wysoką dostępność oraz zabezpiecza przed awariami serwerów. Zestaw replik składa się z dwóch lub więcej instancji MongoDB. Każdy element zestawu replik może w dowolnym momencie pełnić rolę repliki podstawowej lub wtórnej. Replika podstawowa współdziała z klientem i wykonuje operacje odczytu oraz zapisu. Repliki pomocnicze przechowują kopię baz danych. Kiedy Replika podstawowa ulegnie awarii, replika automatycznie przełączą się na pomocniczą i stanie się ona serwerem głównym.

SPRAWDŹ SWOJĄ WIEDZE Z TEMATU mongodb

Pytanie

 1/5

Jak nazywa się polecenie używane do tworzenia nowej bazy danych w MongoDB?

W jaki sposób można wyszukać dokumenty w kolekcji MongoDB, które spełniają określone kryteria?

Jak nazywa się operator używany w MongoDB do aktualizowania wartości pola w dokumencie?

Jak nazywa się polecenie używane do usuwania bazy danych w MongoDB?

Jak nazywa się polecenie używane do tworzenia indeksu na polu w kolekcji MongoDB?

Porównanie MongoDB z innymi bazami danych

MongoDB różni się od tradycyjnych relacyjnych baz danych (RDBMS) zarówno pod względem struktury danych, jak i sposobu zarządzania informacjami. Oto kluczowe różnice między MongoDB a innymi popularnymi systemami bazodanowymi:

 

CechaMongoDB (NoSQL)MySQL/PostgreSQL (RDBMS)Redis (Key-Value Store)
Struktura danychDokumenty JSON/BSONTabele i wierszeKlucz-wartość
SchematElastyczny, dynamicznyŚciśle zdefiniowanyBrak schematu
Złożoność zapytańAgregacje, JSON-like queriesSQLProste operacje GET/SET
SkalowaniePoziome (sharding)Głównie pionowePoziome
Wydajność zapisuBardzo wysokaŚredniaEkstremalnie wysoka
ZastosowaniaBig Data, IoT, aplikacje weboweTradycyjne systemy biznesoweCache, szybkie operacje w pamięci

 

MongoDB doskonale sprawdza się w aplikacjach wymagających dużej elastyczności i wydajności, zwłaszcza gdy dane nie mają ściśle określonego schematu. Z kolei relacyjne bazy danych, takie jak MySQL czy PostgreSQL, są bardziej odpowiednie dla systemów wymagających transakcyjności i precyzyjnej integralności danych. Inne bazy NoSQL, jak Redis, są zoptymalizowane pod kątem ultraszybkich operacji na małych fragmentach danych.

Wybór odpowiedniej bazy danych zależy od specyfiki projektu – MongoDB będzie świetnym rozwiązaniem w przypadku systemów o dynamicznej strukturze danych i wysokich wymaganiach skalowalności.

Nasza oferta

Powiązane artykuły

Zobacz wszystkie artykuły