0Pricing
Cloud & IT Cert Prep · Lekcja

Database Migration Service (DMS) i Schema Conversion Tool

Migrować jednorodne i heterogeniczne bazy danych za pomocą DMS, korzystając z pełnego ładowania lub CDC, oraz konwertować dialekty schematów za pomocą Schema Conversion Tool.

Database Migration Service (DMS) i Schema Conversion Tool to bezpłatna lekcja Cloud & IT Cert Prep na CoddyKit. To lekcja 4 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 Cloud & IT Cert Prep, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs Cloud & IT Cert Prep zawiera 4 lekcji w sumie.

Czym jest AWS DMS?

AWS Database Migration Service (DMS) migruje bazy danych do AWS przy minimalnym przestoju. Obsługuje migracje homogeniczne (np. Oracle do Oracle, MySQL do MySQL) oraz heterogeniczne (np. Oracle do Aurora PostgreSQL, SQL Server do MySQL). DMS używa instancji replikacji, która odczytuje dane ze źródła, opcjonalnie je przekształca, a następnie zapisuje w miejscu docelowym. Opłaty są naliczane wyłącznie za czas działania instancji replikacji.

Komponenty DMS: punkty końcowe i instancja replikacji

DMS ma trzy kluczowe komponenty. Source Endpoints definiują połączenie z bazą danych źródłową (adres URL JDBC, dane uwierzytelniające, TLS). Target Endpoints definiują docelową bazę danych. Replication Instance to zarządzany serwer oparty na EC2, który DMS udostępnia w Państwa VPC w celu uruchomienia obciążenia migracyjnego. Rozmiar instancji replikacji należy wybrać na podstawie ilości danych do zmigrowania oraz tego, czy sama instancja replikacji ma działać w trybie multi-AZ.

# Create a DMS replication instance
aws dms create-replication-instance \
  --replication-instance-identifier my-dms-instance \
  --replication-instance-class dms.t3.medium \
  --allocated-storage 50 \
  --vpc-security-group-ids sg-abc123 \
  --replication-subnet-group-identifier my-dms-subnet-group \
  --multi-az false \
  --publicly-accessible false

Migracja Full Load a CDC

DMS obsługuje dwa tryby migracji. Full Load kopiuje wszystkie istniejące dane ze źródła do miejsca docelowego — jest odpowiedni, gdy można zaakceptować przestój lub gdy źródło jest tylko do odczytu podczas migracji. Change Data Capture (CDC) po zakończeniu pełnego ładowania przechwytuje bieżące zmiany z dziennika transakcji źródła, utrzymując synchronizację źródła i miejsca docelowego. Połączona migracja Full Load + CDC minimalizuje przestój: dane są migrowane, gdy źródło nadal działa, a następnie następuje przełączenie, gdy miejsce docelowe nadąży za źródłem.

# Create a DMS replication task with Full Load + CDC
aws dms create-replication-task \
  --replication-task-identifier sales-migration \
  --source-endpoint-arn arn:aws:dms:us-east-1:123:endpoint:SOURCE \
  --target-endpoint-arn arn:aws:dms:us-east-1:123:endpoint:TARGET \
  --replication-instance-arn arn:aws:dms:us-east-1:123:rep:my-dms-instance \
  --migration-type full-load-and-cdc \
  --table-mappings '{"rules": [{"rule-type": "selection", "rule-id": "1", "rule-name": "all", "object-locator": {"schema-name": "%", "table-name": "%"}, "rule-action": "include"}]}'

Schema Conversion Tool (SCT)

AWS Schema Conversion Tool (SCT) to bezpłatna aplikacja do pobrania, która automatycznie konwertuje schemat bazy danych źródłowej (DDL) do formatu zgodnego z docelowym silnikiem bazodanowym. Obsługuje definicje tabel, widoki, procedury składowane, funkcje i wyzwalacze. W przypadku migracji heterogenicznych (np. z Oracle do PostgreSQL) SCT automatycznie konwertuje większość obiektów i oznacza elementy wymagające ręcznego przeglądu z powodu nieobsługiwanych różnic w składni.

# SCT is a GUI desktop tool, but here is the workflow:
# 1. Connect SCT to source Oracle database
# 2. Connect SCT to target Aurora PostgreSQL database
# 3. Run schema assessment: SCT rates conversion complexity per object
# 4. Convert schema automatically (SCT generates PostgreSQL DDL)
# 5. Apply converted DDL to target (SCT executes or exports SQL script)
# 6. Review and manually fix flagged items (e.g., PL/SQL procedures with Oracle-specific syntax)

