インメモリデータベースとは何ですか?
定義済みのインメモリデータベース
インメモリデータベースとは、専用データベースです。データをディスクや SSD に保存するデータベースではなく、データストレージ用のメモリに主に依存します。インメモリデータストアは、ディスクにアクセスする必要性を除くことによって、最小限の応答時間で済むように設計されました。すべてのデータはメインメモリにのみ保存および管理されているので、インメモリデータベースは処理やサーバー障害によってデータが失われてしまうリスクがあります。インメモリデータベースは、すべてのオペレーションをログに保存したりスナップショットを取得したりすることで、データを存続することができます。
インメモリデータベースは、ゲームリーダーボード、セッションストア、リアルタイム分析などの、マイクロ秒の応答時間を必要としたり、トラフィックが急増する可能性があるアプリケーションに最適です。
ユースケース
リアルタイム入札
リアルタイム入札では、オンライン広告の印象を売買します。入札は通常、ユーザーがウェブページを読み込んでいる間、100~120 ミリ秒、時には 50 ミリ秒もの速さで行われます。この時間の中で、リアルタイム入札アプリケーションは、すべての購入者の広告スポットへの入札を要求、複数の条件に基づく落札価格の選択、入札の表示、および後の広告のディスプレイ情報を収集します。 インメモリデータベースは、ミリ秒未満のレイテンシーでリアルタイムデータの取り込み、プロセス、分析をする、最適な選択です。
ゲームのリーダーボード
ゲームの相対リーダーボードでは、同じようなレベルの他のプレイヤーに相対したゲーマーのポジションが表示されます。ゲームの相対リーダーボードは、トッププレーヤーのみと比較しゲーマーのやる気を失わせることなく、他のプレイヤーとのつながりを生み出すサポートをします。数百万のプレイヤーがいるゲームでは、インメモリデータベースが結果を素早くソートし、リーダーボードをリアルタイムで更新できるのです。
キャッシュ
キャッシュは、データのサブセットが保存される高速のデータストレージレイヤーで、通常は一時的な性質のものです。これにより、それ以降に同じデータのリクエストが発生した場合、データのプライマリストレージロケーションにアクセスするよりも高速にデータが供給されます。キャッシュにより、以前に取得または計算されたデータを効率的に再利用できるようになります。 キャッシュ内のデータは、一般的に RAM (ランダムアクセスメモリ) などの高速にアクセスできるハードウェアに保存され、ソフトウェアコンポーネントとの相関関係にも使用されます。キャッシュの主な目的は、基盤となる低速なストレージレイヤーにアクセスする必要を減らすことによって、データ取得のパフォーマンスを向上させることです。
AWS でのインメモリデータベース
Amazon MemoryDB for Redis
Amazon MemoryDB for Redis は、Redis と互換性があり、耐久性のあるインメモリデータベースサービスで、超高速なパフォーマンスを実現します。人気のオープンソースデータストアである Redis と互換性があるため、お客様は、現在既に使用しているものと同じ柔軟で使いやすい Redis データ構造、API、およびコマンドを使用してアプリケーションをすばやく構築できます。MemoryDB では、すべてのデータがメモリ内に保存されるため、マイクロ秒の読み取りと 1 桁ミリ秒の書き込みのレイテンシー、そして高いスループットを実現できます。また、MemoryDB は、マルチ AZ トランザクションログを使用して、複数のアベイラビリティーゾーン (AZ) にわたってデータを永続的に保存し、高速なフェイルオーバー、データベースリカバリ、およびノードの再起動を可能にします。
今日、Amazon MemoryDB for Redis の使用開始
Amazon ElastiCache for Redis
Amazon ElastiCache for Redis は、マイクロ秒のレイテンシーを実現する非常に高速なインメモリキャッシングサービスで、インターネット規模のリアルタイムアプリケーションを強化できます。デベロッパーは、ElastiCache for Redis を、キャッシングや高いデータ耐久性を必要としないユースケースのためのインメモリ非リレーショナルデータベースとして使用することができます。ElastiCache for Redis のクラスタ設定サポートは、最大 15 シャードまでサポートし、単一クラスタのインメモリキャパシティ最大 6.1 TB で Redis のワークロードを実行することができます。Redis 用 ElastiCache では、実行中のクラスターにシャードの追加や削除を実行する機能が提供されています。Redis クラスターを動的にスケールアウトおよびスケールインして、需要の変化に適応できます。
今日、Amazon ElastiCache for Redis を使用開始しましょう。
Memcached 用 Amazon ElastiCache
Amazon ElastiCache for Memcached は、Memcached と互換性のあるインメモリ key-value ストアサービスで、キャッシュやデータストアとして使用できます。パフォーマンス、使いやすさ、および Memcached の簡素を実現します。スケーラブルで安全性に優れたフルマネージド型の Memcached 用 ElastiCache は、頻繁にアクセスされるデータをメモリ内に置く必要があるユースケースに理想的なサービスです。ウェブ、モバイルアプリケーション、ゲーム、アドテック、e コマースなどのユースケースには一般的な選択肢です。
Amazon ElastiCache for Memcached を今すぐ使用開始しましょう。