Spis treści
MongoDB to określenie dla otwartego, nierelacyjnego systemu zarządzania bazą danych, który został zaprojektowany w języku C++. Jego cechą charakterystyczną jest brak ściśle zdefiniowanej struktury obsługiwanych baz danych. Wszystkie dane składowane są w formie dokumentów w stylu JSON. Co warto wiedzieć o MongoDB? Oto poradnik, w którym prezentujemy najważniejsze informacje na jego temat.
Czym jest MongoDB?
Każdego roku programiści zyskują kolejne narzędzia i aplikacje, dzięki którym wykonywanie codziennych zawodowych czynności staje się znacznie prostsze. Która chmura obliczeniowa jest najlepsza? Jakie są wady i zalety systemów chmurowych? To pytania, które często zadają sobie początkujący specjaliści IT. W tym artykule scharakteryzujemy MongoDB. MongoDB to narzędzie, którego nazwa pochodzi z języka angielskiego (humongous — ogromny). Jest to otwartoźródłowy system służący do zarządzania nierelacyjnymi bazami danych NOSQL zaprojektowany w języku C++. Za jego stworzenie odpowiadała firma 10gen. Premiera pierwszej wersji MongoDB miała miejsce w lutym 2009 roku. Od tej pory powstało wiele aktualizacji i usprawnień, dzięki którym dziś MongoDB cieszy się uznaniem wielu programistów z całego świata. Cechą charakterystyczną MongoDB jest fakt, iż nie ma tutaj ściśle zdefiniowanej struktury obsługiwanych baz danych. Dane składuje się w plikach o formacie JSON. MongoDB, w przeciwieństwie do MySQL, gdzie używa się tabeli i wierszy, stosuje kolekcje i dokumenty. Każdy z dokumentów zawiera pary klucz-wartość. Są to podstawowe jednostki danych w tym oprogramowaniu. W każdej z kolekcji znajdują się zestawy dokumentów i funkcji – są to odpowiedniki tabel relacyjnych baz danych.Gdzie można wykorzystać MongoDB?
Do jakich zastosowań można wykorzystać MongoDB? Liczba możliwości jest tutaj całkiem spora. Są one następujące:- MongoDB może stanowić źródło danych dla witryny internetowej. Cechą charakterystyczną MongoDB jest fakt, iż doskonale radzi sobie z operacjami na dużej liczby danych (insert, zapytania, update) w czasie rzeczywistym. Wyróżnia się też doskonałą skalowalnością i wyposażono ją w mechanizmy replikacji, które są niezbędne w przypadku prowadzenia dużych serwisów internetowych.
- Wieloserwerowe konfiguracje. Jeśli istnieje duża zapotrzebowanie na wysoką skalowalność, MongoDB sprawdzi się znakomicie.
- Dysponujemy dużą ilością danych o niewielkiej wartości. Jeśli w krótkim czasie spływają do nas mało istotne dane w dużej ilości, takie jak chociażby logi, przechowywanie ich w ramach standardowej bazy danych jest mało wydajne. MongoDB może być zatem magazynem takich danych.
- Keszowanie. MongoDB może posłużyć także jako kesz danych, np. w ramach infrastruktury intranetowej. Trwałe keszowanie po restarcie systemu bądź bazy sprawi, że sieć nie będzie przeciążona w wyniku generowania kesza.
Jakie możliwości oferuje MongoDB?
Siła MongoDB tkwi w tym, iż oferuje ogromną liczbę różnorodnych możliwości. Mianowicie:- znaczna liczba obsługiwanych typów danych,
- dynamiczne zapytania,
- obsługa kursorów,
- obsługa zapytań ad-hoc,
- obsługa standardu Unicode,
- możliwość przeprowadzania łatwej i szybkiej replikacji,
- możliwość wprowadzania zapytań do zagnieżdżonych pól dokumentów,
- indeksowanie,
- agregowanie danych,
- możliwość obsługiwania danych z wykorzystaniem innych kodowań w formacie binarnym.