🙌
Amazon RDSとDynamoDBの使い分けについて
はじめに
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