Migracja homogeniczna a heterogeniczna

W przypadku migracji homogenicznych (ten sam silnik, np. lokalny MySQL do RDS for MySQL) SCT zwykle nie jest potrzebne — schemat jest bezpośrednio zgodny. DMS może od razu uruchomić Full Load + CDC. W przypadku migracji heterogenicznych (różne silniki) SCT musi najpierw przekonwertować schemat, DMS obsługuje migrację danych, a procedury składowane i wyzwalacze, które nie mają odpowiedników w docelowym silniku, mogą wymagać ręcznego przepisania.

# Example heterogeneous migration workflow:
# On-premises Oracle -> Amazon Aurora PostgreSQL
#
# Step 1: SCT converts Oracle DDL to PostgreSQL DDL
# Step 2: Apply PostgreSQL DDL to Aurora target
# Step 3: DMS Full Load + CDC copies Oracle table data to Aurora
# Step 4: Validate row counts and checksums
# Step 5: Cut over application connections to Aurora endpoint
# Step 6: Terminate DMS task and replication instance

Obsługiwane bazy danych źródłowe i docelowe

DMS obsługuje szeroki zakres źródeł: Oracle, SQL Server, MySQL, MariaDB, PostgreSQL, SAP ASE, MongoDB, IBM Db2 i S3. Obsługiwane miejsca docelowe obejmują wszystkie powyższe usługi, a także Amazon Redshift, DynamoDB, Kinesis Data Streams i Kafka. Dzięki temu DMS jest przydatny nie tylko do migracji relacyjnych, lecz także do przesyłania relacyjnych zdarzeń zmian do jeziora danych lub architektury sterowanej zdarzeniami za pomocą CDC do Kinesis.

Reguły mapowania tabel DMS

DMS używa reguł mapowania tabel (JSON) do określania schematów i tabel, które mają zostać uwzględnione lub wykluczone, oraz do stosowania transformacji danych. Można zmieniać nazwy schematów lub tabel, konwertować wartości kolumn (np. zmienić wszystkie ciągi znaków na wielkie litery), dodawać kolumny pochodne lub filtrować wiersze. Jest to przydatne podczas migracji do miejsca docelowego z innymi konwencjami nazewnictwa albo gdy chcą Państwo zmigrować tylko podzbiór tabel.

# Table mapping: include only the 'orders' table, rename schema
{
  'rules': [
    {
      'rule-type': 'selection',
      'rule-id': '1',
      'rule-name': 'select-orders',
      'object-locator': {'schema-name': 'prod_db', 'table-name': 'orders'},
      'rule-action': 'include'
    },
    {
      'rule-type': 'transformation',
      'rule-id': '2',
      'rule-name': 'rename-schema',
      'rule-action': 'convert-uppercase',
      'rule-target': 'schema',
      'object-locator': {'schema-name': 'prod_db'}
    }
  ]
}

Monitorowanie postępu migracji DMS

DMS publikuje metryki w CloudWatch: FullLoadThroughputRowsSource (liczba ładowanych wierszy na sekundę), CDCLatencySource (opóźnienie między dziennikiem transakcji źródła a jego odczytem przez DMS) oraz CDCLatencyTarget (opóźnienie między odczytem danych przez DMS a ich zapisem w miejscu docelowym). Podczas fazy synchronizacji należy uważnie monitorować CDCLatencyTarget — gdy spadnie niemal do zera, miejsce docelowe nadąża za źródłem i można rozpocząć przełączenie.

# Monitor CDC latency via CloudWatch CLI
aws cloudwatch get-metric-statistics \
  --namespace AWS/DMS \
  --metric-name CDCLatencyTarget \
  --dimensions Name=ReplicationInstanceIdentifier,Value=my-dms-instance \
  --start-time 2024-01-01T00:00:00Z \
  --end-time 2024-01-01T01:00:00Z \
  --period 60 \
  --statistics Average

DMS Serverless

DMS Serverless automatycznie udostępnia i skaluje zasoby replikacji na podstawie obciążenia migracją, eliminując konieczność wyboru rozmiaru instancji replikacji i zarządzania nim. Należy określić minimalną i maksymalną liczbę jednostek pojemności DMS (DCU), a DMS automatycznie skaluje zasoby w tym zakresie. Jest to idealne rozwiązanie w przypadku migracji o zmiennym obciążeniu lub gdy chcą Państwo uniknąć ryzyka zbyt małego rozmiaru instancji replikacji podczas szczytowego obciążenia migracją.

