Redis
 Computer >> コンピューター >  >> プログラミング >> Redis

Redis Enterprise Cloudが成熟するエンタープライズのニーズに応える理由 ― AWS ElastiCacheからの移行を検討すべき5つのポイント

エンタープライズ企業は、俊敏性の向上、運用の簡素化、柔軟なスケーリングといったメリットを求めて、クラウドへの移行とDatabase-as-a-Service(DBaaS)の採用を加速させています。Stack Overflowの2020年開発者調査では、Redisは4年連続で「開発者に最も愛されたデータベース」に選ばれました。現在、主要なクラウドプロバイダーはいずれもオープンソース版Redisをベースとしたマネージドデータベースサービスを提供しています。では、なぜエンタープライズ顧客はオープンソースRedisからRedis Enterprise Cloudへの移行を検討するのでしょうか。本記事では、ビジネスクリティカルなアプリケーションを支える最高のRedis体験を実現するために、開発者やアーキテクトが考慮すべき5つの重要な判断要素を解説します。

Redis Enterprise Cloudとは

パブリッククラウド上、あるいは自社の仮想プライベートクラウド(VPC)内でホストされる、コスト効率に優れた完全マネージド型のDBaaSをお探しなら、Redis Enterprise Cloudは強力なソリューションとなります。Redisの専門家によって管理されるRedis Enterprise Cloudは、予測可能かつ安定したトップクラスのパフォーマンスを維持しながら、高可用性とスケーラビリティに優れた形でRedisデータセットを稼働させます。デプロイに関する管理作業の大部分は自動化されているため、データベースの管理・運用を気にする必要はありません。その分、顧客へビジネス価値を届けることに集中できます。

Redis Enterprise Cloudは、Redisデータセットを稼働させるための完全マネージドサービスです。データセットは常時レプリケーションされており、障害が発生した場合でも自動フェイルオーバー機構により、中断のないデータ提供が保証されます。さらに「Redis on Flash(RoF)」のような機能により、大幅なコスト削減を実現しながら大規模なRedisデータベースを扱うことができ、エンタープライズ開発者に独自の価値を提供します。

Redis Enterprise Cloudは、Redis Enterpriseソフトウェア製品で数千社の顧客に利用されている実績ある技術を基盤としています。Redis Enterpriseは、AWS、Microsoft Azure、Google Cloud上の完全マネージドDBaaSとして、Amazon EKS、Azure AKS、Google GKE上のマネージドKubernetesサービスとして、ベアメタルや仮想マシン、Red Hat OpenShift Container Platform、Pivotal Kubernetes Service(PKS)上のソフトウェアとして、さらにはハイブリッドモデルでも導入でき、運用の柔軟性を保ちながらベンダーロックインを回避できます。Redis Enterprise Cloudなら、主要なパブリッククラウドに迅速にデプロイし、オープンソースRedisクライアントと完全互換のRedisデータベースを作成できます。

Redis Enterprise Cloud vs. Amazon ElastiCache

もちろん、Redis Enterprise CloudだけがDBaaSの選択肢ではありません。主要なDBaaSプラットフォームを調べると、例えばAWSには多数のデータベースサービスが存在し、それらは完全または部分的にマネージド型であり、他のAWSサービスや外部リソースと接続できます。これらのデータベースの中には広く普及しているものもあり、キャッシュ、セッション管理、ゲームのランキングボード、地理空間アプリケーションなどに活用されています。

Amazon ElastiCacheはその最もよく知られた例でしょう。ElastiCacheはAWSが提供する人気のサードパーティ製Redis-as-a-Serviceであり、MemcachedまたはRedisプロトコル準拠のサーバーノードをクラウド上にデプロイ・実行できます。オープンソースRedisをベースとしたマネージドキャッシングサービスです。

それを踏まえて、Amazon ElastiCacheからRedis Enterprise Cloudへ移行すべき主な理由を見ていきましょう。

