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.
Możemy teraz skoncentrować się na wybranym regionie zainteresowania:
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
-- Coursera, MongoDB Aggregation Framework Course