Organizacje każdego dnia stają przed nowymi wyzwaniami, aby stale dostarczać nowe funkcjonalności biznesowe poprzez wdrażanie nowych procesów IT, takich jak Agile i DevOps oraz przyjmowanie nowych architektur, takich jak chmura i mikrousługi. Aby dostosować się do tych wszystkich, potrzebujemy nowej koncepcji bazy danych, która będzie w stanie zarządzać ogromnym wzrostem szybko zmieniających się typów danych i będzie w stanie pracować z danymi w dowolnym miejscu po stronie klienta i po stronie warstwy danych.
Dlatego bazy danych NoSQL „Nie tylko SQL” są zaprojektowane tak, aby sprostać tym wyzwaniom. MongoDB to wiodąca baza danych NoSQL i baza dokumentów o otwartym kodzie źródłowym.
W tym artykule wyjaśnimy koncepcje MongoDB, przedstawimy pomysły na jego zalety i terminologię oraz gdzie możemy ją wdrożyć.
Zalety MongoDB:
Platforma danych MongoDB opiera się na dwóch zasadach:
- Baza danych dokumentów :MongoDB używa dokumentu jako modelu danych, który jest podobny do obiektów JSON. Jest to struktura danych składająca się z par pól i wartości. Wartości mogą obejmować dokumenty podrzędne, tablice i tablice dokumentów; które zmniejszają potrzebę kosztownych łączeń. Dzięki temu modelowi danych będzie można szybciej i łatwiej modelować sposób mapowania obiektów aplikacji na dane, ponieważ odpowiada on natywnym typom danych . Oprócz łatwości użytkowania dokumenty są elastyczne, ponieważ możemy modyfikować nasz schemat w dowolnym momencie, są one polimorficzne, ponieważ dokumenty mogą mieć inną strukturę w porównaniu z innymi dokumentami w tej samej kolekcji i można je rozszerzać:modelujemy dane w dowolny sposób aplikacja wymaga tego.
- Dane rozproszone: MongoDB oferuje możliwość skalowania systemu i dystrybucji danych w celu uzyskania dostępu dla użytkowników z małymi opóźnieniami. Wdrożenie technik „Sharding” i „Replica sets” ułatwia dystrybucję danych i rozwijanie naszego wdrożenia na niedrogim sprzęcie.
Podstawowa terminologia:
MongoDB przechowuje dokumenty BSON w kolekcjach; zbiory w bazie danych. Pojedynczy serwer MongoDB zazwyczaj ma wiele baz danych. Każda baza danych otrzymuje swój własny zestaw plików w systemie plików jako format kolekcji. Każda kolekcja to komplet dokumentów. Jedną z głównych zalet kolekcji jest brak wymuszania schematów, a jednocześnie mamy schemat dynamiczny. Schemat dynamiczny oznacza, że dokumenty w tej samej kolekcji nie muszą mieć tego samego zestawu pól lub struktury, a wspólne pola w dokumentach kolekcji mogą zawierać różne typy danych.
Poniższy rysunek przedstawia terminologię dotyczącą korespondencji relacyjnej bazy danych z MongoDB:
Język zapytań:
Zarówno RDBMS (Oracle i MySQL), jak i MongoDB mają bogaty język zapytań.
Poniższy rysunek przedstawia zgodność RDBMS i MongoDb w języku zapytań:
Wdrożenie:
Aby skorzystać z MongoDB, możemy wybrać implementację MongoDB w tych polach:
- Katalog produktów e-commerce
- Blogi, zarządzanie treścią i dostarczanie
- Infrastruktura mobilna i społeczna
- Wielkie dane
- Zarządzanie danymi użytkownika
- Centrum danych