Wszystko, czego nie wiedziałeś o Amazon Aurora

Tradycyjne systemy baz danych mają wiele ograniczeń związanych z wydajnością, dostępnością i skalowalnością. Rozwiązaniem tych ograniczeń jest Amazon Aurora.

Bazy danych są niezbędne do zasilania aplikacji, które prowadzą firmę. Powinny być większe, bardziej niezawodne i szybsze, aby świadczyć lepsze usługi. Amazon Web Services ułatwiają firmom zarządzanie danymi i poprawiają zadowolenie klientów.

Przykładem takiej usługi jest usługa internetowa Amazon AWS Aurora. Wykorzystuje wolumin klastra do zarządzania swoimi danymi i przydzielania ich do awaryjnego tworzenia kopii zapasowych.

Co to jest Amazon Aurora?

Amazon Aurora, natywna chmurowa baza danych, jest w pełni kompatybilna z Open-Source MySQL i PostgreSQL. Aurora obsługuje wszystkie funkcje MySQL typu open source. Pozwala również na kompatybilność typu „drop-in” z aplikacjami działającymi w tych bazach danych.

Aurora została zaprojektowana z myślą o klientach, którzy wymagają w pełni zarządzanej usługi bazodanowej z opłacalnością i prostotą baz danych typu open source, ale z taką samą wydajnością jak komercyjna baza danych.

Aurora zapewnia wydajność pięć razy większą niż tradycyjny MySQL i trzy razy lepszą niż PostgreSQL. Amazon RDS obsługuje zadania, takie jak udostępnianie, tworzenie kopii zapasowych i odzyskiwanie. Nie ma żadnych kosztów wstępnych, płacisz tylko miesięczną opłatę.

Aurora jest wyjątkowa, ponieważ oferuje osiągnięcia w zakresie doskonałości operacyjnej i funkcji korporacyjnych za ułamek kosztów komercyjnych baz danych.

Aurora zapewnia niezrównaną wydajność, dostępność, bezpieczeństwo i niezawodność na całym świecie. Aurora jest najszybciej rozwijającą się usługą w portfolio AWS od momentu jej powstania w 2014 roku.

Do czego służy Amazon Aurora?

Niezwykły wzrost Aurory był napędzany dużym zainteresowaniem ze strony wielu branż. W ciągu ostatnich dwunastu miesięcy zaobserwowaliśmy duże zainteresowanie usługami finansowymi, oprogramowaniem i Internetem, a także rozrywką i grami oraz sprzedażą detaliczną.

Klienci migrują do Aurora MySQL i Aurora PostgreSQL, aby skonsolidować swoje bazy danych MySQL i PostgreSQL. Widzimy również, że wielu klientów migruje ze starszych baz danych, takich jak Oracle lub Microsoft SQL Server, do Aurora PostgreSQL.

Ci klienci, którzy są „wolni od przerw”, zmęczyli się płaceniem wysokich opłat licencyjnych i zamykaniem się w starszych bazach danych. Klienci o wysokim wzroście chcą szybko i bezproblemowo skalować działalność we wszystkich regionach. Chcą także mieć możliwość integracji między usługami AWS.

Korzyści z Amazon Aurora

Poniżej przedstawiamy korzyści płynące z używania Amazon Aurora:

Skalowalność

Możesz włączyć automatyczne skalowanie. Zwiększy to pojemność, gdy masz więcej miejsca. Zmniejszy to również rozmiar bazy danych, jeśli zmniejszy się miejsce w pamięci.

Ekonomiczny

Płać tylko za wykorzystaną moc obliczeniową i przestrzeń dyskową. Nie ma żadnych opłat wstępnych ani innych opłat. Dokonywanie miesięcznych płatności jest proste.

Bezpieczeństwo

Amazon VPC pozwala odizolować sieć, z której działa Twoja baza danych.

