AWSの各種DBサービスは一体いくつある?ユースケースに見る「使い分け」
情報システムを構築するにあたって、必要になるのがデータベース(以下、DB)です。AWSでも様々なDBサービスを提供していますが、豊富なサービスからどれが自社の要件に合うのかわからないといった悩みも少なくありません。そこで本コラムでは、代表的なDBサービスを紹介するとともに、それぞれどのような用途に合うのか、「使い分け」についてもユースケースを交えて解説します。
目次
RDB/SQL系DBサービス
AWSのDBサービスは大きく2種類に分類でき、その1つが「RDB(リレーショナルデータベース)/SQL系」のDBサービスです。長い歴史を持ち、オンプレミスでも多く活用されており、一般的に多く利用される問い合わせ言語SQLで操作します。厳格なトランザクション処理が可能なことが特長で、業務システム・Webシステムなどで幅広く採用されています。
Amazon Aurora
AWSがクラウド用に構築したRDBMS(リレーショナルデータベース管理システム)であり、優れた拡張性、高い信頼性を持ちながら、商用DBと比べコストを1/10に抑えられる点が特長です。また、MySQLとPostgreSQLに互換性があり、通常のMySQLと比較して最大5倍、通常のPostgreSQLと比較して最大で3倍高速とされています。
ごく小規模なシステムを除き、特に要件がなければ、まずAmazon Auroraを検討することをお勧めします。
Amazon Relational Database Service(Amazon RDS)
AWSが提供するマネージド型のDBサービスで、MySQL、MariaDB、PostgreSQL、Oracle Database、SQL Serverに対応しています。RDBMSの運用までAWS側でおこなうため、運用負荷を軽減できることがメリットですが、一部利用機能に制約があります。
商用DBを利用したい場合は、Amazon RDSを選ぶことになります。
Amazon Redshift
PostgreSQLと互換性のある、大規模データ向けのデータウェアハウス(DWH)で、主に分析に用いられます。小規模なデータから大規模まで柔軟にスケールでき、オンプレミスのDWHと比較してコストを抑えた構築をきることが特長です。
BIやAIと組み合わせ、Amazon Redshiftに保存したデータを可視化・分析する、学習する、といったケースが多く見られます。
NoSQL系DBサービス
「NoSQL」はNot Only SQLの略とされ、RDB以外のDBサービス全般を指します。テーブルにデータを格納し、SQLで操作・検索するRDBとは異なり、多様なデータに対応できることが特長で、RDBが様々な用途を幅広くカバーするのに対し、目的・用途に特化したDBが多いです。
Amazon DynamoDB
Amazon DynamoDBはフルマネージドかつサーバレスなNoSQL系DBで、JSON形式でデータを格納します。データ量に応じて自動でスケールされ、データ件数が多いケースに最適です。
常に大量のセンサーデータが発生するIoTなどで多く使われるほか、Webシステムでも、シンプルなデータ構造の場合にはAmazon DynamoDBを採用するケースが見られます。
Amazon DocumentDB
データをJSONなどのドキュメントとして格納するドキュメントDBの一種で、OSSで人気のMongoDBと互換性を持ちます。同様にJSONを扱うAmazon DynamoDBよりも複雑なSQLクエリを記述でき、簡単なトランザクション処理も実装可能で、Amazon DynamoDBとRDB/SQL系DBサービスの中間のようなサービスととらえるとよいでしょう。
IoTなどで多く利用されますが、Amazon DynamoDBでは対応できない複雑なクエリや集計が必要なケースに最適です。
Amazon ElastiCache
フルマネージド型のインメモリキャッシングサービスで、OSSのインメモリDB「Redis」「memcached」をサポートします。これらのDBはメモリ上でデータを保持するため、レスポンス性能が非常に高く、単純なデータの一次的な保管場所としての用途に適しています。その名のとおりキャッシュの保管場所として使われるケースも多いです。
クラスメソッドのAWS導入コンサルティング
高いスキルと経験を持つクラスメソッドのソリューションアーキテクトが、サービス要件にマッチしたデータベースサービスの選定を支援します。Amazon Aurora/Amazon RDSの構築のほか、アプリケーションからの利用上の注意点や、開発/運用上の課題の解決を支援します。
AWSにおけるDB活用ユースケース
<Case 1:Webサイト>RDBに、キャッシュ保存場所としてAmazon ElastiCacheを組み合わせ
Webサイトで利用するデータをRDBに格納する構成は一般的です。ECサイトの購入情報など厳格なトランザクション処理が求められるものはRDBでの管理が必須ですが、Amazon ElastiCacheを組み合わせ、繰り返し参照されるデータを格納しておくことで、RDB側の負荷を下げ、レスポンス向上を期待できます。また、Webサイトのセッションデータなどの一次的なデータをAmazon ElastiCacheに格納するケースも多くあります。
<Case 2:分析>Amazon S3などからデータをAmazon Redshiftに集約
BIやAIの活用が進んでいますが、その対象となるデータを格納する際はAmazon Redshiftを利用します。
AWSのストレージサービス「Amazon S3」に蓄積したデータをAmazon Redshiftに連携することも可能。さらにAWSのBIサービス「Amazon QuickSight」や、各種AIサービスへと連携でき、様々なデータ分析の基盤として活用できます。
<Case 3:IoT>センサデータなどをAmazon DynamoDBに格納
IoT活用では、センサが数秒おきなど細かく取得したデータをリアルタイムに格納し続けることが求められます。その際に有効なのがAmazon DynamoDBです。データの増加にあわせて自動でスケールされ、次々に送られてくるデータを確実に保管できます。
用途に応じて構成は変わりますが、センサなどからネットワークを介して送られてくるデータを、AWSのストリーミングサービスを介して加工、Amazon DynamoDBへと格納するケースが一般的です。
オンプレミスの既存DBからAWS移行時は、事前検証が重要
ここまでAWSの各種DBサービスについて解説してきましたが、オンプレミスで利用している既存DBからの移行はどう考えればよいのでしょうか?
まず、移行の目的を明確にし、必要な機能要件、非機能要件からどのDBサービス/DBエンジンへ移行するのかを決定する必要があります。オンプレミスと同じDBへ移行するケースが一般的ですが、AWSへの移行を機に、商用DBからAmazon Auroraへ変更など、DBエンジンを変更するケースも見られます。DBエンジンを変更するとアプリケーション側の改修も必須となるため、改修のコストや工数、DBエンジン変更によるメリットなどを事前にしっかり検討することが重要です。
また、OracleやSQL Serverなどでは、移行先としてAmazon RDSが第1候補となりますが、Amazon RDSはマネージドサービスのため運用負荷が下がる一方で、機能や設定などに制限があります。「オンプレミスと同じように利用できない」「必要な機能が使えない」などの可能性もあるため、事前に必ず検証をおこないましょう。
DBのデータ移行に際しては、AWSではDB移行のためのサービス「AWS Database Migration Service」を提供しています。これにより異なるDBエンジン間でも、オンプレミスからAWSのDBサービスへと移行することができます。
DBサービスの選定から構築・移行などをサポート
AWSでは様々なDBサービスが用意されていますが、当然ながらそれぞれ得意分野・適性があるため、用途にあわせて選ぶことが大切です。「どれを選べばよいのかわからない」などのお悩みには、クラスメソッドがDB選定のコンサルティングからサポート。4,000社以上の支援実績で培った経験・ノウハウをもとに最適なDBサービス、構成を提案します。特にAmazon DynamoDBやAmazon DocumentDBは、従来のDBと機能・特長が大きく異なり、「利用経験がなく、使い方がわからない」といった声を聞きますが、これらについても豊富な構築実績があり、用途にあわせた構成や活用方法などを提案可能です。
さらに、オンプレミスからの移行について、事前のPoCから環境構築、移行作業などをサポートする「AWS移行支援サービス」も提供。企業ごとの状況や要望にあわせて、必要な作業を組み合わせて利用でき、DBも含めて無駄のないスムーズな移行を実現します。
AWS移行支援サービス資料
AWS移行支援サービスは評価・検討から移行後の運用まで、一貫したAWSへのマイグレーションを支援します。課題や体制に合わせて必要な支援の選択が可能です。
もくじ
- AWS移行の流れ
- サービス利用のモデルケース
- TCO診断
- AWS利用ガイドライン整備
など
クラスメソッドのAWSサーバーマイグレーション
オンプレミスで利用しているデータベースのAWSへの移行を支援します。データ容量、移行に伴う停止許容時間など、各種移行要件をもとに、最適な移行方法を選択し、AWS上のAmazon Aurora/Amazon RDSへの移行を支援します。
公開日 2023年05月30日