MENU

【AWS Certified Cloud Practitioner】DynamoDB・AWS DMS・AWS SCTの違いを初心者向けにやさしく整理

目次

はじめに

AWS Certified Cloud Practitionerでは、AWSの主要サービスを「何に使うのか」「似たサービスと何が違うのか」という観点で理解しておくことが重要です。この記事では、手書きメモに出てきやすい Amazon DynamoDBAWS Database Migration Service(AWS DMS)AWS Schema Conversion Tool(AWS SCT) を、初学者でも混同しにくいように整理します。

先に結論を書くと、次の3つで覚えると理解しやすいです。

  • DynamoDB:高速に使えるフルマネージドなNoSQLデータベース
  • AWS DMS:データベースのデータ移行を支援するサービス
  • AWS SCT:異なるデータベースエンジンへ移るときのスキーマ変換を支援するツール

Amazon DynamoDBとは何か

Amazon DynamoDBは、AWSが提供するフルマネージドなNoSQLデータベースです。公式ドキュメントでは、キーバリュー型およびドキュメント型のデータモデルをサポートし、あらゆる規模で1桁ミリ秒のパフォーマンスを目指すサービスとして説明されています。

NoSQLを短く言うと

NoSQLは、従来のリレーショナルデータベース(RDB)のように表同士を複雑に結合して使う設計だけに限らないデータベースの考え方です。Cloud Practitionerでは、まず次の理解で十分です。

  • RDSのようなRDBは、表の関係をしっかり整理して扱うのが得意
  • DynamoDBのようなNoSQLは、必要なデータをすばやく取り出す設計が得意

DynamoDBの特徴

  • フルマネージド:サーバーの管理やパッチ適用をAWSが担当する
  • 高い拡張性:アクセス増加に対応しやすい
  • 低レイテンシ:短い応答時間でデータ取得しやすい
  • JOINを前提としない:RDBのような複雑な結合処理を中心に設計しない

初心者向けのイメージ

DynamoDBは、「このキーのデータをすぐ返してほしい」という使い方に強いサービスです。たとえば、次のような場面と相性がよくあります。

  • ユーザーごとのショッピングカート
  • ログインセッション情報
  • ゲームのスコアやランキングの一部
  • IoT機器ごとの最新状態

具体例

たとえばECサイトで、user123 のカート情報を毎回すばやく取得したい場合、user123 をキーとして保存しておけば、必要なデータへ高速にアクセスしやすくなります。Cloud Practitionerでは、DynamoDBを「大規模アクセスに強いAWSのNoSQLデータベース」として整理しておくと十分実戦的です。

AWS DMSとは何か

AWS Database Migration Service(AWS DMS)は、データベースをAWSへ移行したり、別の環境へ移したりするときに使うサービスです。公式には、リレーショナルデータベース、データウェアハウス、NoSQLデータベースなどの移行を支援するサービスとして説明されています。

DMSの役割を一言でいうと

「データを移す担当」です。

たとえば、オンプレミスのデータベースをAmazon RDSやAmazon Auroraへ移したいとき、AWS DMSを使うことで移行作業を進めやすくなります。

DMSが試験で重要な理由

Cloud Practitionerでは、AWS DMSの細かな設定よりも、次の理解が重要です。

  • 既存データベースをAWSへ移行したいときに使う
  • 本番停止時間をできるだけ短くする移行でよく使われる
  • 初回の一括コピーだけでなく、変更分の継続反映にも使える

フルロードと継続レプリケーション

AWS DMSでは、まず既存データをまとめて移し、その後に発生した変更を追いかけて反映する使い方があります。公式ドキュメントでは、継続的な変更の複製を CDC(Change Data Capture) と説明しています。

引っ越しで例えると分かりやすいです。

  • フルロード:最初に家具や荷物をまとめて新居へ運ぶ
  • CDC:引っ越し中に増えた荷物や変更分だけを追加で新居へ送る

この仕組みにより、切り替え前に新旧環境の差分を小さくしやすくなります。

AWS SCTとは何か

AWS Schema Conversion Tool(AWS SCT)は、異なるデータベースエンジンへ移行するときに、スキーマやSQLの変換を支援するツールです。

スキーマとは

スキーマとは、データベースの設計図のようなものです。たとえば次のような定義が含まれます。

  • テーブル定義
  • 列の型
  • インデックス
  • ビュー
  • 一部のSQLコードやデータベース機能

なぜSCTが必要なのか

たとえば、OracleからAurora PostgreSQLへ移る場合、データだけコピーしても、そのまま動くとは限りません。なぜなら、データベースごとに使える型やSQL構文、機能が異なるからです。そこで、AWS SCTが変換の下準備を助けます。

初心者向けのイメージ

  • AWS SCT:設計図を新しい形式へ作り替える
  • AWS DMS:中に入っているデータを運ぶ

この役割分担を理解すると、試験でも混乱しにくくなります。

DynamoDB・DMS・SCTの違いを一気に整理

サービス主な役割試験での覚え方
Amazon DynamoDBNoSQLデータベースとしてデータを保存・高速取得する高速・高スケールなフルマネージドNoSQL
AWS DMSデータベースのデータ移行を支援するデータを移す担当
AWS SCT異なるDBエンジン間でスキーマ変換を支援する設計図を変換する担当

試験で狙われやすいポイント

  • DynamoDBはNoSQLデータベースであり、RDSの代わりに「すべての業務システムで必ず使う」ものではない
  • AWS DMSは移行サービスであり、通常の本番アプリの保存先データベースそのものではない
  • AWS SCTはスキーマ変換を支援するが、データ本体の継続移行の主役はAWS DMSと整理すると覚えやすい
  • 「オンプレミスのDBをAWSへ移す」「ダウンタイムを抑えて移行したい」といった問題では、AWS DMSが候補になりやすい
  • 「高速なNoSQLデータベースを使いたい」という問題では、DynamoDBが候補になりやすい

よくある混同

1. DynamoDBとRDSの混同

RDSは主にリレーショナルデータベース、DynamoDBはNoSQLデータベースです。用途が重なる場面はありますが、設計思想が異なります。試験では「RDBが必要なのか」「NoSQLが向いているのか」を見分ける視点が重要です。

2. AWS DMSとAWS SCTの混同

この2つは一緒に登場しやすいですが、役割は別です。データ移行はDMSスキーマ変換はSCTという切り分けで整理してください。

直前復習用まとめ

  • DynamoDB = AWSのフルマネージドNoSQLデータベース
  • DynamoDB = キーバリュー型・ドキュメント型をサポート
  • DynamoDB = 高速で大規模アクセスに強い
  • AWS DMS = データベース移行サービス
  • AWS DMS = フルロードやCDCで移行を支援
  • AWS SCT = 異なるDBエンジン間のスキーマ変換を支援
  • DMSとSCTは併用されることがあるが、役割は同じではない

公式一次情報

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!
目次