AWS Databases for Real-Time Applications
クラウドスケールの卓越したパフォーマンス
キャッシュ、セッションストア、ゲームのリーダーボード、配車サービス、広告ターゲティング、リアルタイム分析などリアルタイムアプリケーションでは、毎秒数百万件のリクエストに対応するため、ミリ秒レベルのレイテンシーおよび高スループットが必要です。 従来、デベロッパーは、専門ハードウェアや専有インメモリデータストア、そしてデータ軽減技術と組み合わせることでリアルタイムアプリケーションのデータ管理を行うディスクベースのデータベースなどの回避策を活用していました。AWS は、リアルタイムアプリケーションの増強を専門とした、高パフォーマンスのインメモリサービスを提供します。
卓越したパフォーマンス
ミリ秒のレイテンシーが必要で、毎秒数百万のリクエストに対応するアプリケーション向けに、フルマネージドインメモリキャッシングサービスである Amazon ElastiCache を利用できます。 Amazon MemoryDB for Redis は、Redis と互換性があり、耐久性のあるインメモリデータベースサービスで、ミリ秒の読み取りレイテンシーと数ミリ秒台の書き込みレイテンシーを提供します。Amazon DynamoDB においてミリ秒レベルのレイテンシーが必要なときには、インメモリキャッシュである DynamoDB Accelerator (DAX) を追加することができます。
スケーラブル
ElastiCache は、変化するアプリケーションニーズに応じて、スケールイン、スケールアウト、スケールアップできます。MemoryDB は、アプリケーションのニーズに合わせて、クラスターあたり数ギガバイトから 100 テラバイト以上のストレージまでシームレスにスケールできます。DynamoDB では、事実上無制限のスループットとストレージでアプリケーションを構築できます。
完全マネージド型またはサーバーレス
サーバーのプロビジョニング、パッチ設定、セットアップ、設定、バックアップ、または復元などのデータ管理タスクについて心配する必要はありません。AWS では、継続的にクラスターがモニタリングされることでワークロードの実行が維持されるため、ユーザーはより価値の高いアプリケーション開発に専念できます。
安全性とコンプライアンス
AWS データベースは、ビジネスクリティカルなエンタープライズワークロード用に構築されているため、高い可用性と信頼性を実現します。 Amazon VPC 上で、転送中および保管中にセキュリティの管理を行うことができます。PCI、HIPAA、および FedRAMP に準拠しており、厳格な規制要件を確実に満たすことができます。
リアルタイムアプリケーション用 AWS データベースサービス
Amazon MemoryDB for Redis は、Redis と互換性があり、耐久性のあるインメモリデータベースで、超高速なパフォーマンスとマルチ AZ の耐久性を実現します。MemoryDB は、Stack Overflow の「Most Loved Database」に 5 年連続で選ばれたオープンソースの Redis と互換性があるため、柔軟な Redis のデータ構造を利用してアプリケーションを迅速に構築することができます。MemoryDB は、データベース全体をメモリ内に保存し、耐久性のあるマルチ AZ トランザクションログを使用しているため、超高速なプライマリデータベースとして使用することができます。MemoryDB を使用して最新のマイクロサービスアプリケーションを構築することで、ミリ秒の読み取りレイテンシーと数ミリ秒台の書き込みレイテンシー、高スループットを実現します。
ユーザーコンテンツデータストア、セッション管理、地理空間インデックス作成、チャットやメッセージキュー、リアルタイムストリーミング、不正検出、IOT デバイスデータストリーミングなどに使用されます。
Amazon ElastiCache では、フルマネージド型の Redis および Memcached をご利用いただけます。普及しているオープンソース互換のインメモリデータストアを、シームレスにデプロイ、運用、スケールできます。高スループットかつ低レイテンシーなインメモリデータストアからデータを取得して、大量のデータを扱うアプリケーションを構築したり、既存のアプリケーションのパフォーマンスを改善したりすることが可能です。
キャッシュ、セッションストア、ゲームおよびよびスポーツのリーダーボード、リアルタイム分析、ストリーミング、地理空間検索、Pub/Sub アプリなどに使用できます。
Amazon DynamoDB は、規模に関係なく数ミリ秒台のパフォーマンスを実現する、key-value データベースです。DynamoDB Accelerator (DAX) は、ミリ秒からマイクロ秒まで、最大で 10 倍のパフォーマンス向上を実現します。
スパイク中に自動でスケールアップおよびスケールダウンを行うトラフィック量の多いウェブアプリケーションや、パーソナライズされたモバイルアプリ、ならびにモバイル用、コンソール用、デスクトップ用の低レイテンシーゲームで使用できます。
ユースケース
キャッシュ
Redis 用 Amazon ElastiCache は、可用性が高く分散型で安全なインメモリキャッシュを実装することで、アクセスレイテンシーの減少、スループットの向上、リレーショナルデータベースや NoSQL データベースおよびアプリケーションの負荷軽減を実現する優れた方法です。ElastiCache では、頻繁にリクエストされるアイテムをミリ秒未満の応答時間で提供でき、バックエンドのデータベースのコストを増大させることなく、負荷の増大に対応して簡単にスケールすることができます。データベースのクエリ結果のキャッシュ、持続的セッションのキャッシュ、フルページキャッシュなどは、いずれも Redis 用 ElastiCache を使用したキャッシュの一般的な例です。ElastiCache for Redis を使ったキャッシングアプリケーションの構築方法をご覧ください。
セッションストア
Amazon ElastiCache for Redis は、ユーザー認証トークン、セッションステートなどのセッション情報を管理するためのセッションストアとして大変適しています。セッションキーに適切な TTL を設定して ElastiCache for Redis を高速キー値ストアとして使用することで、セッション情報を管理します。ゲーム、e コマースウェブサイト、ソーシャルメディアプラットフォームといったオンラインアプリケーションでは、一般的にセッション管理が必要になります。ElastiCache for Redis をセッションストアとして使用する方法をご覧ください。
リーダーボード
リアルタイムのゲーム向けリーダーボードは、Amazon ElastiCache for Redis を使用すると簡単に作成できます。Redis の Sorted Set データ構造を使用すると、要素の一意性が得られると同時に、スコア順にソートされたリストを維持できます。リアルタイムのランキングリストを作成することは、ユーザーのスコアが変わるごとに更新することと同じほど簡単です。タイムスタンプをスコアとして使用すれば、Sorted Set で時系列データを扱うこともできます。
開始方法
チュートリアル
Amazon MemoryDB for Redis の使用開始
このチュートリアルでは、MemoryDB マネジメントコンソールを使用して MemoryDB クラスターを作成し、アクセス許可を付与し、接続し、そして最終的に削除していきます。
Amazon ElastiCache for Redis の使用
このチュートリアルでは、Amazon ElastiCache を使用して Redis クラスター (クラスターモードが無効な場合) を作成し、アクセス許可を付与し、接続し、そして最終的に削除していきます。
Amazon ElastiCache for Memcached を使用して WordPress を高速化する
このチュートリアルでは、ElastiCache for Memcached インスタンスをキャッシュとして設定し、WordPress ベースウェブサイトのパフォーマンスおよび スループットを改善していきます。
ウェビナー
キャッシングを開始する: アプリケーションのワークロードをターボチャージする
キャッシングがどのように機能するか、インメモリデータストアとディスクベースデータベースの違い、キャッシングがどのようにワークロードをターボチャージできるか、そして Amazon ElastiCache をどのように使い始めるかをご紹介します。
Amazon ElastiCache による最新のマイクロサービスアーキテクチャの構築
今日の顧客は、彼らが関与するアプリケーションからリアルタイムの応答を期待しています。デベロッパーは、低レイテンシー、高スループット、および大規模なスケールでこれらのエンドユーザーにより良いサービスを提供するために、モノリシックアーキテクチャをマイクロサービスに移行しています。この技術講演では、最新のスケーラブルなマイクロサービスアーキテクチャで Amazon ElastiCache for Redis を使用する方法を学びます。さらに、マイクロサービスベースのアプリケーションを実現するための一般的なインメモリのユースケースとパターンを探ります。
Amazon ElastiCache への移行
セルフマネージド型の Redis から Amazon ElastiCache に移行して、分散キャッシュ環境のデプロイと管理の複雑さを排除しながら、フルマネージド型の Amazon ElastiCache for Redis のスケーラビリティ、パフォーマンス、信頼性を引き出す方法を学びます。
AWS On Air: Amazon MemoryDB for Redis 特集
Amazon MemoryDB for Redis を知り、現在既に使用しているものと同じ柔軟で使いやすい Redis データ構造、API、およびコマンドを使用してアプリケーションをすばやく構築する方法を学びます。さらに、Amazon MemoryDB コンソールで Redis コマンドを実行する方法を示すデモに従ってください。
リソース
MemoryDB for Redis を知る: Amazon MemoryDB for Redis の紹介
MemoryDB でマイクロサービスの構築: Amazon MemoryDB for Redis を使ったマイクロサービスのための Redis データ構造の構築
Amazon ElastiCacheを理解する: インメモリデータストアの基礎、ユースケース、事例
無料で始めましょう: Amazon ElastiCache の無料利用枠で始めましょう
導入事例
Airbnb は DynamoDB を用いてユーザーの膨大な検索履歴を保存し、迅速でパーソナライズされた検索を実現しています。また、ElastiCache を用いてセッションステートをメモリー内に保存して素早い (ミリ秒未満の) サイトレンダリングを可能にし、RDS を用いてこれを主なトランザクションデータベースとしています。詳細 »
Expedia はリアルタイムのデータウェアハウスを構築して宿泊市場の料金と空き情報データをインターネット市場の分析に使っており、これには Aurora、Redshift、ElastiCache が活躍しています。システムは、大量の宿泊施設料金と空き情報を処理し、過去 24 時間に対してマルチストリームユニオンと自己結合を行います。詳細 »
東南アジア大手の配車サービス、Grab は、毎日 150 万件の予約のリアルタイムデータ計算に対するキャッシュレイヤーに ElastiCache for Redis を使用しています。30~40% の労力の節約、および AWS で API レイヤーの平均 40 ミリ秒以下の応答時間が実現できていると、Grab は推測しています。詳細 »
Peloton のスコアボードでは、自宅にいながら仮想空間で一緒に自転車に乗るユーザーのコミュニティに対してカスタマイズ可能なライディングデータを提供するために、伸縮性、低レイテンシー、リアルタイムプロセスを必要としています。Peloton は Amazon ElastiCache for Redis を使ってそのオンデマンドのライブリーダーボードを動作させています。詳細 »