ちょっと話題の記事

AWSで利用できるデータベース系サービスが増えすぎなので雑にまとめてみた #reinvent

re:Invent 2018から、AWSで利用できるデータベース系サービスが増えすぎて整理できなくなったので、自分用に雑にまとめてみようと思いました。
2018.11.30

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

西澤です。re:Invent初参戦です。複数のセッションを受講した中で、AWSで利用できるデータベース系サービスが増えすぎて整理できなくなったので、自分用に雑にまとめてみようと思いました。

AWSにおけるデータベース利用の考え方

まず、AWSにおけるデータベース利用の考え方として、Keynote2日目のメインスピーカーでもあるWerner Vogelsのブログをご紹介します。オンプレでは商用データベースに何でも集約して管理する形が一般的だったと思いますが、クラウドにデータベースを移行する際には、利用するデータモデルやユースケースに合わせて、最適なツールを選択することが重要になります。

A common question that I get is why do we offer so many database products? The answer for me is simple: Developers want their applications to be well architected and scale effectively. To do this, they need to be able to use multiple databases and data models within the same application.

Seldom can one database fit the needs of multiple distinct use cases. The days of the one-size-fits-all monolithic database are behind us, and developers are now building highly distributed applications using a multitude of purpose-built databases. Developers are doing what they do best: breaking complex applications into smaller pieces and then picking the best tool to solve each problem. The best tool for a job usually differs by use case.

(Google翻訳より)

私が得るよくある質問は、なぜ私たちは非常に多くのデータベース製品を提供しているのでしょうか?私の答えは簡単です:開発者は、アプリケーションをうまく設計し、効果的に拡張したいと考えています。これを行うには、同じアプリケーション内で複数のデータベースとデータモデルを使用できる必要があります。

多くの場合、1つのデータベースを複数の異なるユースケースのニーズに合わせることはできません。1つのサイズのモノリシックデータベースの時代が終わっており、開発者は現在、多数の専用データベースを使用して高度に分散したアプリケーションを構築しています。開発者は、複雑なアプリケーションを小さなものに分割し、それぞれの問題を解決するための最良のツールを選ぶことで、自分たちのベストを尽くしています。仕事のための最良のツールは、通常、ユースケースによって異なります。

AWSデータベース系サービスの雑なまとめ

ということで、ざっとこんな感じでまとめましたが、いかがでしょうか?

AWSサービス 特徴
RDS、Aurora RDB、SQL使える、無難
Redshift 列指向RDB、分析用
DynamoDB Key-Value、スケールする
ElastiCache インメモリなKey-Value、一時的なデータの置き場
Elasticsearch Service 全文検索エンジン、リアルタイム分析・全文検索など
Neptune GraphDB、つながり・レコメンドなど
Timestream 時系列DB、IoT・モニタリングなど
QLDB 台帳DB、履歴管理など

このまとめでは雑すぎると思うので、比較の為に参考となったセッションとその資料も貼っておきます。

下記の速報ブログ、レポートブログもぜひご覧ください。

【速報】【新サービス】時系列データベースであるAmazon Timestreamが発表されました #reinvent

[新サービス] フルマネージドの台帳データベースである、Amazon Quantum Ledger Database (QLDB) が発表されました! #reinvent

[レポート] DAT205 AWSのデータベース:適切な仕事のための適切なツール #reinvent

[レポート] ワークロードに応じた適切なデータベースを構築しよう #reinvent

まとめ

データベースが必要となった際には、無難なRDBから検討してしまうことも多いと思うのですが、ユースケースに合わせた最適なDBを選択できると、開発効率も上がり、サービス品質もぐっと高まること間違いなしです。マネージドなDBを積極的に活用していくことをオススメします。