# Create a DMS Serverless replication
aws dms create-replication \
  --replication-config-identifier my-serverless-migration \
  --replication-type full-load-and-cdc \
  --source-endpoint-arn arn:aws:dms:us-east-1:123:endpoint:SOURCE \
  --target-endpoint-arn arn:aws:dms:us-east-1:123:endpoint:TARGET \
  --compute-config '{
    "MinCapacityUnits": 2,
    "MaxCapacityUnits": 64,
    "MultiAZ": false,
    "ReplicationSubnetGroupId": "my-subnet-group",
    "VpcSecurityGroupIds": ["sg-abc123"]
  }'

Weryfikowanie kompletności migracji

Po migracji należy zweryfikować kompletność danych za pomocą funkcji Data Validation w DMS. Należy ją włączyć w ustawieniach zadania, a DMS porówna liczbę wierszy i sumy kontrolne między tabelami źródłowymi i docelowymi, zgłaszając niezgodności w osobnej tabeli walidacyjnej. W przypadku migracji heterogenicznych należy również przeprowadzić testy dymne na poziomie aplikacji. Nie należy wykonywać przełączenia, dopóki walidacja nie wykaże żadnych rozbieżności — uzgadnianie danych po nieudanym przełączeniu jest znacznie bardziej kosztowne niż poświęcenie dodatkowego czasu na walidację.

# Enable validation in DMS task settings (JSON)
{
  'TargetMetadata': {'SupportLobs': true, 'FullLobMode': false},
  'ValidationSettings': {
    'EnableValidation': true,
    'ValidationMode': 'ROW_LEVEL',
    'ValidationOnly': false,
    'FailureMaxCount': 10000
  }
}

Typowe scenariusze egzaminacyjne dotyczące DMS

Na egzaminie SAA-C03 DMS pojawia się w scenariuszach wymagających migracji baz danych przy minimalnym przestoju. Kluczowe sygnały to: 'migrate database with ongoing replication' → DMS Full Load + CDC. 'heterogeneous engine change' → najpierw SCT, a następnie DMS. 'replicate changes in near real time to a data lake' → DMS CDC do Kinesis lub S3. 'consolidate multiple source databases into one target' → wiele zadań DMS do jednego docelowego punktu końcowego. DMS służy konkretnie do migracji baz danych — do migracji serwerów należy użyć MGN, a do masowego transferu danych DataSync lub Snowball.

Szybkie sprawdzenie

Proszę sprawdzić swoją wiedzę na temat zagadnień AWS Solutions Architect (SAA-C03) omówionych w tej lekcji.

Podsumowanie lekcji

W tej lekcji nauczyli się Państwo, że: DMS obsługuje homogeniczne i heterogeniczne migracje baz danych za pomocą trybów Full Load i CDC, SCT automatyzuje konwersję schematu w migracjach obejmujących zmianę silnika i oznacza elementy wymagające ręcznego przeglądu, a DMS Serverless automatycznie skaluje zasoby replikacji, eliminując konieczność wyboru rozmiaru instancji. W następnej lekcji omówimy Amazon EventBridge, routing sterowany zdarzeniami i architekturę magistrali zdarzeń.

Często zadawane pytania

Czy lekcja „Database Migration Service (DMS) i Schema Conversion Tool” jest bezpłatna?

Tak — pełny tekst „Database Migration Service (DMS) i Schema Conversion Tool” 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 Cloud & IT Cert Prep, przejdź na CoddyKit PRO. Kurs Cloud & IT Cert Prep zawiera 4 lekcji w sumie.

Co nauczysz się w „Database Migration Service (DMS) i Schema Conversion Tool”?

Migrować jednorodne i heterogeniczne bazy danych za pomocą DMS, korzystając z pełnego ładowania lub CDC, oraz konwertować dialekty schematów za pomocą Schema Conversion Tool. Ćwiczysz Cloud & IT Cert Prep 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ąć Cloud & IT Cert Prep?

Nie wymagamy żadnego doświadczenia. Cloud & IT Cert Prep 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 4 z 4.

Ile czasu zajmuje lekcja „Database Migration Service (DMS) i Schema Conversion Tool”?

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 Cloud & IT Cert Prep?

Tak. Każda lekcja Cloud & IT Cert Prep 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

  1. 7 strategii migracji
  2. AWS Migration Hub i Application Discovery Service
  3. Application Migration Service (MGN)
  4. Database Migration Service (DMS) i Schema Conversion Tool
← Powrót do Cloud & IT Cert Prep