Skorzystaj z usługi zarządzania kluczami AWS, aby utworzyć klucze szyfrujące, które chronią Twoje dane.

Wysoka dostępność i trwałość

Możesz tworzyć repliki Aurory w wielu Strefach Dostępności.

Jest to globalna baza danych, którą można łatwo rozmieścić w wielu regionach AWS, co może zmniejszyć lokalną prędkość odczytu/zapisu.

Wsparcie migracji

Aby przeprowadzić migrację lokalnej bazy danych do Aurory, możesz użyć poleceń pg-dump lub MySQL dump.

W pełni zarządzany

Aurora jest bardzo łatwa w użyciu. Łatwo jest skonfigurować instancję za pomocą konsoli AWS RDS. Aurora oferuje monitorowanie za pomocą Amazon Cloudwatch bez dodatkowych kosztów.

Nie ma potrzeby martwić się o udostępnianie, aktualizowanie lub uaktualnianie. Amazon ma pełną kontrolę nad wszystkimi aspektami Twojego oprogramowania i wykona wszelkie niezbędne poprawki.

Najlepsze cechy Amazon Aurora

Poniżej znajdują się najlepsze cechy Amazon Aurora:

Skalowalność: To najlepsza cecha Amazon Aurora. Baza danych automatycznie zwiększa rozmiar zgodnie z wymaganiami dotyczącymi pamięci. Wolumen może rosnąć w przyrostach do 10 GB i może osiągnąć maksymalnie 128 TB. Pozwala to na bezproblemowe przechowywanie.

Wysoka przepustowość: testy porównawcze SysBench wykazały 5-krotny wzrost przepustowości. Amazon Aurora wykorzystuje różnorodne techniki oprogramowania i sprzętu w celu maksymalizacji dostępnej pamięci, mocy obliczeniowej i sieci. Aby poprawić spójność wydajności, operacje wejścia i wyjścia przy użyciu technik systemów rozproszonych, takich jak kworum.

Monitorowanie i naprawa instancji: Amazon RDS stale monitoruje stan i wydajność bazy danych Amazon Aurora, jak również bazowych instancji EC2. Amazon RDS automatycznie restartuje bazę danych w przypadku awarii bazy danych i wszystkich powiązanych procesów.

Szyfrowanie: Amazon Aurora zapewnia wysokie bezpieczeństwo, umożliwiając szyfrowanie bazy danych za pomocą kluczy, które kontrolujesz i tworzysz za pośrednictwem usługi zarządzania kluczami AWS. Amazon Aurora używa szyfrowania SSL do ochrony danych podczas przesyłania.

Łatwy w użyciu: Amazon Aurora jest łatwy w użyciu. Konsola zarządzania Amazon RDS służy do tworzenia nowej instancji Amazon Aurora DB. To wywołanie API lub CLI wymaga tylko jednego wywołania API. Instancje Amazon Aurora DB są wstępnie skonfigurowane z odpowiednimi parametrami i ustawieniami dla każdego typu instancji DB.

Ekonomiczność: płać tylko za to, czego używasz. Nie ma żadnych kosztów wstępnych ani innych opłat. Dokonywanie miesięcznych płatności jest proste.

Obsługa migracji: Aby przeprowadzić migrację lokalnej bazy danych z Aurory do Aurory, możesz użyć poleceń pg-dump lub MySQL dump.

Aurora jest w pełni zarządzana: możesz od razu zacząć z niej korzystać. Wszystko, co musisz zrobić, to utworzyć instancję za pomocą konsoli AWS RDS lub wywołać API ze swojego kodu. Nie ma potrzeby martwić się o udostępnianie, aktualizowanie lub uaktualnianie.

Architektura Amazon Aurora

Cała architektura bazy danych Aurora jest zbudowana na tradycyjnym systemie DBMS. Ponownie wykorzystuje większość komponentów DBMS, takich jak menedżer transakcji, mechanizm wykonywania zapytań i menedżer odzyskiwania.

