Czym jest MongoDB? Baza danych NoSQL wyjaśniona w prosty sposób
Baza danych zorientowana na dokumenty zachwyca wydajnością i wysoką skalowalnością poziomą
Czym jest MongoDB? MongoDB to baza danych oparta na nierelacyjnym modelu dokumentu. Tak więc, jako tzw. baza danych NoSQL (NoSQL = Not-only-SQL), różni się zasadniczo od konwencjonalnych baz danych relacyjnych, takich jak Oracle, MySQL lub Microsoft SQL Server. Nazwa MongoDB pochodzi od angielskiego słowa „humongous”, co mniej więcej oznacza „gigantyczny”. MongoDB zostało wydane w 2009 roku przez założyciela i programistę Eliota Horowitza, który zrezygnował ze stanowiska dyrektora ds. technologii i z zarządu MongoDB Inc. w 2020 roku, ale nadal jest aktywny jako konsultant techniczny.
1. Wykorzystanie baz danych w środowisku przemysłowym
Różnice koncepcyjne zorientowanej na dokumenty bazy danych NoSQL MongoDB w stosunku do konwencjonalnych baz danych SQL można wyjaśnić w poniższym przykładzie.
W biurze sprzedaży części z tworzyw sztucznych do zarządzania klientami używana jest relacyjna baza danych, która przechowuje tam dane klientów, na przykład w tabeli programu Excel składającej się z wierszy i kolumn. Przyjrzyjmy się najpierw małej części tego systemu, danym kontaktowym klientów. Może zacząć się od prostej tabeli zawierającej jeden wiersz dla każdego klienta. Ten wiersz zawiera unikalny numer identyfikacyjny klienta, imię i nazwisko, adres e-mail, numer telefonu i adres firmy.
A co jeśli chcielibyśmy dodać drugi numer telefonu dla klienta?
W przypadku numeru służbowego i numeru telefonu komórkowego, a nawet numeru kontaktowego w nagłych wypadkach, moglibyśmy po prostu dodać więcej kolumn. Ten sam problem może wystąpić w przypadku wielu adresów, na przykład jeśli klient chce, aby próbka została wysłana do jego biura domowego. Również poprzednie adresy lub informacje o preferowanym specjalnym kolorze części plastikowych mogą być informacjami, których nadal możesz potrzebować. Teraz po prostu dodajesz więcej kolumn dla wszystkich danych kontaktowych klienta. Ostatecznie skończysz z rozdętą, w większości pustą, nieefektywną tabelą, ponieważ wiele pól jest nieużywanych dla wielu innych klientów.

