AWSで利用できるデータベース系サービスが増えすぎなので雑にまとめてみた #reinvent
西澤です。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 Quantum Ledger Database (QLDB) が発表されました! #reinvent
まとめ
データベースが必要となった際には、無難なRDBから検討してしまうことも多いと思うのですが、ユースケースに合わせた最適なDBを選択できると、開発効率も上がり、サービス品質もぐっと高まること間違いなしです。マネージドなDBを積極的に活用していくことをオススメします。