Przewodnik wprowadzający do AWS DocumentDB

W odpowiedzi na rosnącą liczbę klientów, którzy nie mogą uruchomić MongoDB na dużą skalę, Amazon wdrożył rozwiązanie DocumentDB.

Możesz łatwo skalować od 10 GB do 64 TB za pomocą automatycznego skalowania danych w usłudze DocumentDB. Zobaczmy, jak można to zrobić.

Co to jest baza dokumentów?

AWS DocumentDB to rozbudowana wersja poprzedniej MongoDB w wersji 3.6. Amazon poczuł potrzebę zaprojektowania swojego rozwiązania dla dużych ilości danych i obciążeń o znaczeniu krytycznym. DocumentDB nie używa żadnego kodu źródłowego MongoDB. Dlatego jest to autorska implementacja Amazona.

DocumentDB, podobnie jak MongoDB, jest silnikiem przechowywania dokumentów. AWS DocumentDB to baza danych NoSQL. Aparat magazynu dokumentów ma zwykle format JSON. Oznacza to, że indeksuje struktury danych JSON. Amazon DocumentDB to rozwiązanie upuszczania MongoDB przez AWS, ale inne.

Zanim zagłębimy się w Amazon DocumentDB, ważne jest, aby zrozumieć NoSQL i dlaczego jest to obecnie kolejna wielka rzecz.

Co to jest baza danych NoSQL?

Bazy danych NoSQL nie mają powiązanych ze sobą tabel (czyli „nie tylko SQL”). W większości przypadków dokumenty i wykresy to dwa główne rodzaje rzeczy, których ludzie używają. Mogą obsłużyć wiele danych i wiele obciążeń użytkowników.

Programiści korzystali z baz danych NoSQL w celu zapewnienia wydajności, a nie przechowywania. Dane NoSQL są częściowo ustrukturyzowane i polimorficzne i z łatwością przechowują ogromne ilości danych nieustrukturyzowanych.

Oprócz tego, że bazy danych NoSQL są bardziej spójne niż relacyjne bazy danych, są również łatwiejsze do skalowania i wymagają mniej zasobów. W przeciwieństwie do baz danych SQL, bazy danych NoSQL można łączyć w stos. Bezschematowe bazy danych NoSQL pozwalają na różne struktury elementów bazy danych.

Coraz więcej programistów zaczyna hostować programy i dane w chmurach publicznych. Kluczowe wymagania to rozszerzanie się, a nie zwiększanie i inteligentna lokalizacja danych geograficznych. To są cechy MongoDB.

Firmy na całym świecie stosują NoSQL. Na przykład dane finansowe i zdrowotne są istotnymi przypadkami użycia (np. przechowywanie odczytów IoT z inteligentnej kuwety dla kotów).

Co doprowadziło do DocumentDB?

Amazon wpadł na ten pomysł, ponieważ wiele osób miało problemy z uruchomieniem MongoDB na dużą skalę. Amazon uważał, że żadne z obecnych rozwiązań, w tym MongoDB Atlas, nie rozwiąże problemów ich klientów, więc wymyślili własne.

Na przykład DocumentDB pozwala automatycznie zwiększyć bazę danych z 10 GB do 64 TB, więc nie musisz nic robić. Przed DocumentDB trudno było opracować tego rodzaju dane.

Rozwiązanie Amazona ma również wbudowaną odporność na awarie. Automatycznie dzieli przestrzeń dyskową na fragmenty o pojemności 10 GB rozłożone na wielu dyskach. Każdy 10 GB fragment woluminu magazynu jest replikowany sześciokrotnie w trzech strefach dostępności na potrzeby tworzenia kopii zapasowych.

Aż dwie kopie danych mogą zostać utracone bez wpływu na dostępność zapisu, a trzy dokumenty mogą zostać utracone bez wpływu na dostępność odczytu. Ma również zdolność do samoleczenia. Bloki danych i dyski są sprawdzane pod kątem błędów i automatycznie naprawiane.

Ponieważ Amazon obsługuje tę usługę, większość zasad jest objęta. Spełnia wiele norm, w tym PCI DSS i ISO 9001. Spełnia również wymagania SOC 1, SOC 2, SOC 3 i HIPAA.

Korzyści z DocumentDB

#1. Zgodny z MongoDB

Amazon DocumentDB współpracuje ze sterownikami MongoDB 3.6 i 4.0. Klienci mogą korzystać z wielu tych samych aplikacji, sterowników i narzędzi z Amazon DocumentDB.

Amazon DocumentDB wykorzystuje interfejsy API MongoDB 3.6 i 4.0 open source Apache 2.0 do symulacji serwera MongoDB. Wydajność, skalowalność i dostępność wymagane przez aplikacje MongoDB o znaczeniu krytycznym są już dostępne.

#2. Monitorowanie

Amazon DocumentDB zapewnia analitykę Amazon CloudWatch dla serwerów baz danych w chmurze. Korzystając z konsoli zarządzania AWS, możesz monitorować wydajność klastra w obszarach takich jak obliczenia i pamięć. Uwzględniono przepływność zapytań, liczbę operacji MongoDB i aktywne połączenia.

#3. Czas oczekiwania

Amazon DocumentDB obsługuje dokumenty JSON, kilka typów danych i szybkie indeksowanie. Architektura w pamięci umożliwia usłudze szybką ocenę zapytań dotyczących dużych dokumentów.