Zamiast tego, oczywiście, można by utworzyć nowe arkusze kalkulacyjne w naszym modelu Excela, jeśli potrzebne są dodatkowe dane. Oto więc nowy oddzielny arkusz dla numerów telefonów, który zawiera tylko jeden numer telefonu w każdym wierszu, który odnosi się do identyfikatora klienta i jest oznaczony etykietą, taką jak „Prywatny”, „Praca” lub „Komórkowy”. W ten sposób można utworzyć inny arkusz dla adresów itd.
Można by utworzyć wiele arkuszy tylko po to, aby przejrzeć pojedynczego klienta, a tutaj nie pomyślano nawet o historii zamówień ani składaniu faktur. Można się domyślić, jak szybko praca w tym sztywnym schemacie może wyjść spod kontroli. Jednak tak właśnie programiści pracują z danymi w tych relacyjnych, tabelarycznych bazach danych w rzeczywistych aplikacjach.
1.1 Dane w bazie relacyjnej
Dane dotyczące pojedynczej rzeczy, np. klienta, są często rozproszone na dziesiątki tabel i arkuszy. To znacznie zwiększa złożoność aplikacji i prowadzi do pewnych wad.
Wady relacyjnych baz danych:
1. Złożoność
Użytkownicy, którzy utrzymują aplikację, mają trudności ze zrozumieniem złożonych i wielowarstwowych struktur.
2.Dodawanie nowych funkcji
Dodawanie funkcji jest trudniejsze, ponieważ na przykład w przypadku odwołań krzyżowych należy wziąć pod uwagę więcej tabel i arkuszy.
3.Pobieranie danych
Pobieranie danych z tak wielu miejsc jest nieefektywne, a aplikacje potrzebują złożonych kodów programistycznych, aby sobie z tym poradzić.
Wyobraź sobie, że przenieślibyśmy ten przykład do świata rzeczywistego i przedstawiciele handlowi musieliby pobierać nazwiska z jednego folderu plików, numery telefonów z innego i adresy z trzeciego folderu. Możesz sobie wyobrazić, jak skomplikowane, podatne na błędy i powolne by to było.
1.2 W jaki sposób MongoDB rozwiązuje ten problem?
MongoDB stosuje teraz zupełnie inne podejście „bez schematu”. Dane są przechowywane w tzw. „dokumentach”.
Podobnie jak fizyczne pliki klientów w teczce wiszącej, dokument może zawierać dwa adresy, trzy numery telefonów i inne informacje, takie jak indywidualny film instruktażowy. Można go przechowywać tuż obok innego dokumentu klienta, który zawiera tylko numer telefonu, adres i jeszcze żadnych zamówień. Dokumenty te nie są ograniczone do posiadania tej samej liczby dokumentów kolumnowych lub pól danych.
MongoDB grupuje kilka dokumentów w „kolekcje”, których baza danych może zawierać kilka.
IT może przetwarzać dane ustrukturyzowane w ten sposób bardziej wydajnie i oczywiście te dokumenty są również o wiele łatwiejsze do odczytania dla ludzi. Ten typ przechowywania danych jest niezwykle korzystny dla programistów, ponieważ nie muszą już dostosowywać swoich aplikacji do wymagań bazy danych. Dzięki MongoDB aplikacje mogą przechowywać dane w naturalny i wygodny sposób. Oznacza to również, że dodawanie nowych danych jest możliwe bez obawy, że prosta zmiana może spowodować, że rekordy bazy danych staną się nieczytelne.
1.3 Różnice w stosunku do tradycyjnych baz danych
Oprócz modelu dokumentów MongoDB zasadniczo różni się od tradycyjnych baz danych, ponieważ jego funkcjonalność umożliwia MongoDB koordynowanie wielu serwerów w celu przechowywania danych.
Dzięki temu MongoDB staje się rozproszoną bazą danych, co pozwala jej zapewnić odporność na błędy, skalowalność, a także funkcje dostępności danych, które w przeciwnym razie programiści musieliby opracować sami, co pozwala ograniczyć ryzyko i nakład pracy.
1. Tolerancja błędów
Aby zapewnić tolerancję błędów w pracy, nadmiarowe kopie tych samych danych są przechowywane na różnych serwerach. Awaria pojedynczego serwera nie wpływa na aplikację.
2. Skalowalność
MongoDB bezproblemowo skaluje się do wielu serwerów w celu przechowywania i przetwarzania danych. W związku z tym wzrastają wymagania dotyczące wolumenu danych i wydajności. Zamiast uaktualniać drogie komputery mainframe, można po prostu dodać więcej serwerów. Jest to również idealne rozwiązanie dla środowisk chmurowych, w których obciążenie jest rozłożone na wiele komputerów.
3. Dostępność danych
Dane są dostępne lokalnie w pobliżu użytkowników na całym świecie, co zapewnia szybki dostęp.
Połączenie modelu dokumentów MongoDB i rozproszonych komponentów systemowych daje MongoDB przewagę nad relacyjnymi bazami danych.
Ponadto firma „Mongo” zapewnia również narzędzia do zarządzania, które umożliwiają operatorom baz danych nadzorowanie konfiguracji, monitorowania, tworzenia kopii zapasowych, odzyskiwania i aktualizowania klastrów MongoDB. Ma to kluczowe znaczenie dla dostosowania MongoDB do najbardziej wymagających przypadków użycia oraz dla organizacji o rygorystycznych SLA (umowa o poziomie usług) i wymaganiach operacyjnych.
2. MongoDB w chmurze i jako usługa
Baza danych MongoDB została opracowana z myślą o środowisku chmurowym i jest tam szeroko wykorzystywana już od jakiegoś czasu.
Jednak coraz więcej użytkowników jest również zainteresowanych tworzeniem swoich aplikacji z komponentami oferowanymi jako „usługa”. Aby sprostać tej potrzebie, „MongoDB Atlas” został wydany jako oferta usługi. Atlas pozwala użytkownikom korzystać z MongoDB jako usługi bez konieczności zarządzania bazą danych. MongoDB Atlas jest dostępny na wiodących platformach chmurowych AWS (Amazon Web Services), Microsoft Azure i Google Cloud Platform. Zapewnia to elastyczność wyboru dostawcy chmury publicznej bez uzależnienia od dostawcy i bez konieczności przepisywania kodu. Te innowacje sprawiają, że coraz więcej firm decyduje się na włączenie platformy MongoDB.
3. Jak zainstalować MongoDB w systemie Windows 10?
W tym samouczku zajmiemy się instalacją i podstawową konfiguracją MongoDB, dzięki czemu nawet początkujący bez podstawowej wiedzy będzie w stanie zainstalować bazę danych w systemie Windows 10, korzystając z tego przewodnika krok po kroku.
3.1 Pobierz
Otwórz przeglądarkę internetową i przejdź na stronę „www.mongodb.com“.
Kliknij zielony przycisk „Wypróbuj bezpłatnie” w prawym górnym rogu.
Na następnej stronie wybierz „On-premises”, a następnie „MongoDB Community Server“.
Aktualna wersja bazy danych jest teraz wyświetlana po prawej stronie ekranu i możesz kliknąć zielony przycisk pobierania z ustawionymi wstępnie wartościami.
3.2 Rozpakowanie i podstawowa instalacja
Otwórz pobrany plik, klikając dwukrotnie. Po krótkiej kontroli systemu możesz rozpocząć instalację, klikając „Dalej”.
W następnym oknie zaznacz pole, aby zaakceptować umowę licencyjną, a następnie ponownie kliknij „Dalej”.
Najłatwiejszym sposobem jest zainstalowanie wszystkich funkcji programu: Kliknij wstępnie wybrane pole „Zakończ”.
Akceptujemy następujące informacje z „Konfiguracji usługi” i ponownie klikamy „Dalej >”.
Możemy również pozostawić wybraną dodatkową instalację MongoDB Compass (przydatny graficzny interfejs użytkownika) i ponownie kliknąć „Dalej”.
Po ostatnim kliknięciu „Zainstaluj” instalacja jest teraz przeprowadzana. Jeśli pojawią się kolejne okna systemu Windows z prośbą o „Zezwól na zmiany”, potwierdź, klikając „Tak”.
Po krótkim czasie możesz zakończyć instalację, klikając „Zakończ”. MongoDB Compass może uruchomić się automatycznie. Kliknij wszystkie okna informacyjne, które mogą się pojawić, i zamknij MongoDB Compass, ponieważ nie będziemy tutaj dalej omawiać Compass i w tym samouczku zajmiemy się wyłącznie podstawowymi instalacjami baz danych.
3.3 Łatwość obsługi
Aby móc korzystać z MongoDB w sposób przyjazny dla użytkownika, przed pierwszym uruchomieniem systemu Windows konieczne jest jedynie dokonanie kilku drobnych zmian.
Otwórz menedżera plików „Explorer” w systemie Windows. Kliknij „Ten komputer”, a następnie kliknij dwukrotnie swój „dysk C:”, następnie kliknij dwukrotnie „Programy”, następnie „MongoDB”, następnie „Serwer”, następnie numer wersji, który się pojawi i na końcu „bin”. Teraz potrzebujemy tej ścieżki pliku. Nad wyświetlaniem pliku okno pokazuje teraz coś takiego jak „> Ten komputer > Windows (C) > Programy > MongoDB > Serwer > 4.4 > bin”. Kliknij prawym przyciskiem myszy tutaj „bin” i wybierz „Kopiuj adres”, aby skopiować ścieżkę pliku do schowka.
Teraz wpisz „var” w polu wyszukiwania paska podręcznego systemu Windows, a powinna pojawić się sugestia „Edytuj zmienne środowiskowe systemu” z panelu sterowania. Wybierz ją kliknięciem myszy. We właściwościach systemu, które teraz pojawiają się na karcie „Zaawansowane”, kliknij przycisk „Zmienne środowiskowe” na dole. W dolnej sekcji „Zmienne systemowe” kliknij dwukrotnie Ścieżka. Pojawi się okno „Edytuj zmienną środowiskową”. Kliknij tutaj „Nowy” i skopiuj ścieżkę instalacji MongoDB ze schowka za pomocą CTRL-V. Teraz potwierdź otwarte okna 3 x za pomocą „OK” i zamknij je. Teraz nasze wywołania i polecenia MongoDB są wygodnie dostępne ze wszystkich katalogów.
Ostatnią rzeczą, którą musimy zrobić, jest utworzenie domyślnego katalogu bazy danych dla MongoDB. Ponownie przechodzimy do pola wyszukiwania w stopce systemu Windows, aby ponownie otworzyć wiersz poleceń za pomocą „cmd”. W wierszu poleceń tworzymy teraz domyślny katalog MongoDB za pomocą „md c:\data\db”. Jeśli nie pojawi się żaden komunikat o błędzie, zakończyliśmy instalację i możemy następnie uruchomić i przetestować zainstalowany MongoDB w wierszu poleceń.
3.4 Uruchom i przetestuj MongoDB
Teraz uruchamiamy bazę danych poleceniem „mongo”. Za pomocą polecenia „show dbs” powinny zostać wyświetlone trzy wstępnie ustawione bazy danych admin, config i local. Aby sprawdzić funkcjonalność, możemy teraz utworzyć własną bazę danych o nazwie „NeueDB” za pomocą polecenia „use NeueDB”.
Tutaj wstawiamy pierwszy rekord danych: Polecenie „db.items.insert ({name: „name”})” tworzy pierwszy wpis danych. Za pomocą polecenia „db.items.find()” możemy sprawdzić, czy zestaw danych z ObjectID jest teraz dostępny. Za pomocą polecenia „show dbs”, które jest wykonywane ponownie, MongoDB powinno teraz pokazać nam nie tylko trzy standardowe bazy danych, ale także „NewDB”, które właśnie utworzyliśmy.
4. Podsumowanie
Baza danych NoSQL MongoDB została opracowana jako projekt typu open source przez społeczność i jest obecnie szeroko wykorzystywana także w środowisku przemysłowym.
Jednakże model MongoDB pay-as-you-go, który również istnieje, jest tutaj szeroko stosowany, ponieważ aplikacje krytyczne dla biznesu rzadko mogą obejść się bez w pełni zarządzanego failover i złożonych opcji odzyskiwania. Jednak wersja serwera społecznościowego dostępna bezpłatnie na www.mongodb.com to doskonały sposób na wejście do świata NoSQL z tą bazą danych.
Więcej informacji

