0Pricing
Cloud & IT Cert Prep · Ders

Database Migration Service (DMS) ve Şema Dönüştürme Aracı

Tam yükleme veya CDC kullanarak DMS ile aynı türden ve farklı türden veritabanlarını taşıyın ve Şema Dönüştürme Aracı ile şema lehçelerini dönüştürün.

Database Migration Service (DMS) ve Şema Dönüştürme Aracı, CoddyKit'te ücretsiz bir Cloud & IT Cert Prep dersidir. Bu, 4 dersinin 4. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, Cloud & IT Cert Prep öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. Cloud & IT Cert Prep kursu toplamda 4 dersten oluşur.

AWS DMS Nedir?

AWS Database Migration Service (DMS), veritabanlarını en az kesintiyle AWS'ye geçirir. Aynı türden geçişleri (ör. Oracle'dan Oracle'a, MySQL'den MySQL'e) ve farklı türden geçişleri (ör. Oracle'dan Aurora PostgreSQL'e, SQL Server'dan MySQL'e) destekler. DMS, kaynaktan okuyan, isteğe bağlı olarak verileri dönüştüren ve hedefe yazan bir çoğaltma bulut sunucusu kullanır. Yalnızca çoğaltma bulut sunucusunun çalışma süresi için ödeme yaparsınız.

DMS Bileşenleri: Uç Noktalar ve Çoğaltma Bulut Sunucusu

DMS'nin üç temel bileşeni vardır. Kaynak Uç Noktaları, kaynak veritabanı bağlantısını (JDBC URL'si, kimlik bilgileri, TLS) tanımlar. Hedef Uç Noktaları, hedef veritabanını tanımlar. Çoğaltma Bulut Sunucusu, geçiş iş yükünü çalıştırmak üzere DMS'nin VPC'nizde oluşturduğu EC2 tabanlı, yönetilen bir sunucudur. Çoğaltılacak veri miktarına ve çoğaltma bulut sunucusunun kendisi için çoklu AZ isteyip istemediğinize göre çoğaltma bulut sunucusunun boyutunu seçin.

# 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

Full Load ve CDC Geçişi

DMS iki geçiş modunu destekler. Full Load, mevcut tüm verileri kaynaktan hedefe kopyalar; kesintiyi göze alabildiğiniz veya geçiş sırasında kaynağın salt okunur olduğu durumlar için uygundur. Change Data Capture (CDC), Full Load tamamlandıktan sonra kaynak işlem günlüğündeki devam eden değişiklikleri yakalayarak kaynağı ve hedefi eşitlenmiş durumda tutar. Birleşik Full Load + CDC geçişi kesintiyi en aza indirir: kaynak çalışır durumdayken verileri geçirir, ardından hedef güncel duruma geldiğinde geçiş yaparsınız.

# 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"}]}'

Şema Dönüştürme Aracı (SCT)

AWS Schema Conversion Tool (SCT), kaynak veritabanı şemasını (DDL) hedef veritabanı altyapısıyla uyumlu bir biçime otomatik olarak dönüştüren, ücretsiz indirilebilir bir uygulamadır. Tablo tanımlarını, görünümleri, saklı yordamları, işlevleri ve tetikleyicileri işler. Farklı türden geçişlerde (ör. Oracle'dan PostgreSQL'e), SCT nesnelerin çoğunu otomatik olarak dönüştürür ve desteklenmeyen söz dizimi farklılıkları nedeniyle el ile incelenmesi gereken öğeleri işaretler.

# 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)

Aynı Türden ve Farklı Türden Geçiş

Aynı türden geçişlerde (aynı altyapı; ör. şirket içindeki MySQL'den RDS for MySQL'e), şema doğrudan uyumlu olduğundan SCT genellikle gerekmez. DMS, Full Load + CDC'yi hemen çalıştırabilir. Farklı türden geçişlerde (farklı altyapılar), SCT önce şemayı dönüştürmeli, DMS veri geçişini gerçekleştirmelidir; ayrıca hedef altyapıda eşdeğeri bulunmayan saklı yordamları ve tetikleyicileri el ile yeniden yazmanız gerekebilir.

# 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

Desteklenen Kaynak ve Hedef Veritabanları

DMS çok çeşitli kaynakları destekler: Oracle, SQL Server, MySQL, MariaDB, PostgreSQL, SAP ASE, MongoDB, IBM Db2 ve S3. Desteklenen hedefler, yukarıdakilerin tümüne ek olarak Amazon Redshift, DynamoDB, Kinesis Data Streams ve Kafka içerir. Bu sayede DMS yalnızca ilişkisel geçişler için değil, CDC kullanarak ilişkisel değişiklik olaylarını bir veri gölüne veya olay odaklı mimariye Kinesis üzerinden aktarmak için de kullanılabilir.

DMS Tablo Eşleme Kuralları

DMS, hangi şemaların ve tabloların dahil edileceğini veya hariç tutulacağını denetlemek ve veri dönüşümleri uygulamak için tablo eşleme kurallarını (JSON) kullanır. Şemaları veya tabloları yeniden adlandırabilir, sütun değerlerini dönüştürebilir (ör. tüm dizeleri büyük harfe çevirebilir), türetilmiş sütunlar ekleyebilir veya satırları filtreleyebilirsiniz. Bu özellik, farklı adlandırma kurallarına sahip bir hedefe geçiş yaparken ya da yalnızca tabloların bir alt kümesini geçirmek istediğinizde kullanışlıdır.

