🙌

Amazon RDSとDynamoDBの使い分けについて

2023/11/12に公開

はじめに

DBの学習の一環として、Amazon RDSとDynamoDBの特徴と違いをまとめます。

目標と結論

目標はAmazon RDSとDynamoDBをシーン毎に、適切に使い分けられるようになります。

結論は「重要ではないデータの量が大量に発生し、かつ処理速度が求められる」場合はDynamoDBで、それ以外はAmazon RDSを採用すれば良いと思いました。

Amazon RDSとDynamoDBの特徴

①Amazon RDSについて

  • Amazon RDSとは
    AWSが提供するフルマネージド型のリレーショナルデータベース(RDS)サービスです。(PaaS)
  • 対応するDBエンジン (:データベースの作成・管理を担当するソフトウェア)
    6種類ある (Amazon Aurora、Postgre SQL、MySQL、ORACLE、SQL Server、MariaDB)

RDSについて

RDSとは、関連性のあるデータを行と列のテーブル形式(Excel的な)で管理します。

②DynamoDB

  • DynamoDBとは
    AWSが提供するフルマネージド型のNoSQLデータベースサービスであり、
    テーブルの定義が不要であるため、RDSのようなDBエンジンは必要ありません。
NoSQLについて

NoSQLとは、RDS以外のアプローチでデータを管理する方法の全てを指します。

RDSとDynamoDBの違いについて

以下に簡単な比較表を載せます。

比較項目 RDS DynamoDB
特徴 データ処理に一貫性がある データ処理速度が速く、拡張性が高い
データ形式 行と列のテーブル テーブル以外の様々な形式
データ操作 SQL AWS CLI等のツール (SQL互換のクエリ言語も使用可)

おわりに

DBを選定する際は、扱うデータの「重要性、量、処理速度」の3点で考えてみます。

あとDBとの高速化通信についても少し学びましたが、
DynamoDBへはDAX、RDSへはElastiCache(DAXも使用可)が実装しやすいと、
ひとまず理解しました。もう少し深掘りしていきたいです。

DAXもElastiCacheも、実体はEC2というのが知れて勉強になりました。

Discussion