Amazon Aurora to nowy DBMS, który wykracza poza tradycyjną grę. Wprowadza wiele ulepszeń do istniejących systemów DBMS, aby zwiększyć ich dostępność, niezawodność i skalowalność.

Te zmiany to:

  • Używana jest konfiguracja repliki podstawowej
  • Zdalne przechowywanie danych może być replikowane
  • Tylko dzienniki zmian mają być zapisywane na dysku zdalnym

Architektura Amazon Aurora może skalować warstwy przechowywania tradycyjnych relacyjnych baz danych.

Podstawowa instancja bazy danych Amazon Aurora przekazuje dziennik powtórzeń do swojej warstwy pamięci w celu przetworzenia. Dzienniki są przetwarzane przez warstwę pamięci masowej, która tworzy i przechowuje nowe wersje stron oraz tworzy kopie zapasowe wszystkiego aż do S3.

Źródło obrazu: AWS

Amazon Aurora musi tylko utworzyć dodatkowe instancje silnika bazy danych i połączyć je z istniejącą warstwą pamięci masowej podczas skalowania w poziomie. Eliminuje to wąskie gardło w replikacji danych, delegując te zadania do przetwarzania równoległego do warstwy pamięci masowej.

Pozwala to na tworzenie wielu nowych funkcji, takich jak:

  • Natychmiastowe przywracanie po awarii: Nie musisz odtwarzać dzienników z ostatniego punktu kontrolnego
  • Szybkie przełączanie awaryjne: nie musisz się martwić o to, która baza danych repliki ma najnowszy rekord dziennika powtórzeń. Warstwa pamięci obsługuje to.
  • Śledzenie wsteczne: ponieważ warstwa pamięci ma przesyłane strumieniowo dzienniki powtórzeń, może „przewijać” dane do określonych punktów w przeszłości bez konieczności przywracania punktu kontrolnego z kopii zapasowej S3

Konfigurowanie Amazon Aurora

Poniżej przedstawiono kroki, aby pomyślnie skonfigurować Amazon Aurora.

# 1. Zaloguj się do konsoli zarządzania AWS i otwórz RDS.

#2. Kliknij utwórz bazę danych.

#3. Wybierz opcję silnika jako Amazon Aurora.

#4. Wybierz potrzebną wersję Aurora MySQL.

#5. Utwórz identyfikator klastra DB i ustaw nazwę użytkownika i hasło ustawień poświadczeń.

#6. Wybierz konfigurację instancji z listy rozwijanej i wybierz opcję tworzenia repliki lub nie.

#7. Wybierz opcje łączności, jak pokazano poniżej.

#8. Wybierz z istniejącej grupy zabezpieczeń VPC lub utwórz nową.

#9. Włącz rozszerzone monitorowanie, wybierz opcję szczegółowości i roli monitorowania.

#10. Na koniec kliknij Utwórz bazę danych.

#11. Pomyślnie utworzyłeś bazę danych Amazon Aurora.

Model cenowy: Amazon Aurora

Jednostki Aurora Serverless ACU v2 kosztują 0,12 USD za godzinę, czyli dwa razy więcej niż aprowizowane jednostki ACU Aurora. To znaczy:

  • Minimalny bieżący koszt eksploatacji: 4 ACU, 0,48 USD za godzinę lub 350 USD miesięcznie
  • W przypadku obciążeń, które patologicznie wyzwalają funkcję automatycznego skalowania, minimalny wzrost skalowalności wynosi 30 sekund lub 0,0005 USD za połowę ACU.

Miesięczny koszt Aurora Serverless V2 wynosi 350 USD. Za każde zdarzenie skalowania automatycznego zostanie naliczona opłata w wysokości co najmniej 0,0005 USD. Chociaż równoważna pojemność Aurory wynosi 175 USD miesięcznie, nie miałaby ona responsywnego automatycznego skalowania bezserwerowego.