# 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'}
    }
  ]
}

DMS Geçiş İlerlemesini İzleme

DMS ölçümleri CloudWatch'a yayımlar: FullLoadThroughputRowsSource (saniyede yüklenen satır sayısı), CDCLatencySource (kaynak işlem günlüğü ile DMS'nin günlüğü okuması arasındaki gecikme) ve CDCLatencyTarget (DMS'nin okuması ile hedefe yazması arasındaki gecikme). Eşitleme aşamasında CDCLatencyTarget'ı yakından izleyin; değer sıfıra yaklaştığında hedef kaynakla arasındaki farkı kapatmış olur ve geçişe hazırsınız demektir.

# 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, çoğaltma kapasitesini geçiş iş yüküne göre otomatik olarak oluşturur ve ölçeklendirir; böylece çoğaltma bulut sunucusunun boyutunu seçme ve yönetme gereksinimini ortadan kaldırır. Minimum ve maksimum DMS kapasite birimlerini (DCU) belirtirsiniz; DMS bu aralık içinde otomatik olarak ölçeklenir. Bu özellik, değişken yüke sahip geçişler veya geçiş yükünün en yoğun olduğu sırada çoğaltma bulut sunucusunun yetersiz boyutlandırılması riskinden kaçınmak istediğiniz durumlar için idealdir.

# 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"]
  }'

Geçişin Eksiksizliğini Doğrulama

Geçişten sonra DMS Veri Doğrulama özelliğini kullanarak verilerin eksiksizliğini doğrulayın. Bu özelliği görev ayarlarında etkinleştirdiğinizde DMS, kaynak ve hedef tablolar arasındaki satır sayılarını ve sağlama toplamlarını karşılaştırır ve uyuşmazlıkları ayrı bir doğrulama tablosuna bildirir. Farklı türden geçişlerde uygulama düzeyinde temel işlev testleri de çalıştırın. Doğrulama sıfır tutarsızlık gösterene kadar kesinlikle geçiş yapmayın; hatalı bir geçişten sonra verileri uzlaştırmak, doğrulamaya fazladan zaman ayırmaktan çok daha maliyetlidir.

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

Yaygın DMS Sınav Senaryoları

SAA-C03 sınavında DMS, en az kesintiyle veritabanı geçişi gerektiren senaryolarda karşınıza çıkar. Temel ipuçları şunlardır: 'devam eden çoğaltmayla veritabanını geçir' → DMS Full Load + CDC. 'farklı veritabanı altyapısına geçiş' → önce SCT, ardından DMS. 'değişiklikleri gerçeğe yakın zamanlı olarak veri gölüne çoğalt' → Kinesis veya S3'e DMS CDC. 'birden çok kaynak veritabanını tek hedefte birleştir' → tek bir hedef uç noktaya yönelik birden çok DMS görevi. DMS özellikle veritabanı geçişi içindir; sunucu geçişi için MGN'yi, toplu veri aktarımı için DataSync veya Snowball'u kullanın.

Hızlı Kontrol

Bu derste işlenen AWS Solutions Architect (SAA-C03) kavramlarını anlayıp anlamadığınızı test edin.

Ders Özeti

Bu derste şunları öğrendiniz: DMS, Full Load ve CDC modlarını kullanarak aynı türden ve farklı türden veritabanı geçişlerini destekler, SCT, altyapı değişikliği gerektiren geçişlerde şema dönüştürmeyi otomatikleştirir ve el ile incelenmesi gereken öğeleri işaretler ve DMS Serverless, çoğaltma kapasitesini otomatik olarak ölçeklendirerek bulut sunucusu boyutunu belirleme gereksinimini ortadan kaldırır. Sırada olay odaklı yönlendirme ve veri yolu mimarisi için Amazon EventBridge'i inceleyeceğiz.

Sıkça Sorulan Sorular

“Database Migration Service (DMS) ve Şema Dönüştürme Aracı” dersi ücretsiz mi?

Evet — “Database Migration Service (DMS) ve Şema Dönüştürme Aracı” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve Cloud & IT Cert Prep kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. Cloud & IT Cert Prep kursu toplamda 4 dersten oluşur.

“Database Migration Service (DMS) ve Şema Dönüştürme Aracı” dersinde ne öğreneceğim?

Tam yükleme veya CDC kullanarak DMS ile aynı türden ve farklı türden veritabanlarını taşıyın ve Şema Dönüştürme Aracı ile şema lehçelerini dönüştürün. Cloud & IT Cert Prep ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.

Cloud & IT Cert Prep öğrenmeye başlamak için deneyim gerekli mi?

Önceden deneyim gerekmez. CoddyKit'te Cloud & IT Cert Prep, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 4. dersidir.

“Database Migration Service (DMS) ve Şema Dönüştürme Aracı” dersi ne kadar sürer?

Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.

Bu Cloud & IT Cert Prep dersinde kod yazıp çalıştırabilir miyim?

Evet. Her Cloud & IT Cert Prep dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.

Bu kursun tüm dersleri

  1. Göç Stratejisinin 7 R'si
  2. AWS Migration Hub ve Application Discovery Service
  3. Application Migration Service (MGN)
  4. Database Migration Service (DMS) ve Şema Dönüştürme Aracı
← Cloud & IT Cert Prep Sayfasına Dön