Ważną cechą MongoDB jest wysoka dostępność danych dzięki prostej replikacji na wielu serwerach.
Przeczytaj tutaj, jak OPC Router z wtyczką MongoDB może uzyskać dostęp do danych bazy danych NoSQL w trybie odczytu i zapisu oraz obsługuje obsługę replikacji.

Telegram Bot to dobry sposób na dostarczanie informacji z niemal każdego możliwego obszaru, kiedy tylko ich potrzebujesz.
Wskazujemy dokładnie ten specjalny tryb działania w artykule w naszej Bazie wiedzy „Technologia”, a także udostępniamy instrukcje, jak samodzielnie utworzyć Telegram Bot.

OPC UA – Czym właściwie jest?
OPC UA standaryzuje dostęp do urządzeń, maszyn i innych systemów w Industrie 4.0, a tym samym umożliwia niezależną od producenta wymianę danych. Przegląd terminów i funkcjonalności najważniejszego protokołu komunikacyjnego dla Industry 4.0 i IoT można znaleźć w naszej Bazie wiedzy.
Połączenie danych MongoDB przez wtyczkę OPC Router
Nie znalazłeś jeszcze odpowiednich informacji?
Tutaj znajdziesz więcej informacji o naszym oprogramowaniu, a także przegląd wszystkich dostępnych wtyczek OPC Router. Udostępniamy również bezpłatne demo, dzięki któremu możesz przetestować w pełni funkcjonalną wersję OPC Router.
Tel. +48 32 235 45 60 E-mail: info@inee.pl
© Wszystkie prawa zastrzeżone INEE Sp. z o.o. 2024 - 2025