メモリキャッシュならApsaraDB for Redisがある

ApsaraDB for Redisとは?

Redisは高速なインメモリ型のキーバリューストアです。Redisには、多目的なデータ構造を用意されているため、様々なアプリケーションパターンを簡単に実装することができます。HyperLogLogをはじめ、多種なデータ構造をキャッシュやクラスタなどのような最先端のユースケースを対応するため、Redisはウェブアプリケーションから、モバイル、ゲーム、IoTアプリケーションでよく採用され、現在では、もっとも人気があるキーバリューデータベースとなっています。Alibaba クラウドでも、ApsaraDB for Redisという完全なマネージド型の最適化されたRedisデータベースを提供しています。

なぜApsaraDB for Redisを使うべき?

ApsaraDB for RedisはオープンソースRedisの豊富な機能に加え、更にマネージドな機能を提供し、サービス運用をシンプルにします。ApasaraDB for Redisを使用することで、以下の3つの機能をデフォルトで使用できます。

  • 高可用・クラスター構成
  • モニタリング情報
  • バックアップ・リストア

高可用・クラスター構成

オンプレミスのサーバ上でRedisを運用すれば、冗長化や負荷分散を必ず考慮して設計する必要があります。ハードウェア故障がいつでも起きる可能性があることを考慮し、冗長構成を構築し、冗長のサーバー間にデータのレプリケーションを設定しなければなりません。そして、もしアプリケーションが高頻度でキャッシュへのアクセスやオンメモリの計算が行う場合、クラスター構成を構築しなければなりません。Redisの知識をある程度に持たなければ、冗長化やクラスターを構築することは極めて難しいです。

ApsaraDB for Redisは、お客様がアプリケーションの開発に集中できるように、上記のような冗長化及び負荷分散の課題を解決することができます。ApsaraDB for Redisを購入する時に、高可用な構成かクラスター構成を選択することができます。高可用なインスタンスを選択すれば、Alibabaクラウド基盤側で自動的にバックアップ用のインスタンスを作成し、いつでも切り替えできるようにデータレプリケーションをしたりしてくれます。メモリ上の計算を頻繁に行う場合であれば、クラスター構成を選択すれば良いです。

Redis購入画面。Redisインスタンスを購入すれば、自動的にHAまたはクラスターを構築します
HA構成のRedis

 

クラスター構成のRedis

購入済みのRedisインスタンスへアクセスするのは、固定なIPアドレスではなく内部が管理したFQDNにより行えます。これにより実際にハードウェア故障が起きた場合にも、アプリケーション層ではほとんど影響がなくフェイルオーバーできます。

Redisへのアクセスは専用のFQDNにより行うため、障害が起きたときには円滑にフェイルオーバーできます

モニタリング情報

キャッシュのユースケースの中で、データベースへの重いクエリ結果を後で高速に返すように一時的に保存するケースがあります。ウェブアプリケーションにはこのパターンはよく見られます。重いクエリのキャッシュのため、キャッシュのアクセスへ詰まると、データベースの負荷が増加します。データベース負荷があまりにも高すぎるとなると、システム全体へのアクセスが詰り、場合には障害を引き起こすため、常にキャッシュへのアクセスを監視することが重要です。

ApsaraDB for RedisはRedisの特化した監視機能があります。現在にメモリ上のキー数、有効期限を切れたキー数などのようなキーバリューストアの監視をはじめ、アクセス流量やアクセス頻度のようなネットワークまでの様々な監視をデフォルトにしてくれます。Redisの重要な指標を詳細まで監視できるだけではなく、指標に対し閾値を設定し Cloud Monitor によってアラームメールの送信することもできます。

Redisの特化した指標を監視対象とします。

バックアップ・リストア

Redisは高速な集計をするためにもよく使われています。こういう場合には、キャッシュと違い、データの長期間の保存・バックアップ・リストアが必要となります。ApsaraDB for Redisはバックアップ・リストア機能を自動的にシンプルに対応しています。データのバックアップは設定した時間の通りに行います。ディスクに保存されてデータのバックアップのために、ほとんど遅延なく行うことができます。データの復旧もシンプルに行なえます。バックアップデータのスナップショット一覧からボタンを押すだけで、データ復旧ができるととても便利です。

データのバックアップは定めた時間に自動的に行います。復旧もボタン押すだけでできます

ApsaraDB for Redisの料金はとても安い!

ApsaraDB for Redisの料金は「Redisの料金テーブル」で確認できます。単純に料金表を確認しメモリ1GB当たりで比較すると、他社に比べて「安くはない!」と思うかもしれません。しかし、ここには2つのポイントがあります。

まずは、確かにApsaraDB for Redisの1G当たりの料金は他クラウドプロバイダと比較したら競争力はなさそうに見えますが、実はよく見れば、他ベンダーのRedis料金はインスタンス単体のもの、つまり冗長化前の料金なわけです。Alibabaクラウドの高可用な構成と同じ構成を実現するためには、インスタンスの倍数 (少なくとも2倍) を購入する必要があります。そうすると、1G当たりの料金は実は少なくとも2倍かかります。言い換えれば、Alibaba クラウドの ApsaraDB for Redisが他ベンダーより半分の料金というすごく競争力が強い料金となっています。

次は、Redisサーバーを運用したことがある方なら必ずご存知可と思いますが、Redis 内部の処理はイベント駆動により実装されています。この処理モデルでは、起きたイベントに応じて処理が起こるため、ほとんどの処理は1つのCPUコアにより実行されます。そのため、例えコンピューターが複数なCPUコア数を持っていても、ほとんどのCPUコアが稼働しないとなります。ApsaraDB for Redisは他ベンダーと違い、CPUコアを最適化するためCPUコア数を料金に入れていません。

上記の2点のため、ApsaraDB for Redis の料金は実はすごく高い競争力を持っていると言えます。

結論

ApsaraDB for Redis は 有名であるRedisに加え、更に「高可用・クラスター構成」、「モニタリング情報」、「バックアップ・リストア」という機能を提供しています。低コストで完全にマネージドRedisサービスを使用することにより、サービスの運用に手間をかかずに、アプリケーション層の問題を解決に集中できます。計算結果のキャッシュやオンメモリ計算が必要な場合、RedisをECSの上に構築せずに、ApsaraDB for Redisを使った方がきっとメリットが多いと思います。

この記事をシェアする