#4. Kontrola dostępu

Amazon DocumentDB obsługuje RBAC z wbudowanymi i zdefiniowanymi rolami. RBAC pozwala na zaimplementowanie najmniejszych uprawnień, ograniczając to, co mogą robić użytkownicy.

W ramach AWS Identity and Access Management (IAM) możesz zarządzać tym, co użytkownicy i grupy AWS IAM mogą robić z zasobami Amazon DocumentDB, w tym klastrami, instancjami, migawkami i grupami parametrów. Możesz także otagować zasoby Amazon DocumentDB i regulować użytkowników i grupy uprawnień.

#5. Szyfrowanie

Korzystając z usługi zarządzania kluczami AWS, możesz zaszyfrować swoje bazy danych Amazon DocumentDB (KMS).

Dane w bazowym magazynie są chronione, podobnie jak automatyczne kopie zapasowe, migawki i repliki w klastrze przy użyciu szyfrowania Amazon DocumentDB. Połączenia klient-Amazon DocumentDB są automatycznie szyfrowane za pomocą TLS.

#6. Certyfikaty zgodności

Amazon DocumentDB została stworzona zgodnie z najwyższymi standardami bezpieczeństwa, aby pomóc Ci spełnić Twoje własne wymagania prawne i dotyczące zgodności. Amazon DocumentDB jest zgodna z PCI DSS, ISO 9001, 27001, 27017 i 27018, SOC 1, 2 i 3 oraz HIPAA.

7. Globalne klastry o wysokiej dostępności

Globalne klastry Amazon DocumentDB umożliwiają globalny odczyt i odzyskiwanie danych po katastrofie. Duplikuje dane w maksymalnie pięciu witrynach AWS przy minimalnym wpływie na wydajność.

#8. Wdrożenia Multi-AZ z replikami

Z maksymalnie 15 replikami w trzech strefach dostępności, Amazon DocumentDB automatycznie zmienia instancje w przypadku awarii jednej z nich. W przypadku niepowodzenia Amazon DocumentDB spróbuje stworzyć nowy przykład dla jednego.

#9. Odporne na awarie i samonaprawiające się przechowywanie

Wolumen pamięci jest kopiowany sześć razy w trzech AZ (AZ). Amazon DocumentDB oferuje odporną na awarie pamięć masową do zarządzania utratą danych do dwóch kopii bez wpływu na dostępność zapisu. Pamięć Amazon DocumentDB jest również samonaprawiająca się, zastępując uszkodzone bloki danych i dyski.

Często zadawane pytania dotyczące bazy dokumentów AWS

Czy AWS DocumentDB jest taka sama jak MongoDB?

Oprócz tego, że jest szybka, skalowalna i w pełni zarządzana, Amazon DocumentDB (zgodna z MongoDB) jest w pełni zarządzaną usługą bazy danych dokumentów, której można używać z obciążeniami MongoDB.

Dane JSON mogą być przechowywane w Amazon DocumentDB jako baza danych dokumentów. Możesz z łatwością przechowywać, wyszukiwać i indeksować dane.

Klienci mogą bezpłatnie korzystać z usługi AWS Database Migration Service (DMS) przez sześć miesięcy, aby szybko i łatwo przenieść swoje lokalne lub nierelacyjne bazy danych Amazon Elastic Cloud (EC2) MongoDB do usługi AWS Database Migration Service (DMS) prawie bez przestojów .

Jak działa Amazon DocumentDB?

Amazon DocumentDB współpracuje z interfejsami API MongoDB 3.6 i 4.0 open source Apache 2.0 jako baza danych dokumentów. W rezultacie można używać tych samych sterowników, aplikacji i narzędzi MongoDB z Amazon DDocumentDB z niewielkimi lub żadnymi zmianami.

Jak skaluje się Amazon DocumentDB?

Amazon DocumentDB to baza danych w skali internetowej, która może być skalowana od 10 GB do 64 TB w krokach co 10 GB. Pojemność pamięci masowej i obliczeniowej usługi Amazon DocumentDB można skalować w pionie i poziomie (w celu zwiększenia przepustowości odczytu), dodając do klastra dodatkowe instancje replik (do 15).

Jeśli chodzi o projekt, jakie są główne cechy Amazon DocumentDB?

Architektura oparta na chmurze została wykorzystana do zbudowania Amazon DocumentDB od podstaw. Oznacza to, że obciążenia JSON można łatwo skalować.

Ważną częścią projektu DocumentDB jest oddzielenie przechowywania i przetwarzania, dzięki czemu każdy może rosnąć we własnym tempie. DocumentDB ma system pamięci masowej, który jest rozproszony, odporny na uszkodzenia i samonaprawiający się. Każdy klaster baz danych może przechowywać do 64 TB danych bez ich dzielenia.

Wniosek

DocumentDB to jedyna zarządzana usługa zgodna z MongoDB firmy Amazon. Amazon twierdzi, że DocumentDB ma dwukrotnie większą przepustowość niż obecnie dostępne rozwiązania MongoDB. Alternatywą byłoby zarządzanie bazami danych w EC2/EBS, co jest wyzwaniem.

Jeśli potrzebujesz tych gwarancji, wybierz DocumentDB lub trzymaj się MongoDB. Innym powodem wyboru usługi DocumentDB jest przechowywanie wszystkiego w AWS.