PR

【AWS初心者向け】DynamoDBとRDSの使い分け方解説!

DynamoDBとRDSの使い分け DynamoDB
記事内に広告が含まれています。

初めまして、AWS未経験の状態でAWS認定試験全冠を達成し、2024 Japan AWS All Certifications Engineers にも選出されたエンジニアのwatです!

・AWS認定試験の勉強をしているけど、データベースサービスの理解がイマイチ…
・DynamoDBとRDSの違いを知りたい!

このような方に向けてこの記事では、AWS初心者に向けてDynamoDBとRDSの使い分け方についてわかりやすく解説していきます!

AWSを実際に使ったことがなくても、この記事を最後まで読めばDynamoDBとRDSの使い分け方に対する理解を深めることができます!

是非、この記事を活用してAWSの勉強に役立ててください!

DynamoDBとRDSの基本

まず最初に、それぞれのサービスの概要について紹介していきます!

DynamoDBとは?

Amazon DynamoDBとは、AWSが提供するフルマネージドでキーバリュー型のNoSQLデータベースサービスです。

DynamoDBの特徴
・キーバリュー型のNoSQLデータベース
 →柔軟なデータベース設計ができる
・自動スケーリング対応
 →手動で設定する手間が省ける

DynamoDBを活用することで以下のようなメリットを得ることができます。

関連記事

DynamoDBについてはこちらの記事で解説しています。
さらに理解度を深めたい方は、是非チェックしてください!

RDSとは?

Amazon RDSは、AWSが提供するフルマネージドなリレーショナルデータベースサービスです。

RDSの特徴
・主要なリレーショナルデータベースエンジンをサポート
 →Amazon Aurora、MySQL、PostgreSQL、MariaDB、Oracle Databaseなど
・リードレプリカの作成ができる
 →負荷分散やデータベースの可用性向上に繋がる

RDSを活用することで、以下のようなメリットが得られます。

DynamoDBとRDSの違い

DynamoDBとRDSの違いには以下のようなものが挙げられます。

データ構造

DynamoDBは、JSON形式のような柔軟なデータ構造(スキーマレス)です。
これにより、高速なデータへのアクセスが可能になります。

一方、RDSはのデータ構造は、表(テーブル)形式で、行と列で管理します。

スケーリング

DynamoDBは、水平方向にスケーリング(スケールアウト/イン)します。
それに比べ、RDSは垂直方向にスケーリング(スケールアップ/ダウン)します。

サーバーに置き換えると…
水平方向のスケーリング → サーバーの台数を増やしたり、減らしたりする
垂直方向のスケーリング → サーバーのスペックを上げたり、下げたりする

データの整合性

DynamoDBは、高速なアクセスを優先するため、RDSと比べてデータの整合性が少し下がります。
オプションで 「強整合性(最新データを確実に取得する設定)」 を有効にできますが、その分処理速度が遅くなることがあります。

一方、RDSは ACID(データの一貫性を保証する仕組み) に対応しているため、データの正確性をしっかり守ります。
例えば、途中でエラーが発生しても 「ロールバック(元の状態に戻す)」 できるので、間違ったデータが保存される心配がありません。

  • DynamoDB:高速だけど、データが一時的にズレることがある(強整合性の設定も可能)
  • RDS:データの正確性を最優先し、常に最新の正しいデータを保証

レスポンス速度

DynamoDBは、レスポンス速度を重視しているため、RDSに比べて 非常に高速 に動作します。
さらに、DAX(DynamoDB Accelerator) というオプションを使うと、キャッシュ機能を活用して さらに高速化 でき、特に頻繁にアクセスされるデータの処理が大幅に速くなります。

  • DynamoDB:高速なデータアクセスが可能で、DAXを使えばさらに速度アップ
  • RDS:データの整合性を重視し、速度はDynamoDBほどではない

DynamoDBとRDSの使い分け方

ここからは、DynamoDBとRDSの使い分け方について深掘りしていきます!

DynamoDBが向いているケース

DynamoDBの活用が向いているケースには以下のようなものが挙げられます。

リアルタイム処理が求められる時
 例:SNSアプリ、ストリーミングデータ処理など
NoSQL向きなデータを扱う時
 例:IoTデバイスデータ、キャッシュデータなど

RDSが向いているケース

逆に、RDSを使った方がいいケースは以下のようなものがあります。

・高いデータの整合性が求められる時
 例:銀行や決済システム、ECサイトの注文管理など
SQLを使った複雑なデータ処理が必要な時
 例:在庫管理システム、データ分析用のデータベースなど
トランザクション処理が必要な時
 例:予約システム、保険や契約データの管理など

おすすめAWS認定試験参考書

AWS CLFに合格するには…

参考書のポイント
・クラウドコンピューティングの基礎から丁寧に解説しているので、AWS初心者でも読める
・ITの基礎的な知識も一緒に学ぶことができる(IT関連の仕事をしてなくても理解できる
・AWSを学ぶための最初の1冊としてピッタリ
解説と模擬試験がセットになっているので、記憶に残りやすい

AWS SAAに合格するには…

オススメポイント
・一通り読むことで、AWSの基礎を身につけることができる
・AWS初心者から経験者まで、幅広い層に対応している
最新の試験に対応している

まとめ

今回は、AWS初心者に向けてDynamoDBとRDSの使い分け方してきました!

この記事を読んで、DynamoDBとRDSの使い分けができるようになれば、実務でデータベース設計する際に適切な選択ができるようになること間違いなしです!

また、このサイトではAWS認定試験の対策になるような記事をたくさん紹介しています。
気になる方は関連記事も一緒に読んでみてはいかがでしょうか?

ご精読ありがとうございました!

コメント

タイトルとURLをコピーしました