Używa przypadków: Amazon Aurora

# 1. Oprogramowanie jako usługa (SaaS)

Wykorzystuje wielotalentowe architektury, które mogą być elastyczne w skalowaniu pamięci masowej i instancji. Dzięki temu Amazon Aurora pozwala firmom skupić się na tworzeniu wysokiej jakości aplikacji i nie martwić się o bazę danych.

#2. Cel gier

AWS Aurora działa w taki sam sposób jak Relacyjna Baza Danych. Zapewnia wysoką przepustowość, ogromną pojemność pamięci masowej, wysoką dostępność i wysoką dostępność.

#3. Aplikacja korporacyjna

Amazon Aurora jest kompatybilna z każdą firmą, która jest już lepsza niż Relacyjna Baza Danych. Aurora jest opłacalna, ponieważ obniża cenę nawet o 90% w porównaniu z innymi opcjami.

Kompatybilność Aurory z MySQL i PostgreSQL

Amazon Aurora została stworzona z myślą o wysokiej wydajności, globalnej dostępności i pełnej kompatybilności z MySQL/PostgreSQL. Standardowe narzędzia ułatwiają migrację baz danych MySQL i PostgreSQL z Aurory. Możesz także uruchamiać starsze aplikacje SQL Server za pomocą Babelfish dla Aurora PostgreSQL, co wymaga minimalnych zmian w kodzie.

Amazon Aurora współpracuje ze standardowymi narzędziami do importu/eksportu PostgreSQL, takimi jak pg_dump lub pg_restore. Możesz także utworzyć nową tabelę Amazon Aurora za pomocą Amazon RDS lub MySQL DB Snapshot.

Migawki bazy danych są zwykle szybkie do wykonania, ale będzie to zależeć od tego, ile i jaki format danych jest migrowanych.

Amazon Aurora kontra Amazon RDS

Projekt architektury

Architektura RDS jest podobna, ponieważ pozwala ręcznie zainstalować silnik bazy danych na Amazon EC2, ale pozostawia udostępnianie i konserwację AWS. RDS zapewnia wiele funkcji, takich jak automatyczne przełączanie awaryjne, tworzenie kopii zapasowych itp. RDS używa woluminów Amazon EBS do przechowywania dzienników i danych bazy danych.

System przechowywania bazy danych Aurora jest niezawodny i odporny na awarie. Przechowywanie bazy danych dla Aurory jest niezależne od instancji. Aurora przechowuje dane w sześciu kopiach, każda po 10 GB. Kopie te są dystrybuowane do trzech Stref Dostępności. Nawet jeśli masz tylko jedną instancję Aurory, nadal będzie istniało sześć kopii Twoich danych.

Wydajność

RDS korzysta z dysków SSD w celu zwiększenia przepustowości we/wy. Dostępne są dwie opcje pamięci masowej opartej na dyskach SSD. Jeden jest przeznaczony do wysokowydajnych aplikacji OLTP, a drugi do ogólnego, ekonomicznego użytku.

Aurora oferuje dwukrotnie wyższą wydajność niż PostgreSQL i pięciokrotnie wyższą niż standardowy MySQL na porównywalnym sprzęcie. Wydajność Aurory była stale wyższa i bardziej spójna.

Obsługa silnika bazy danych

RDS jest kompatybilny z MySQL, PostgreSQL i MariaDB, a także Microsoft SQL Server i Oracle.

Aurora jest kompatybilna zarówno z PostgreSQL, jak i MySQL. Oznacza to, że możesz używać istniejących narzędzi i aplikacji bazodanowych zarówno w PostgreSQL, jak i MySQL bez wprowadzania jakichkolwiek zmian.

Trwałość i dostępność

Aurora ma unikalny model przechowywania, który pozwala na ciągłe tworzenie kopii zapasowych i przywracanie danych przy bardzo niskim RPO (cel punktów odzyskiwania). Dzięki temu jest bardziej niezawodny i trwały niż RDS.

