Jak widzimy w dzisiejszym świecie, że większość ludzi przechodzi na MongoDB, wciąż jest wielu, którzy wolą korzystać z tradycyjnej relacyjnej bazy danych. Tutaj omówimy, dlaczego MongoDB powinniśmy wybrać? Jak każda moneta ma dwa oblicza, ma swoje zalety i ograniczenia.
Czy jesteś gotowy, aby poznać powody, dla których warto uczyć się MongoDB?
Dlaczego MongoDB?
Ponieważ jest to baza danych NoSQL, dlatego ma wiele powodów, aby nauczyć się MongoDB. Te powody doprowadziły do światowej popularności MongoDB.
Oto kilka powodów, dla których MongoDB jest tak popularny.
- Struktura agregacji
- Format BSON
- Sharding
- Zapytanie ad hoc
- Kolekcja ograniczona
- Indeksowanie
- Przechowywanie plików
- Replikacja
- Usługa zarządzania MongoDB (MMS)
Najważniejsze powody do nauki MongoDB
i) Struktura agregacji
Możemy go bardzo efektywnie wykorzystać przez MongoDB. MapReduce może być używany do przetwarzania wsadowego danych, a także do operacji agregacji. MapReduce to nic innego jak proces, w którym duże zbiory danych będą przetwarzać i generować wyniki za pomocą równoległych i rozproszonych algorytmów w klastrach.
Składa się z dwóch zestawów operacji w sobie, są to:Map() i Reduce().
- Mapa(): Wykonuje operacje, takie jak filtrowanie danych, a następnie sortowanie tego zestawu danych.
- Zmniejsz(): Wykonuje operację podsumowania wszystkich danych po operacji map().
Ramy agregacji
ii) format BSON
Jest to format podobny do formatu JSON. BSON oznacza binarny JSON . BSON to zakodowana binarnie serializacja JSON, taka jak dokumenty a MongoDB używa go, kiedy przechowuje dokumenty w kolekcjach. Możemy dodać typy danych, takie jak data i dane binarne (JSON nie obsługuje).
Format BSON wykorzystuje tutaj _id jako klucz podstawowy. Jak wspomniano, _id jest używany jako klucz podstawowy, więc ma unikalną wartość związaną ze sobą o nazwie ObjectId, która jest generowana przez sterownik aplikacji lub usługę MongoDB.
Poniżej znajduje się przykład lepszego zrozumienia formatu BSON:
Przykład-
{ "_id": ObjectId("12e6789f4b01d67d71da3211"), "title": "Key features Of MongoDB", "comments": [ ... ] }
Kolejną zaletą korzystania z formatu BSON jest możliwość wewnętrznego indeksowania i mapowania właściwości dokumentu. Ponieważ został zaprojektowany tak, aby był bardziej wydajny pod względem rozmiaru i szybkości, zwiększa przepustowość odczytu/zapisu MongoDB.
iii. Fragmentacja
Głównym problemem związanym z każdą aplikacją internetową/mobilną jest skalowanie. Aby przezwyciężyć to MongoDB dodał funkcję shardingu. Jest to metoda, w której dane są rozprowadzane na wielu komputerach. Skalowalność pozioma jest zapewniona z shardingiem.
Jest to skomplikowany proces i odbywa się za pomocą kilku odłamków. Każdy fragment zawiera pewną część danych i działa jako oddzielna baza danych . Scalanie wszystkich fragmentów razem tworzy jedną logiczną bazę danych. Tutaj operacje są wykonywane przez routery zapytań.
iv. Zapytania ad hoc
MongoDB obsługuje zapytania zakresowe, wyrażenia regularne i wiele innych typów wyszukiwań. Zapytania zawierają funkcje JavaScript zdefiniowane przez użytkownika i mogą również zwracać określone pola z dokumentów. MongoDB może obsługiwać zapytania ad hoc, używając unikalnego języka zapytań lub indeksując dokumenty BSON.
Zobaczmy różnicę między zapytaniem SQL SELECT a zapytaniem podobnym:
Np. Pobieranie wszystkich rekordów tabeli uczniów z imieniem i nazwiskiem ucznia, takim jak ABC.
- Oświadczenie SQL – SELECT * FROM Students GDZIE nazwa stadniny LIKE „%ABC%”;
- Zapytanie MongoDB – db.Students.find({nazwa_studia:/ABC/ });
v. Bez schematu
Ponieważ jest to baza danych pozbawiona schematów (napisana w C++), jest znacznie bardziej elastyczna niż tradycyjna baza danych. Dzięki temu dane nie wymagają wiele do samodzielnej konfiguracji i zmniejszają tarcie dzięki OOP. Jeśli chcesz zapisać obiekt, po prostu zserializuj go do JSON i wyślij do MongoDB.
vi. Kolekcje ograniczone
MongoDB obsługuje kolekcję limitowaną, ponieważ ma stały rozmiar kolekcji w tym. Utrzymuje kolejność reklamową. Po osiągnięciu limitu zaczyna zachowywać się jak kolejka kołowa.
Przykład – Ograniczenie naszej ograniczonej kolekcji do 2 MB
- db.createCollection('logs', {capped:true, size:2097152})
viii. Indeksowanie
Aby poprawić wydajność wyszukiwań, tworzone są indeksy . Możemy zaindeksować dowolne pole w dokumencie MongoDB, zarówno podstawowe, jak i drugorzędne.
Z tego powodu silnik bazy danych może skutecznie rozwiązywać zapytania.
Indeksowanie
viii. Przechowywanie plików
MongoDB może być również używany jako system przechowywania plików, co pozwala uniknąć nierównowagi obciążenia, a także replikacji danych. Ta funkcja została wykonana za pomocą Grid File System , jest zawarty w sterownikach, które przechowują pliki.
Przechowywanie plików w MongoDB
ix. Replikacja
Replikacja jest zapewniana przez dystrybucję danych na różnych komputerach. Może mieć jeden węzeł główny i więcej niż jeden węzły drugorzędne (zestaw replik).
Ten zestaw działa jak mistrz-niewolnik. Tutaj master może wykonywać odczyt i zapis, a slave kopiuje dane z mastera jako kopię zapasową tylko do operacji odczytu.
Replikacja
x. Usługa zarządzania MongoDB (MMS)
MongoDB posiada bardzo potężną funkcję MMS, dzięki której możemy śledzić nasze bazy danych lub maszyny i w razie potrzeby tworzyć kopie zapasowe naszych danych. Śledzi również metryki sprzętowe do zarządzania wdrożeniem.
Zapewnia funkcję niestandardowego alertu, dzięki której możemy wykryć problemy, zanim wpłynie to na naszą instancję MongoDB.
Usługa zarządzania MongoDB (MMS)
Zalety MongoDB
To jest druga faza Dlaczego MongoDB, zalety.
ja. Równoważenie obciążenia
Jeśli masz duży zestaw danych, które musisz przetworzyć, możesz rozdzielić ruch na różne maszyny za pomocą równoważenia obciążenia.
Pomaga użytkownikowi w taki sposób, że możesz kontynuować pracę, nawet jeśli z jakiegoś powodu jeden z węzłów/maszyny przestał działać. Inne węzły będą kontynuować pracę, a Twoje przetwarzanie nie zostanie zatrzymane.
Równoważenie obciążenia
ii. Fragmentacja
Za pomocą shardingu możemy wykonać skalowanie poziome. Co nie jest możliwe przy pomocy relacyjnej bazy danych. Korzystając z tej metody, możemy dystrybuować dane na różne komputery.
Tworzymy fragmenty danych, które mamy ze sobą, a następnie staramy się nieco ułatwić zadanie przetwarzania.
Sharding w MongoDB
iii. Elastyczność
Nie wymaga struktur danych, które mają charakter ujednolicony we wszystkich używanych obiektach. Ułatwia to korzystanie z MongoDB. Z pomocą dynamicznego schematu bardzo łatwo jest używać MongoDB.
Elastyczność
iv. Prędkość
MongoDB może szybko i łatwo przetwarzać dane. Ale jest to ważne, o ile Twoje dane są w formacie dokumentu. Można powiedzieć, że jego prędkość automatycznie wzrasta, ponieważ obsługuje dużą ilość nieustrukturyzowanych danych w ciągu kilku sekund, co wydaje się magią.
Zalety i wady MongoDB
Wady/ograniczenia MongoDB
To jest trzecia faza Dlaczego MongoDB , ograniczenia.
ja. Wykorzystanie pamięci
Ponieważ wiemy, że MongoDB przechowuje nazwę klucza wraz z każdym dokumentem, więc oczywiste jest, że zajmie to dużą ilość pamięci. A ponieważ łączenie również nie jest możliwe, praca ze zduplikowanymi danymi staje się bardzo trudna.
Wykorzystanie pamięci
ii. Brak połączeń
Ponieważ bardzo łatwo stosujemy złączenia w relacyjnej bazie danych, nie jest możliwe stosowanie złączeń w MongoDB. Więc jeśli chcesz zastosować w nim złączenia, będziesz musiał napisać wiele złożonych zapytań, aby wykonać operację złączenia tutaj.
iii. Wciąż w fazie rozwoju
SQL został opracowany w latach 80. i MongoDB pojawił się dopiero w 2009 roku. Z tego powodu MongoDB nie jest jeszcze w pełni udokumentowane ani przetestowane i nie ma pełnego wsparcia ze strony ekspertów.
Podsumowanie
Tak więc po przeczytaniu możesz zorientować się, dlaczego warto go używać, jakie są jego zalety i wady. Poza tym, jeśli masz jakieś pytania, możesz zapytać w sekcji komentarzy poniżej, z chęcią Ci pomożemy.