MongoDB to ogólnego zastosowania rozproszona baza danych oparta na dokumentach, która jest produktem mieszczącym się pomiędzy bazą danych relacyjną a bazą danych nierelacyjną (NoSQL). Jest najbardziej zaawansowana i najbardziej przypominająca bazę danych relacyjną spośród baz danych nierelacyjnych.

Przykład dokumentu w bazie MongoDB

{
  "_id": "5cf0029caff5056591b0ce7d",
  "firstname": "Jane",
  "lastname": "Wu",
  "address": {
    "street": "1 Circle Rd",
    "city": "Los Angeles",
    "state": "CA",
    "zip": "90404"
  },
  "hobbies": ["surfing", "coding"]
}

Nic specjalnego, po prostu kawałek danych w formacie JSON. Dane dokumentów przechowywane w MongoDB są podobne do tych danych w formacie JSON. Ze względu na przechowywanie danych w formacie JSON, format danych przechowywanych w MongoDB jest bardzo elastyczny. W przeciwieństwie do MySQL, który musi mieć ustaloną strukturę tabeli, oznacza to, że możesz dodawać lub usuwać pola w dowolnym momencie, a prędkość jest również bardzo szybka.

Wskazówka: Jeśli Twoja firma nie ma wysokich wymagań co do złożonych transakcji, łączeń i spójności danych, a jedynie dąży do szybkiego odczytu i zapisu danych, dużej współbieżności, elastycznego i swobodnego formatu przechowywania oraz nie musi wcześniej definiować struktur tabel, MongoDB jest dobrym wyborem.

Charakterystyka MongoDB

Wysoka wydajność

MongoDB zapewnia wysokowydajne przechowywanie danych. W szczególności:

  • Korzystanie z osadzonego modelu danych może zmniejszyć operacje wejścia-wyjścia systemu bazy danych.
  • Obsługuje indeksowanie, dzięki czemu efektywność zapytań jest bardzo wysoka, a zindeksowane pola mogą być polami osadzonych dokumentów lub kluczami tablic.

Bogaty język zapytań

MongoDB obsługuje bogaty zestaw wyrażeń zapytań, aby sprostać różnym scenariuszom zapytań biznesowych.

Obsługa zapytań geoprzestrzennych

Dla firm z działalnością online i związaną z lokalizacją, potrzebne są częste zapytania geoprzestrzenne, takie jak zapytania o pobliskie sklepy, ludzi w pobliżu, czy ustalanie, czy znajdujesz się w dzielnicy handlowej. Wszystko to wymaga wsparcia dla zapytań geoprzestrzennych.

Wysoka dostępność

Zestaw replik MongoDB zapewnia:

  • Automatyczny przełącznik awaryjny
  • Redundancję danych

Zestaw replik to grupa instancji mongod utrzymujących ten sam zestaw danych, zapewniając redundancję danych i wsparcie dla wysokiej dostępności.

Skalowalność horyzontalna

MongoDB obsługuje skalowanie horyzontalne. Poprzez użycie fragmentacji, dane są rozproszone w klastrze maszyn.