1. マルチテナントアーキテクチャを標準搭載

Redis Enterprise Cloudが成熟するエンタープライズのニーズに応える理由 ― AWS ElastiCacheからの移行を検討すべき5つのポイント

マルチテナント型のDBaaSは「マンション」、シングルテナント型のDBaaSは「一戸建て」に例えられます。マンションに住めば、建物内に自分専用のスペースがあるものの、壁は他の入居者と共有することになります。この仕組みは大幅なコスト削減につながり、契約から入居までの期間も短く、手間も少なくなります。

Redis Enterprise CloudはRedis Enterpriseのマルチテナントサービスであり、ソフトウェアレベルのマルチテナancyを採用しています。1つのサブスクリプションで数百のテナントを処理でき、各テナントは他のRedisデータベースから完全に分離された固有のRedisデータベースエンドポイントを持ちます。1つのプランで複数の専用データベースをホストでき、それぞれが専用プロセスでノンブロッキングに動作します。データセンターやプライベートクラウド、仮想プライベートクラウドにRedis Enterpriseをデプロイすれば、マルチテナントアーキテクチャによる規模の経済性の恩恵を直接受けられます。わずか数ノードの単一Redis Enterpriseクラスタで開発・テストを支援し、そのまま本番環境へ移行することも可能です。

Redis Enterprise Cloudが成熟するエンタープライズのニーズに応える理由 ― AWS ElastiCacheからの移行を検討すべき5つのポイント

一方、Amazon ElastiCacheは純粋なシングルテナントシステムです。オープンソースRedisを使用し、コンテナや仮想アプライアンスとしてRedisをデプロイし、基盤の管理ソリューションに新しいRedisインスタンスを生成させる方式を採っています。マルチテナンシーはサーバー/インフラストラクチャ層で実現されており、これらのソリューションはRedisインスタンスごとに課金されます。スケールと範囲の経済性の効果は、ユーザーではなくサービスプロバイダー側に大きく作用します。

2. 真のマルチデータモデルデータベースで市場投入までの時間を短縮

Redis Enterprise Cloudが成熟するエンタープライズのニーズに応える理由 ― AWS ElastiCacheからの移行を検討すべき5つのポイント

オンプレミスでのDBMS構築と比較して、DBaaSは組織に財務・運用・戦略の面で大きなメリットをもたらします。特に重要なのが拡張性です。企業は顧客の高い期待に応えるため、アプリケーションを高速かつ堅牢に提供しなければなりません。サブミリ秒のレスポンスタイムの実現、あらゆる規模の企業の要求への確実な対応、毎秒数百万リクエストへのシームレスなスケーリングは、現代のアプリケーション開発において不可欠です。同時に、技術ソリューションはクラウドネイティブアーキテクチャに対応しながら、ミッションクリティカルなアプリケーションのアップタイムと信頼性のSLAを満たす必要があります。

RedisモジュールはRedisの機能を拡張するアドオンで、幅広い人気のユースケースに対応します。モジュールはRedisにシームレスに組み込まれ、インメモリで処理され、Redisのシンプルさ、超高速パフォーマンス、スケーラビリティ、高可用性を活用します。モジュールは誰でも作成できますが、Redis Enterprise CloudはRedis公式開発モジュールのRediSearch、RedisBloom、RedisTimeSeriesをサポートしており、これらが提供する新しいデータ構造により、データ分析や機械学習などのユースケースがさらに実現しやすくなります。

モジュールを活用することで、Redis Enterprise Cloudはユースケースごとに専門データベースを運用・保守する必要性を排除します。Redis Enterpriseは10種類のデータ構造と複数の目的特化型モジュールを統合し、あらゆるユースケースで最高水準のパフォーマンスを発揮します。さらに、サーバーレスのインデータベースエンジンであるRedisGearsは、RedisコアとRedisモジュール双方にまたがるトランザクションやトリガーベースのイベントを、サブミリ秒のレイテンシで処理します。