Dane są trwałe z założenia w Aurorze. Zawsze istnieje wiele kopii Twoich danych. Każdy klaster Aurora ma sześć węzłów magazynowania rozmieszczonych w trzech AZ. Nawet jeśli masz tylko jeden węzeł obliczeniowy, nadal istnieje wiele kopii danych.

Odporność

Ze względu na swoją architekturę Aurora jest bardziej odporna niż RDS. Szybko podnosi się z porażek. Jeśli węzeł obliczeniowy ulegnie awarii, Aurora może szybko odzyskać sprawność.

Magazynowanie

Automatyczne skalowanie pamięci masowej RDS skaluje pojemność pamięci masowej do 64 TiB (z wyjątkiem 16 TiB w programie SQL Server), aby sprostać rosnącym obciążeniom bazy danych. Nie ma przestojów.

Aurora automatycznie zwiększa przestrzeń dyskową, zwiększając ją z minimum 10 GB do maksymalnie 128 TiB. Magazyn jest zwiększany w krokach co 10 GB bez wpływu na wydajność bazy danych.

Skalowalność

Skalowanie pionowe: RDS i Aurora umożliwiają skalowanie pamięci i zasobów obliczeniowych do maksymalnie 244 GiB RAM i 32 wirtualnych procesorów. W ciągu kilku sekund możesz skalować operacje.

Aurora Auto Scaling Dynamic: Aurora Auto Scaling dynamicznie dostosowuje liczbę replik Aurora dostępnych dla klastra Aurora DB za pomocą replikacji pojedynczego wzorca. RDS NIE obsługuje takiego automatycznego skalowania.

Replikacja

RDS może być użyty do dostarczenia do pięciu replik. Proces replikacji jest również wolniejszy niż Aurora.

Aurora może udostępnić do 15 replik, a replikacja zajmuje tylko kilka sekund. Aurora skaluje się szybciej, ponieważ może szybko dodawać nowe repliki do odczytu.

Przełączanie awaryjne

W RDS przełączanie awaryjne w celu odczytania repliki odbywa się ręcznie. Może to spowodować utratę danych. Multi-AZ (Instancja wstrzymania) może służyć do automatyzacji przełączania awaryjnego i zapobiegania utracie danych.

Aby zapobiec utracie danych, Aurora używa przełączania awaryjnego do automatycznego odczytu replik. Aurora ma szybszy czas przełączania awaryjnego.

Punkty końcowe klastra

RDS ma punkt końcowy klastra, którego można używać do wykonywania zapytań zapisu. Jest to wskaźnik DNS do bieżącej głównej instancji bazy danych. RDS kieruje punkt końcowy do nowego mastera poprzez prostą zmianę DNS podczas przełączania awaryjnego.

Punkt końcowy klastra jest nadal dostępny w Aurora do pisania zapytań. Ten punkt końcowy działa również jako moduł równoważenia obciążenia dla replikacji odczytu. Ten punkt końcowy może służyć do odpowiadania na zapytania dotyczące odczytu.

Utworzyć kopię zapasową

RDS automatycznie tworzy i zapisuje kopie zapasowe instancji bazy danych w oknie tworzenia kopii zapasowej instancji bazy danych. RDS tworzy migawkę Twojej instancji bazy danych jako wolumin pamięci masowej, tworząc kopię zapasową wszystkich baz danych, a nie tylko wybranych.

Aurora automatycznie tworzy kopie zapasowe woluminów klastra i przywraca dane przez cały okres przechowywania kopii zapasowych. Kopie zapasowe Aurora są ciągłe i przyrostowe, dzięki czemu można szybko przywrócić dowolny punkt w okresie przechowywania kopii zapasowych.

Poniżej znajduje się podsumowana tabela dla Amazon Aurora vs. Amazon RDS:

