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.