一方、Amazon ElastiCacheはRediSearch、RedisGraph、RedisTimeSeries、RedisBloom、RedisJSONといったRedis Enterpriseモジュールをサポートしていません。これらの強力で多用途なモジュールはRedis Enterpriseだけで利用可能です。

3. 実証済みCRDT技術に基づくActive-Active地理分散配置をサポート

Redis Enterprise Cloudが成熟するエンタープライズのニーズに応える理由 ― AWS ElastiCacheからの移行を検討すべき5つのポイント

現代のアプリケーションは、ユーザーの所在地にかかわらず即座に応答しなければなりません。企業には、クラウドリージョン間、さらには異なるクラウドプロバイダー間でデータベースを効率的にレプリケーションできるDBaaSが必要です。また、高性能なグローバル分散アプリケーションの構築・デプロイは容易ではありません。Redis EnterpriseのCRDT(Conflict-free Replicated Data Type)ベースのActive-Active技術は、地理レプリケーションされたリージョンの数や相互の距離にかかわらず、読み書き両方の操作でローカル並みの低レイテンシを実現し、競合解決も組み込みで備えています。レプリカの過半数がダウンしても事業継続性が確保されます。

Redis Enterprise Cloudは、Active-Active地理分散配置をサポートする唯一のDBaaSです。ユーザーの所在地がどこであっても、Redisデータベースクラスタのインスタンスをユーザーの近くに配置できます。コンセンサスフリーのプロトコルを利用して整合性を維持しながら、読み書き両方の操作に対してローカルレイテンシを保証します。強力な結果整合性(strong eventual consistency)により、収束する一貫したデータビューを手間なく提供します。

対照的に、ElastiCacheがサポートするのはアクティブ・パッシブ方式のマルチリージョンレプリケーションのみです。Active-Activeのマルチリージョンレプリケーションも、Active-Activeのマルチクラウドレプリケーションもサポートしていません。

4. Redis on Flash(RoF)をサポート

Redis Enterprise Cloudが成熟するエンタープライズのニーズに応える理由 ― AWS ElastiCacheからの移行を検討すべき5つのポイント

今日のアプリケーションは、テラバイト、ときにはペタバイト級の構造化・非構造化データを処理し、ビジネススピードで応答を返す必要があります。重要なビジネス意思決定が自動化されるにつれ、データからのインサイトは従来のバッチツールが数日〜数週間かかるところを、数分〜数時間で抽出しなければなりません。ここにはパフォーマンスとコストの課題が伴います。毎秒数十億のデータポイントを処理しながら、インメモリデータベースならではの高スループットと低レイテンシが必要です。Redis on Flash(RoF)技術は、高速だが比較的高価なDRAMと、やや低速だが費用対効果の高いFlashメモリを組み合わせてRedisを動作させることで、この課題を解決します。

Redis on Flashにより、Redis Enterprise Cloudのユーザーは大幅なコスト削減を実現しながら、非常に大規模なRedisデータベースを扱うという独自の能力を得られます。標準的なRedisデータベースはすべてDRAM上に置く必要がありますが、Redis on FlashではRedisデータベースをDRAMと専用Flashメモリ(SSD)の両方にまたがって配置できます。キーは常にDRAMに保存され、RoFはLRU(Least Recently Used)ベースのメカニズムによって値の保存先(DRAMかFlashか)をインテリジェントに管理します。ホットな値はDRAMに保持され、使用頻度の低いウォームな値はFlashメモリへ退避されます。これにより、DRAMに近いレイテンシとパフォーマンスを保ちながら、はるかに大きなデータセットを劇的に低いコストで扱えます。

Redis on FlashはRedis EnterpriseおよびRedis Enterprise Cloudでのみ利用可能です。ElastiCacheでは提供されておらず、サポートもされていません。

5. ハイブリッド・マルチクラウド展開でベンダーロックインを低減

