クラスタモードを有効または無効にする

このページでは、Memorystore for Valkey で使用できる 2 つのモード(クラスタモード有効とクラスタモード無効)について説明します。

  • クラスタモードが有効: クラスタモードが有効の場合、OSS Valkey のクラスタ仕様がサポートされます。これにより、データを複数のシャードに分割できます。これは、データ量やデータ速度が大きいアプリケーションに役立ちます。

  • クラスタモードが無効: クラスタモードが無効になっている場合、インスタンスはパーティショニングされず、単一のシャードでホストされます。このモードは、データ量と書き込みスループットを単一ノードで処理でき、クラスタ モード有効では使用できない特定の機能を使用する場合に使用できます。

インスタンスの作成時に選択できるのは、クラスタモードの有効と無効のみです。INFO コマンドの出力の server_mode フィールドは、インスタンスのモードを指定します。クラスタモードが有効または無効のいずれかでインスタンスを作成した後、インスタンスを別のモードに変更することはできません。このモードは水平スケーリングの特性が優れているため、[クラスタモードを有効にする] を選択することをおすすめします。

クラスタモードが有効な場合と無効な場合を比較する

機能 クラスタモードが有効 クラスタモードが無効
水平方向のスケーリング 1 ~ 250 シャード サポートされていません(単一シャードのみ)。
クライアントのサポート ディスカバリ エンドポイントを使用するにはクラスタ対応のクライアントが必要 Valkey または Redis クライアントを使用する
マルチキー コマンド 単一のキースロットでのみサポート データベース内のすべてのキーでサポートされている
最大書き込み可能容量 14,500 GB 58 GB
インスタンスあたりの最大データベース数 1 16(最大 100 個のデータベースを構成可能)

どちらを選択すればよいですか?

クラスタモードを有効にするか無効にするかを選択する際は、次の要素を考慮してください。

  • 読み取りと書き込みのスループット: 書き込みスループットが単一ノードで満たされ、読み取りスループットが最大 2 つのレプリカで満たされる場合は、クラスタモードが無効になっているインスタンスを使用します。読み取りと書き込みのスループット要件が高い場合は、クラスタモードが有効になっているインスタンスを使用します。このタイプのインスタンスは、異なるノードに負荷を分散できるためです。
  • Memorystore for Redis から移行する: Memorystore for Redis インスタンスまたはセルフマネージド Redis インスタンスを使用している場合、クラスタモードが無効になっているインスタンスへの移行は、クラスタモードが有効になっているインスタンスへの移行と比較して、変更を最小限に抑えることができます。クラスタモードが有効になっているインスタンスに移行するには、クラスタ対応クライアントを使用する必要があります。

  • マルチキー クエリ: クラスタモードが無効になっているインスタンスは、データベース内のキー間でマルチキー オペレーション(MGET、MSET、EVAL など)をサポートします。クラスタモードが有効になっているインスタンスの場合、マルチキー オペレーションは単一のハッシュスロットに制限されます。

  • 名前空間: クラスタモードが無効になっている場合、SELECT コマンドを使用して、複数のデータベースでさまざまな種類のデータをバケット化できます。この機能は、同じインスタンスを使用して複数のアプリケーションを強化する場合や、異なる種類の関連性のないデータを書き込む必要がある場合に便利です。クラスタモードが有効になっている場合、複数のデータベースはサポートされていません。ベスト プラクティスとして、複数のデータベースではなく複数の Valkey インスタンスを使用して、サービス品質(QoS)を確保することをおすすめします。同じノード上の複数のデータベースは、論理分離のみを提供します。