Należymy do Grupy Orange Polska

MongoDB

MongoDB

Spośród wielu dostępnych na rynku rozwiązań bazodanowych NoSQL, na uwagę zasługuje z pewnością baza dokumentów Mongo DB. Jego główne cechy, dzięki którym rozwiązanie zyskało popularność, to m.in:

  • Elastyczny model danych oparty o format BSON (binarny JSON)
  • Prosty język zapytań – Mongo DB Query
  • Replikacja danych pozwala na łatwe skalowanie operacji odczytu
  • Łatwe skalowanie w poziomie poprzez dodawanie instancji

Zastosowanie elastycznego modelu danych opartego na standardzie BSON sprawia, że Mongo DB jest idealnym rozwiązaniem w przypadkach, gdy poszczególne elementy różnią się zakresem przechowywania atrybutów. Do typowych zastosowań Mongo DB należą katalogi produktów, platformy ankietowe, systemy zbierania i analizy logów czy systemy zarządzania treścią (CMS).

Szeroka gama wspieranych bibliotek dostępowych pozwala na integrację Mongo DB z większością popularnych technologii stosowanych na rynku, co wraz z szybko rozwijającą się społecznością pozwala na uruchomienie rozwiązania w każdej organizacji.

Profesjonalna dokumentacja zawierająca opisy wielu zarówno podstawowych jak i zaawansowanych zagadnień umożliwia wdrożenie Mongo DB przy minimalnym wysiłku włożonym w poznanie nowej technologii.

 

Klaster Mongo DB wykorzystuje dwa mechanizmy:

  • Fragmentacja

każdy element klastra przechowuje fragment danych wybrany na podstawie klucza, co zapewnia skalowanie poziome

  • Replikacja

dane są powielane pomiędzy instancjami zestawu replik, co zapewnia wysoką dostępność

Każdy zestaw replik może zawierać instancje jednego z trzech typów:

  • Pierwotny/nadrzędny

instancja główna obsługująca wszystkie wpisy do klastra, które są następnie replikowane do wszystkich instancji wtórnych; w ramach jednego zestawu replik może istnieć tylko jedna instancja główna

  • Wtórny/podległy

instancje przechowujące replikowane dane, umożliwiające odczyt; w przypadku awarii instancji pierwotnej jedna z instancji wtórnych jest automatycznie przełączana do pracy w trybie pierwotnym

  • Arbiter

dodatkowa instancja w ramach repliki, która nie przechowuje kopii danych, ale bierze udział w wyborze nowej instancji pierwotnej

Instancje tego typu są wykorzystywane, gdy zestaw replik zawiera parzystą liczbę węzłów, a jednocześnie nie ma potrzeby instalowania kolejnej kopii danych.
Skalowanie poziome klastra Mongo DB uzyskuje się poprzez dzielenie zbioru danych za pomocą klucza shard. Wybór odpowiedniego klucza sharda jest jednym z najważniejszych elementów tworzenia klastra – błędna decyzja może skutkować nadmiernym obciążeniem poszczególnych elementów klastra. Mongo DB oferuje dwa rodzaje shardingu:

  • Hashed sharding

sharding oparty na funkcji haszowania

  • Range sharding

sharding oparty na zakresach wartości kluczy

Wykorzystanie mechanizmów shardingu i replikacji pozwala na tworzenie w pełni skalowalnych i wysoko dostępnych rozwiązań bez użycia kosztownego sprzętu. Jednocześnie, dzięki możliwości instalacji redundantnych instancji dla każdego komponentu, odpowiednia konfiguracja pozwala na uzyskanie rozwiązania pozbawionego wąskich gardeł i pojedynczych punktów awarii (SPOF).

Procedury obsługi awarii dla poszczególnych elementów klastra (failover) są w pełni automatyczne. Powrót do normalnej pracy (failback) i dodawanie nowych elementów klastra wymaga niewielkiego wysiłku ze strony administratora i jest w pełni transparentne dla aplikacji klienckich. Powyższe cechy pozwalają na budowanie rozwiązań o wydłużonym czasie dostępności.

Wysoka wydajność i skalowalność Mongo DB została osiągnięta kosztem pełnej obsługi transakcji. Mongo DB oferuje atomowość na poziomie zapisu pojedynczego dokumentu. W przypadku modyfikacji wielu dokumentów w ramach jednej operacji, istnieje możliwość modyfikacji poprzez inne wątki. Częściowe wsparcie dla przechowywania transakcyjnego dla wielu dokumentów można osiągnąć poprzez użycie operatora $isolated, jednak rozwiązanie to nie jest wspierane dla klastra wykorzystującego sharding. Korzystanie z transakcji rozszerzonych wymaga dość kłopotliwej implementacji po stronie aplikacji, ale dzięki szczegółowym wskazówkom w dokumentacji nie powinno stanowić problemu dla średnio zaawansowanego programisty.

Doświadczenie zespołu programistów oraz jasno zdefiniowane ścieżki rozwoju sprawiają, że Mongo DB jest uznawany za stabilne rozwiązanie, które można łatwo wdrożyć w każdej organizacji.

BlueSoft z powodzeniem zrealizował wiele projektów w tym zakresie. Chętnie zaprezentujemy bezpośrednio nasze portfolio, jak również odpowiemy na więcej pytań dotyczących samej technologii i korzyści, jakie może przynieść jej wdrożenie.

Co możemy zrobić Dla Twojego biznesu?

Skontaktuj się z nami!
×