こんにちは、DBアプライアンス開発本部 伊藤です。 db tech showcase 2021 1日目のA4のセッションであるAWSでのインメモリデータベースの活用〜ElastiCacheとMemoryDBの最新機能をキャッチアップのレポートをお届けします。
スピーカー名:アマゾン ウェブ サービス ジャパン合同会社 スピーカー名:桑野章弘様
セッション概要:
マイクロ秒の応答時間が求められるゲームリーダーボード、セッションストア、リアルタイム分析ではインメモリデータベースを利用するケースが多くあります。 今回はAWSが提供するインメモリデータベースである、ElastiCacheとMemoryDBについて最新の情報を説明し、どのようなケースでどのデータベースを使い分けるかをユースケースと共に紹介します。
Amazon ElastiCache, Amazon MemoryDBの概要
AWSにて提供されているデータベースのうち、Amazon ElastiCache(以下ElastiCache)/ Amazon MemoryDB for Redis(以下MemoryDB)はインメモリデータベースに分類されます。
ElastiCacheのエンジンは、RedisとMemcachedを選択できます。主な違いはこちらで確認できます。
幅広いユースケースに対応できるRedisはランキングでトップを取るほどです。 AWSではこれらのエンジンをマネージドサービスとして利用することができます。
利用事例
世界で多く利用いただいているElastiCacheサービスですが、インメモリデータベースの利点を生かすような使い方をされており、いずれもサービスの質を向上させることを目的としています。
- セッションの状態を管理
- アクセスの多いデータを格納
ElastiCache最新アップデート
Global DataStore
この機能を活用することで、AWSリージョンを跨ぐRedisクラスタを作成することができます。
AWSリージョンを跨ぐため、アベイラビリティゾーンでの冗長化を超える冗長化をおこなうことができるようになります。
詳しくはユーザーガイドをご確認ください。
クラスタあたりのノード数が500へ
以前まではクラスタあたりのノード数が250台までしたが、今回のアップデートで500台と倍増し、よりパフォーマンスの出る大規模な構成を取ることが可能になりました。
Amazon DMSがRedisターゲットに対応
この対応によって、少ないダウンタイムでソースデータベースからElastiCache for Redisへのデータ移行が可能となりました。
Graviton2ベースのインスタンスに対応
Amazon RDSなどでも対応しているGraviton2プロセッサに対応したM6gおよびR6gインスタンスファミリーが使用可能になりました。
前世代のインスタンスに比べ最大45%のコストパフォーマンスが向上しています。
ElastiCache for RedisがAutoScalingに対応
今まではLambdaを使って実装が必要でしたが、AutoScalingに対応したことでCloudWatchと連携したCPU使用率などベースにスケールさせるターゲット追跡スケーリングや、スケジュールを設定して行うスケーリングに対応しています。
詳しくはユーザーガイドをご確認ください。
ElastiCache for RedisとMemoryDB for Redisの使い分け
MemoryDB for Redisのユースケース
- 超高速パフォーマンスを提供する耐久性のあるデータベースを必要としている
- RedisのAPIとデータ構造を使用しているがデータ損失のリスクを回避するための耐久性を求めている
- キャッシュとデータベースを使用して低レイテンシーを実現し、アーキテクチャを簡素化してコスト削減を図りたい
ElastiCache for Redisのユースケース
- 既存のプライマリデータベースでデータアクセスを高速化したいキャッシングワークロードの場合
- Redisデータ構造とAPIを使用して、プライマリデータベースまたはデータストアに格納されたデータにアクセスしたい
まとめ
1.ElastiCache、MemoryDBのユースケース
2.新機能のアップデート
について知ることができました。
聴講した感想
アマゾン ウェブ サービス ジャパン合同会社 桑野さんのセッションを受講いたしました。
普段リレーショナルデータベースだけを利用されている方はインメモリデータベースにはあまりなじみがないのではないかと思います。
インメモリデータベース(Redis)になじみがない方はざっくりキャッシュで利用されるんでしょ?という方が多いかと思います。
実際にはRedisにはいろいろな機能があり、キャッシュの中でも幅広いユースケースがあることを知ることができました。
MemoryDB for Redisのユースケースとして”耐久性”のキーワードが挙げられております。 Redisはインメモリデータベースという特性上、データは永続的ではありません。対策としてAOF機能がありますが、対応できる障害のシナリオに限りがあります。
そこでMemoryDB for Redisはトランザクションログを活用し、限りなくデータロストを防ぐ仕組みとなっております。概要はAWS様のブログ、またはユーザガイドでご確認いただけます。
ElastiCache for Redisの耐久性に課題を感じられているお客様はぜひMemoryDB for Redisの利用を検討されてみてはいかがでしょうか?
db tech showcase2021のアーカイブ動画・資料を12月末まで公開しております! 閲覧はこちらからご覧ください。https://eventregist.com/e/TvkwJoawl5Dy