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 relacyjnych baz danych, 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, używana jest relacyjna baza danych do zarządzania klientami, która przechowuje tam dane klientów, na przykład tak jak 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ę, 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, komórkowego, a nawet numeru kontaktowego w nagłych przypadkach, 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
domowego biura. 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 tabela będzie nadmiernie duża, w większości pusta a przede wszystkim nieefektywna, ponieważ wiele pól dla wielu innych klientów zostanie niewykorzystanych.

Zamiast tego, oczywiście można by utworzyć nowe arkusze kalkulacyjne w naszym modelu Excela, jeśli były by potrzebne dodatkowe dane. Więc oto 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 wydostać się spod kontroli. Jednak tak właśnie programiści pracują z
danymi w relacyjnych, tabelarycznych bazach danych.
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 referencji 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 ten przykład wdrożylibyśmy w życie 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 dokumenty klientów w teczce, 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 kolumny dokumentów 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 spowoduje brak możliwości odczytania rekordów bazy danych.
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. Odporność na błędy
Aby zapewnić odporność na błędy 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 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 zastosowania oraz dla organizacji o rygorystycznych SLA (umowa o poziomie usług) a także 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 użytkownik bez podstawowej wiedzy będzie w stanie zainstalować bazę danych w systemie Windows 10, korzystając z tego przewodnika krok po kroku.
3.1 Pobieranie
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 na niego dwukrotnie. Po krótkiej kontroli systemu możesz rozpocząć instalację, klikając „Next”.
W następnym oknie zaznacz pole, aby zaakceptować umowę licencyjną, a następnie ponownie kliknij „Next”.
Najłatwiejszym sposobem jest zainstalowanie wszystkich funkcji programu: Kliknij wstępnie wybrane pole „Complete”.
Akceptujemy następujące informacje z „Service Configuration” i ponownie klikamy „Next >”.
Możemy również pozostawić wybraną dodatkową instalację MongoDB Compass (przydatny graficzny interfejs użytkownika) i ponownie kliknąć „Next”.
Po ostatnim kliknięciu „Install” instalacja zostanie rozpoczęta. 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 „Finish”. MongoDB Compass może uruchomić się automatycznie. Przeklikaj 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 konieczne jest jedynie dokonanie kilku drobnych zmian w systemie Windows.
Otwórz menedżera plików „Eksplorator plików” w systemie Windows. Kliknij dwukrotnie „Ten komputer”, a następnie przejdź do lokalizacji „C:\\Programy\MongoDB\Server\numer wersji \bin”. Teraz potrzebujemy tej ścieżki pliku. Skopiuj ją do schowka.
Teraz wpisz „zmienne” w polu wyszukiwania paska podręcznego systemu Windows, powinna pojawić się sugestia „Edytuj zmienne środowiskowe systemu” z panelu sterowania. Wybierz ją klikając przyciskiem myszy. We właściwościach systemu, które teraz są wyświetlane, na karcie „Zaawansowane”, w dolnej części okna kliknij przycisk „Zmienne środowiskowe”. W dolnej sekcji wyświetlanego okna „Zmienne systemowe” kliknij dwukrotnie na „Path”. Pojawi się okno „Edycja zmiennej środowiskowej”. Kliknij tutaj „Nowy” i wklej ścieżkę instalacji MongoDB ze schowka za
pomocą CTRL-V. Teraz potwierdź otwarte okna 3 x za pomocą „OK”. 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 paska podręcznego systemu Windows, aby otworzyć wiersz poleceń wpisz „cmd”. W wierszu poleceń tworzymy teraz domyślny katalog MongoDB za pomocą polecenia „md c:\data\db”. Jeśli nie pojawi się żaden komunikat o błędzie, zakończyliśmy instalację i możemy następnie uruchomić oraz przetestować zainstalowaną bazę MongoDB w wierszu poleceń.
3.4 Uruchomienie i testowanie
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 „NewDB” za pomocą
polecenia „use NewDB”.
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. Przy użyciu 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ą bazy danych 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, kiedy tylko ich potrzebujesz z niemal każdego możliwego obszaru.
Wskazujemy dokładnie ten specjalny tryb działania w artykule naszej bazy wiedzy „Technologia”, a także udostępniamy instrukcje, jak samodzielnie utworzyć bota Telegram-u.

OPC UA – Co to właściwie jest?
OPC UA zajmuje się ustandaryzowaniem dostęp do urządzeń, maszyn i innych systemów w Przemyśle 4.0, a tym samym umożliwia niezależną od producenta wymianę danych. W naszej bazie wiedzy można znaleźć przegląd pojęć oraz funkcjonalności najważniejszego protokołu komunikacyjnego dla Przemysłu 4.0 i IoT.
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
Mapa strony: opc-router.pl
© Wszystkie prawa zastrzeżone INEE Sp. z o.o. 2024 - 2025