Amazon AuroraAmazon RDSMożesz rozszerzyć pamięć masową z 10 GB do 64 GBRDS pozwala na 64 GBS dla wszystkich silników, ale tylko 16 GB dla serwera SQLMożesz skalować pamięć i obliczenia do maksymalnie 32 procesorów wirtualnych i 244 GiB pamięci RAMTak samo jak AuroraObsługuje MySQL i PostgreSQLObsługuje Microsoft SQL Server, MariaDB, Oracle Database, MySQL, PostgreSQL i Amazon AuroraObsługuje piętnaście replikObsługuje pięć replikCeny zależą od operacji we/wyMożesz wypróbować bezpłatnie bez minimalnej opłaty za użytkowanie

Amazon Aurora kontra DynamoDB

Trwałość i dostępność

Każdy fragment danych DynamoDB jest replikowany do wielu fizycznych węzłów. Amazon umieścił te fizyczne węzły w wielu strefach (tzw. strefach dostępności), aby zapewnić wysoką trwałość i dostępność w przypadku katastrofy, takiej jak pożar lub poważna przerwa w dostawie prądu. Operacja będzie kontynuowana, nawet jeśli jedna kopia ulegnie awarii. Dyski SSD są również wysoce niezawodne i trwałe.

Kopie zapasowe i przywracanie

DynamoDB oferuje backup na żądanie, a także PITR (Point in-time backups), co pozwala na dostęp do dowolnego stanu bazy danych. DynamoDB jest w stanie wykonać kopię zapasową dowolnej ilości danych. Nie wpłynie to na wydajność i dostępność. Tworzenie kopii zapasowych zajmuje bardzo mało czasu, a użytkownicy nie muszą martwić się harmonogramami tworzenia kopii zapasowych ani procesami w tle. AWS umożliwia odzyskiwanie kopii zapasowych za pomocą tylko jednego wywołania API.

Proces tworzenia kopii zapasowej Amazon Aurora jest podobny do DynamoDB. Został stworzony bez żadnych przerw w działaniu ani przerw w działaniu usługi bazy danych. Kopie zapasowe Amazon są zapisywane w zasobniku S3. Aurora automatycznie utworzy 30-minutową kopię zapasową, jeśli nie określimy okna tworzenia kopii zapasowej.

Kontrola dostępu

DynamoDB obsługuje użytkowników i role IAM za pomocą szczegółowych zasad, które ograniczają uprawnienia do tworzenia baz danych i zapytań. Amazon Aurora ma również podobny schemat uprawnień.

Jednak Aurora zapewnia również interfejsy połączeń zgodne z MySQL i PostgreSQL do łączenia się z bazą danych.

DynamoDB, usługa regionalna, nie podlega ograniczeniom VPC. Jednak klastry Aurora DB muszą być ustanowione w VPC, który jasno określa granice swojej sieci. Możesz także użyć grup bezpieczeństwa VPC, aby kontrolować, które urządzenia lub instancje Amazon EC2 mogą łączyć się z instancją bazy danych.

Poniżej znajduje się podsumowana tabela dla Amazon Aurora vs. DynamoDB:

Amazon AuroraDynamoDBRelacyjna baza danych obsługująca MySQL i PostgreSQLBaza danych NoSQLWieloregionowy, z jednym wzorcemWieloregionowy, z wieloma wzorcamiReplika może zostać awansowana do poziomu podstawowego w ciągu minutyWysoka dostępnośćOpóźnienie replikacji poniżej 1 sekundyOpóźnienie replikacji poniżej milisekund

Wniosek

To było to. Wszyscy wkraczamy w nową erę relacyjnych baz danych, a Aurora to dopiero początek. Klienci zareagowali z przytłaczającą zgodą. Liderzy z każdej branży, tacy jak Capital One, Dow Jones, Netflix i Verizon, migrują swoje relacyjne bazy danych do Aurory, w tym wersje zgodne z MySQL i PostgreSQL.