Redis Enterprise Cloudが成熟するエンタープライズのニーズに応える理由 ― AWS ElastiCacheからの移行を検討すべき5つのポイント

エンタープライズは選択の自由を求めます。真に有用なデータプラットフォームは、任意のクラウドプラットフォーム上で動作し、クラウド間およびオンプレミスデータセンターとのレプリケートされたデータと連携できなければなりません。マルチクラウド環境は、さまざまな理由から今後ますます一般的になると予想されています。特定のワークロードをより高速かつ費用対効果高く実行するために、複数の専門特化型クラウドを使い分ける企業もあるでしょうし、ツールの進化により異種環境の管理が容易になることも後押しします。バックアップ手段として、あるいはベンダーロックインへの懸念を緩和するために、複数のクラウドベンダーと取引する企業もあります。また、異なる技術スタックを持つ企業の合併・買収を通じて、複数のクラウドを引き継ぐことになるケースもあるでしょう。

Redis Enterpriseはすべてのクラウドで動作し、運用の柔軟性を守ります。どのクラウドを利用していても、マネージドサービスとして、あるいは自社のクラウドインフラストラクチャ上で動作させるソフトウェアとして提供できます。マネージドサービスとしてRedis Enterpriseを稼働させることは、最速でデプロイし、即座に価値を得られる方法です。Redis Enterpriseは、AWS Marketplace、Microsoft Azure Marketplace、Google Cloud Marketplaceを含む多くのクラウドベンダーのマーケットプレイスから入手できます。

Redis Enterprise Cloudへの移行を

ますます多くの企業がソフトウェア中心のビジネスへと転換する中、今日のオンライン顧客が求める革新的なリアルタイム体験を提供するために、クラウドネイティブ戦略を採用しています。クラウドネイティブの取り組みから最大限の利益を得るには、最新技術へのアクセス、コスト管理、そしてベンダーロックインの回避を可能にするハイブリッドクラウドとマルチクラウドのアプローチを含めるべきだと、企業は認識しつつあります。

Redis Enterprise Cloudは、現代のクラウドネイティブなデータレイヤーを支えるのに理想的です。高可用性、堅牢な耐障害性、線形スケーラビリティによる最高水準のパフォーマンス、そして目的特化型モジュールにより、今日のグローバル分散アプリケーションを下支えします。

Redis Enterprise Cloudの導入を始める準備はできていますか?今すぐ旅を始めましょう。

Redis Enterprise Cloudが成熟するエンタープライズのニーズに応える理由 ― AWS ElastiCacheからの移行を検討すべき5つのポイント
  1. Redis HDELコマンド徹底解説 – ハッシュからフィールドを削除する方法

    このチュートリアルでは、Redisに保存されたハッシュ値から1つ以上のフィールドを削除する方法を解説します。削除にはredis-cliでHDELコマンドを使用します。 HDELコマンドは、キーに格納されているハッシュ値から指定したフィールドを1つ以上削除します。ハッシュ内に存在しないフィールドが指定された場合、そのフィールドは単純に無視されます。 キーが存在しない場合は空のハッシュとして扱われ、戻り値として0が返されます。一方、キーは存在するものの、その値がハッシュ型ではない場合はエラーが返されます。 構文 redis host:port> HDEL <keyname> &l

  2. Redis ZINCRBYコマンドの使い方 – Redisでソート済みセットの要素スコアをインクリメントする方法

    このチュートリアルでは、Redisデータストアに保存されたソート済みセット(Sorted Set)型の値について、特定の要素のスコアをインクリメントする方法を学びます。この操作には、redis-cliでZINCRBYコマンドを使用します。 ZINCRBYコマンドは、キーに保存されているソート済みセットの値の中から指定した要素を探し、そのスコアを指定した値(increment)だけ増加させるために使用します。もし指定した要素がソート済みセット内に存在しない場合は、その要素が新しく追加され、指定したincrement値がスコアとして設定されます。また、キー自体が存在しない場合には、指定した要素のみ