Silniki RDS i klasy instancji
Porównają MySQL, PostgreSQL, MariaDB, Oracle, SQL Server i Aurora oraz wybiorą odpowiednią klasę instancji dla swojego obciążenia.
Silniki RDS i klasy instancji to bezpłatna lekcja AWS Solutions Architect na CoddyKit. To lekcja 1 z 4. Możesz przeczytać całą lekcję poniżej za darmo — a potem ćwiczyć ją interaktywnie w przeglądarce z wbudowanym edytorem kodu i tutorem AI dostępnym 24/7. To część ścieżki edukacyjnej AWS Solutions Architect, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs AWS Solutions Architect zawiera 4 lekcji w sumie.
Wprowadzenie do silników Amazon RDS
Amazon RDS obsługuje sześć silników baz danych: MySQL, PostgreSQL, MariaDB, Oracle, Microsoft SQL Server oraz Amazon Aurora. Każdy silnik jest w pełni zarządzaną wersją znanej już Państwu otwartoźródłowej lub komercyjnej bazy danych. AWS zajmuje się instalowaniem poprawek, kopiami zapasowymi i przełączaniem awaryjnym, dzięki czemu mogą się Państwo skupić na logice aplikacji.
Wybór odpowiedniego silnika zależy od wymagań istniejącej aplikacji, kosztów licencji oraz funkcji oferowanych przez poszczególne silniki. Aurora to natywna dla chmury opcja AWS zaprojektowana z myślą o wydajności i dostępności.
MySQL i PostgreSQL w RDS
MySQL to najpopularniejsza na świecie otwartoźródłowa relacyjna baza danych, naturalnie pasująca do aplikacji internetowych i systemów CMS. PostgreSQL oferuje zaawansowaną zgodność ze standardem SQL, szeroką obsługę JSONB oraz rozbudowany ekosystem rozszerzeń, dzięki czemu jest popularny w zadaniach analitycznych i geoprzestrzennych.
Oba silniki w RDS obsługują automatyczne kopie zapasowe, wdrożenia Multi-AZ i Read Replicas. Read Replicas PostgreSQL mogą obejmować wiele regionów, natomiast MySQL z Aurora MySQL obsługuje do 15 replik międzyregionowych.
# Creating an RDS MySQL instance via CLI
aws rds create-db-instance \
--db-instance-identifier mydb \
--db-instance-class db.t3.micro \
--engine mysql \
--master-username admin \
--master-user-password MyPass123! \
--allocated-storage 20MariaDB i jej zastosowania
MariaDB to rozwijany przez społeczność fork MySQL, w pełni zgodny z klientami MySQL na poziomie protokołu komunikacyjnego. Oferuje dodatkowe silniki składowania, lepszą wydajność w niektórych obciążeniach oraz otwarty model rozwoju, bez funkcji własnościowych.
W RDS MariaDB jest bezpośrednim zamiennikiem MySQL, jeśli chcą Państwo uniknąć licencjonowania MySQL przez Oracle lub preferują fork rozwijany przez społeczność. Obsługuje te same funkcje automatycznych kopii zapasowych, Multi-AZ i Read Replicas co MySQL.
Oracle i SQL Server w RDS
Oracle Database w RDS obsługuje modele License Included (LI) i Bring Your Own License (BYOL). W modelu LI licencja Oracle SE2 jest wliczona w stawkę godzinową, natomiast BYOL pozwala użyć posiadanej licencji Enterprise Edition z funkcjami takimi jak partycjonowanie i Advanced Security.
Microsoft SQL Server w RDS oferuje podobnie edycje LI (Express, Web, Standard, Enterprise) oraz BYOL. Oba silniki obsługują Multi-AZ z użyciem synchronicznego dublowania, ale nie obsługują Read Replicas w taki sam sposób jak silniki otwartoźródłowe.
Amazon Aurora: silnik natywny dla chmury
Amazon Aurora to natywna dla chmury relacyjna baza danych zgodna zarówno z MySQL, jak i PostgreSQL. Aurora zapewnia do 5 razy większą przepustowość niż MySQL i do 3 razy większą przepustowość niż PostgreSQL na tym samym sprzęcie, wykorzystując rozproszoną warstwę składowania, która automatycznie replikuje dane w sześciu kopiach w trzech strefach dostępności.
Pojemność składowania Aurora zwiększa się automatycznie przyrostami po 10 GB, maksymalnie do 128 TiB, co eliminuje konieczność ręcznego przydzielania miejsca. Oddzielenie warstwy obliczeniowej od warstwy składowania pozwala także usłudze Aurora Serverless automatycznie zwiększać i zmniejszać pojemność.
Rodziny klas instancji RDS
Klasy instancji RDS stosują tę samą konwencję nazewnictwa co EC2, ale zamiast samej litery rodziny mają prefiks db. Główne rodziny to:
- db.t — wydajność skalowana, opłacalna w środowiskach deweloperskich i testowych (np. db.t3.micro, db.t4g.small)
- db.m — zastosowania ogólne, zrównoważone zasoby procesora i pamięci (np. db.m6g.large)
- db.r — zoptymalizowane pod kątem pamięci, do dużych pamięci podręcznych i tabel przechowywanych w pamięci (np. db.r6g.xlarge)
- db.x — bardzo duża ilość pamięci, do Oracle i SQL Server z obciążeniami SAP
Proszę wybrać db.t na potrzeby programowania, db.m dla typowych środowisk produkcyjnych, a db.r dla baz danych z dużym zbiorem roboczym.
Wybór właściwej klasy instancji
Wybór klasy instancji RDS wymaga przeanalizowania wykorzystania procesora, zużycia pamięci, wymagań dotyczących IOPS oraz przepustowości sieci dla danego obciążenia. AWS Compute Optimizer i narzędzie RDS Performance Insights pomagają ustalić, czy bieżąca instancja ma przydzielone zbyt duże, czy zbyt małe zasoby.
Typowy schemat polega na rozpoczęciu od db.t3 podczas tworzenia prototypu, przejściu na db.m6g po ustabilizowaniu obciążenia i wyborze db.r6g, gdy zapytania zyskują na większym buforze. Instancje oparte na Graviton2 (db.m6g, db.r6g) zazwyczaj oferują do 35% lepszy stosunek ceny do wydajności niż ich odpowiedniki x86.
# List available DB instance classes for MySQL 8.0
aws rds describe-orderable-db-instance-options \
--engine mysql \
--engine-version 8.0 \
--query 'OrderableDBInstanceOptions[].DBInstanceClass' \
--output text | tr '\t' '\n' | sort -u | head -20Opcje składowania dla RDS
RDS oferuje trzy typy składowania, które w tle odpowiadają wolumenom EBS:
- gp2 / gp3 — uniwersalne dyski SSD; gp3 pozwala niezależnie przydzielać IOPS i przepustowość bez płacenia za dodatkową przestrzeń
- io1 / io2 — dyski SSD z aprowizowanymi IOPS, przeznaczone dla wrażliwych na opóźnienia baz OLTP wymagających stałego czasu odpowiedzi poniżej milisekundy
- st1 — dysk HDD zoptymalizowany pod kątem przepustowości, dostępny tylko dla określonych silników i obciążeń testowych
W przypadku większości produkcyjnych wdrożeń RDS zalecanym wyborem domyślnym jest gp3, ponieważ oferuje 3000 IOPS bez dodatkowych opłat i można go skalować niezależnie od rozmiaru składowania.
Skalowanie RDS: pionowe i poziome
RDS obsługuje dwa wymiary skalowania. Skalowanie pionowe (zmiana klasy instancji) wymaga krótkiego okna przestoju, chyba że włączono Multi-AZ — w takim przypadku przełączenie awaryjne pozwala niemal wyeliminować przestój podczas zmiany rozmiaru. Modyfikację można zaplanować na najbliższe okno konserwacji lub zastosować natychmiast.
Skalowanie poziome dotyczy wyłącznie odczytu: można dodać Read Replicas, aby rozdzielić zapytania SELECT i odciążyć instancję główną. Read Replicas korzystają z replikacji asynchronicznej, dlatego występuje niewielkie opóźnienie replikacji, które aplikacja musi tolerować.
# Modify an RDS instance class (apply immediately)
aws rds modify-db-instance \
--db-instance-identifier mydb \
--db-instance-class db.m6g.large \
--apply-immediatelyAurora a silniki społecznościowe: najważniejsze różnice
Wybierając między Aurora a społecznościowymi silnikami MySQL/PostgreSQL, proszę uwzględnić następujące kompromisy:
- Aurora: większa przepustowość, automatyczna replikacja w 6 kopiach, szybkie przełączanie awaryjne (~30 s), brak ręcznego zarządzania składowaniem, wyższy koszt godzinowy
- MySQL/PostgreSQL: niższy koszt, szerszy wybór rozszerzeń społeczności, opcja BYOL, znane narzędzia operacyjne
W scenariuszach egzaminacyjnych Aurora jest preferowana, gdy pytanie podkreśla wysoką dostępność, automatyczne zwiększanie przestrzeni lub wydajność zbliżoną do komercyjnych baz danych przy cenie oprogramowania otwartoźródłowego. Silniki społecznościowe wygrywają, gdy priorytetem jest minimalizacja kosztów lub zgodność funkcjonalna ze środowiskiem lokalnym.
Aktualizacje wersji silników w RDS
RDS rozróżnia aktualizacje wersji podrzędnej (np. MySQL 8.0.32 → 8.0.36) od aktualizacji wersji głównej (np. MySQL 5.7 → 8.0). Aktualizacje podrzędne można skonfigurować tak, aby były stosowane automatycznie podczas okna konserwacji, włączając --auto-minor-version-upgrade. Aktualizacje główne wykonuje się ręcznie i mogą one wymagać przetestowania zgodności aplikacji.
Przed aktualizacją wersji głównej zawsze należy najpierw przeprowadzić testy w środowisku przejściowym. Przed aktualizacją można utworzyć migawkę bazy danych, aby w razie problemów przywrócić poprzedni stan. Klastry Aurora obsługują aktualizacje wersji głównej w miejscu, przy minimalnych zakłóceniach.
# Enable auto minor version upgrade
aws rds modify-db-instance \
--db-instance-identifier mydb \
--auto-minor-version-upgrade \
--apply-immediatelySzybki test
Sprawdź swoją znajomość zagadnień AWS Solutions Architect (SAA-C03) omówionych w tej lekcji.
Podsumowanie lekcji
W tej lekcji nauczyli się Państwo, że: RDS obsługuje sześć silników (MySQL, PostgreSQL, MariaDB, Oracle, SQL Server, Aurora), klasy instancji odpowiadają profilom obciążenia (db.t do programowania i testów, db.m do zastosowań ogólnych, db.r do obciążeń intensywnie korzystających z pamięci), a Aurora oferuje większą przepustowość i automatyczne skalowanie przestrzeni w porównaniu z silnikami społecznościowymi. W następnej kolejności omówimy wdrożenia Multi-AZ i automatyczne kopie zapasowe zapewniające wysoką dostępność.
Często zadawane pytania
Czy lekcja „Silniki RDS i klasy instancji” jest bezpłatna?
Tak — pełny tekst „Silniki RDS i klasy instancji” jest dostępny za darmo tutaj w sieci. Aby ćwiczyć ją interaktywnie (wbudowany edytor kodu i tutor AI dostępny 24/7) i odblokować resztę kursu AWS Solutions Architect, przejdź na CoddyKit PRO. Kurs AWS Solutions Architect zawiera 4 lekcji w sumie.
Co nauczysz się w „Silniki RDS i klasy instancji”?
Porównają MySQL, PostgreSQL, MariaDB, Oracle, SQL Server i Aurora oraz wybiorą odpowiednią klasę instancji dla swojego obciążenia. Ćwiczysz AWS Solutions Architect z praktycznym kodem, który uruchamiasz bezpośrednio w przeglądarce, a tutor AI dostępny 24/7 odpowiada na Twoje pytania podczas pracy nad lekcją.
Czy potrzebuję doświadczenia, aby zacząć AWS Solutions Architect?
Nie wymagamy żadnego doświadczenia. AWS Solutions Architect w CoddyKit jest strukturyzowany dla początkujących i zaawansowanych użytkowników, więc możesz zacząć tutaj lub od początku i uczyć się w swoim tempie. To lekcja 1 z 4.
Ile czasu zajmuje lekcja „Silniki RDS i klasy instancji”?
Większość lekcji CoddyKit trwa około 5–10 minut. Każda lekcja to mały, interaktywny krok, dzięki czemu robisz systematyczne postępy i zawsze wracasz dokładnie do tego samego miejsca — na webie i w aplikacji.
Czy mogę pisać i uruchamiać kod w tej lekcji AWS Solutions Architect?
Tak. Każda lekcja AWS Solutions Architect zawiera wbudowany edytor kodu, więc piszesz i uruchamiasz prawdziwy kod bezpośrednio w przeglądarce i od razu otrzymujesz sprzężenie zwrotne od AI — bez konfiguracji na komputerze.
Wszystkie lekcje w tym kursie
- Silniki RDS i klasy instancji
- Multi-AZ i automatyczne kopie zapasowe
- Read Replicas na potrzeby skalowania odczytu
- Bezpieczeństwo RDS: szyfrowanie i grupy parametrów