MongoDB to baza danych o nierelacyjnej architekturze. Jest przeznaczona do przechowywania dużych ilości dokumentów o zmiennej strukturze [1]. Technologii tej używa między innymi przedsiębiorstwo SpaceX w procesie rozpowszechniania podstawowych informacji o lotach [2].

W tym ćwiczeniu użyjemy notatnika Jupyter, w połączeniu z bazą danych MongoDB.

Zadanie: Wykonać kilka podstawowych zadań z użyciem agregacji w MongoDB - na podstawie dokumentacji bazy.

Rozpoczniemy od kursu M001: MongoDB Basics, by szerzej spojrzeć i wypróbować podstawy technologii MongoDB. Istnieje również bardziej dedykowany dla tematu oficjalny kurs M121: The MongoDB Aggregation Framework, lecz jest on aktualnie niedostępny.

Rozpoczęliśmy od utworzenia konta w usłudze chmurowej MongoDB Atlas, nazwanej przez producenta "najprostszym sposobem na uruchamianie usług związanych z bazami MongoDB". Następnie zainstalowaliśmy narzędzie MongoDB Compass.

Narzędziem alternatywnym dla MongoDB Compass jest Robo3T.

M001: MongoDB Basics

Typ danych decimal służy do obliczeń wymagających finansowej precyzji.

Geospatial

Połączenie z chmurą treningową: mongo mongodb://m001-student:[email protected]/ --ssl. Ponieważ połączenia ze zdalną bazą treningową nie udaje się nawiązać, zimportowane zostały dane przykładowe do lokalnej bazy MongoDB za oficjalnym przewodnikiem.

Wobec braku odpowiedzi, przewodnik po zadaniach znaleźć można tutaj.

Po 12 godzinach przerwy serwer zdalny wciąż nie odpowiada. Skorzystamy ze zrzutu danych udostępnionego przez MongoDB aby skonfigurować lokalną instancję szkoleniowej bazy [3].

Wraz z przewodnikiem odnaleźliśmy trochę wraków okrętów.

shipwrecks

Możemy teraz skoncentrować się na wybranym regionie zainteresowania:

focusing_search

M121: MongoDB Aggregation Framework

Joined the course on Coursera here.

Propozycja interesującego problemu do rozwiązania: Core Aggregation - Combining Information.

🔖 Zakładka: Operatory zapytania i rzutowania

Przykładowe dane - astronomiczne: NASA APIs

Przykładowe zadanie: znajdź "Planetę X":

Caltech researchers have found evidence suggesting there may be a "Planet X" deep in the solar system.

-- NASA Science System Exploration

mongodb_expressions

-- Coursera, MongoDB Aggregation Framework Course


  1. What is MongoDB? ↩︎

  2. SpaceX REST API ↩︎

  3. Importing Data Locally ↩︎