MongoDB wśród najbardziej lubianych baz danych!

(7 min czytania)

MongoDB zajęło trzecie miejsce w rankingu najbardziej uwielbianych baz danych w analizie Stackoverflow w roku 2022. Pozostałe dwie bazy danych to od wielu już lat liderzy w technologiach bazodanowych: PostgreSQL oraz Redis. Jednak w rankingu baz NoSQL-owych to właśnie MongoDB jest tym najpopularniejszym wyborem.

Czym są bazy danych NoSQL? Często nazywane “nierelacyjnymi”, potrafią obsłużyć ogromne ilości szybko zmieniających się, nieustrukturyzowanych danych. Choć znane już od lat sześćdziesiątych, cieszą się coraz większą popularnością. To wszystko za sprawą ogromnych ilości danych generowanych w internecie, mediach społecznościowych i urządzeniach przenośnych. Bazy danych NoSQL ułatwiają szybkie tworzenie systemów do przechowywania nowych, nieprzewidywalnych informacji.

Czym jest MongoDB?

MongoDB to przykład nierelacyjnej bazy danych potrafiącej przechowywać duże ilości danych. W przeciwieństwie do tradycyjnych relacyjnych bazach danych, które używają tabel i wierszy, MongoDB wykorzystuje “kolekcje” i “dokumenty”. MongoDB jest szeroko stosowany w wielu firmach i jest jedną z najpotężniejszych baz danych NoSQL na rynku. Oto kilka głównych charakterystyk dotyczących architektury MongoDB:

  • Każdy dokument to zbiór par “klucz-wartość”.
  • Każda para “klucz-wartość” nazywana jest polem.
  • Każdy dokument posiada pole_id, które jest jednoznacznym identyfikatorem danego dokumentu.
  • Dopuszczalne jest zagnieżdżanie dokumentu w dokumencie.
  • Dokumenty mogą mieć różną liczbę pól (mogą być również puste).
  • Zbiór dokumentów to “kolekcja”.

Co powoduje, że baza MongoDB jest tak lubiana?

Przede wszystkim świetnie nadaje się do celów Data Science i Uczenia Maszynowego. Dlaczego? Oto 5 kluczowych powodów:

Powód # 1: Elastyczny model danych

MongoDB przechowuje dokumenty w formacie BSON (JSON-like format), co pozwala na to, by w jednej kolekcji znalazły się obiekty z różnymi zestawami pól. Bardzo prosty przykład to dokumenty opisujące różnych użytkowników - gdy niektórzy posiadają drugie imię, nie ma powodu, by przechowywać puste pole dla użytkowników, którzy drugiego imienia nie posiadają. Model dokumentów MongoDB pozwala na łatwe modelowanie i manipulowanie praktycznie każdą strukturą danych. 

MongoDB umożliwia sprawdzanie poprawności danych i modyfikowanie schematów bez przestojów czy braku dostępu do bazy. Ta elastyczność jest niesamowitym atutem podczas obsługi danych ze świata rzeczywistego oraz zmian wymagań lub środowiska.

Powód #2: Potężny język zapytań

MongoDB umożliwia wykonywanie zapytań w głąb dokumentów, a nawet wykonywanie złożonych potoków analitycznych za pomocą zaledwie kilku wierszy kodu deklaratywnego. Masz możliwość filtrowania, sortowania i agregowania danych, wybierania i przekształcania pól, których potrzebujesz. Jest to niezbędny krok do przygotowania danych wykorzystywanych do uczenia maszynowego. Ten poziom zaawansowania zapytań jest niedostępny w większości baz danych NoSQL.

Powód #3: Łatwe przechowywanie i pobieranie przeszkolonych modeli predykcyjnych jako dokumenty typu JSON

MongoDB to idealne miejsce do przechowywania, udostępniania i pobierania wytrenowanych modeli. Możliwe jest także przechowywanie historycznych wersji modeli w bazie, co pozwala łatwo przywrócić archiwalny model, jeśli tylko zdecydujemy się to zrobić. 

Powód #4: Pełna “platforma danych” w chmurze

MongoDB to znacznie więcej niż baza danych - to kompletna “platforma danych”. MongoDB Atlas - chmura oferowana przez MongoDB, daje dostęp do wielu usług, zintegrowanych z twoją bazą tj. rekomendacje dotyczące optymalizacji Twojej bazy, czy interfejs do tworzenia raportów i wizualizacji. Co więcej, ​​uruchamianie MongoDB jest prawie bezproblemowe, niezależnie od tego, czy używasz pojedynczego zestawu replik, czy klastra podzielonego na fragmenty, zawierającego setki terabajtów. MongoDB Atlas pozwala utrzymać wysoką wydajność i skalowalność w poziomie dla twojej bazy danych.

Powód #5 : Dostęp z poziomu Pythona

Dzięki temu, że MongoDB przechowuje i reprezentuje dane w formacie dokumentu, można uzyskać do nich dostęp z dowolnego języka, w strukturach danych dla niego dostępnych (np. słowniki w Pythonie, obiekty w JavaScript itp.). Z perspektywy Data Scientist, warto zwrócić uwagę na dystrybucję PyMongo. Jest to sterownik Pythona, który zapewnia narzędzia do pracy z MongoDB. Jest to najbardziej preferowany sposób komunikacji z bazą danych MongoDB z poziomu Pythona.

Podsumowanie

Nieustanny rozwój techonologii zmusza nas do ciągłego aktualizowania swojej wiedzy i podnoszenia kwalifikacji zawodowych. W przypadku roli Data Scientist warto posiadać podstawową znajomość baz danych. MongoDB używane w wielu firmach jako jedna z głównych baz danych, to dobry początek, by rozszerzyć swoją wiedzę o technologie bazodanowe.

Jesli podobał Ci się ten artykuł lub masz jakieś pytania, to daj znać w komentarzu w sekcji niżej. 

Źródła:
1)https://survey.stackoverflow.co/2022/#technology-most-loved-dreaded-and-wanted .
2)https://www.mongodb.com/advantages-of-mongodb 
3) https://becominghuman.ai/4-reasons-why-mongodb-atlas-is-great-for-machine-learning-1140406be3a

Zdjęcie zrobione przez ThisisEngineering RAEng na Unsplash

==========================

O autorze

Joanna Broniarek

AI Engineer | Microsoft Certified Azure Data Engineer

==========================

Zostaw komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *