Tair (Redis OSS-compatible) は、標準アーキテクチャとクラスタアーキテクチャの 2 種類のインスタンスアーキテクチャを提供しており、それぞれに読み書き分離モードをオプションで有効化できます。データ量、スループット要件、読み書き比率に応じて適切なアーキテクチャを選択してください。
基本概念
Tair インスタンスは以下のコンポーネントで構成されます。
| コンポーネント | 説明 |
|---|---|
| ノード | Tair デプロイメントの最小単位です。各ノードは Redis 互換のプロセスを実行します。 |
| シャード | データの一部を格納するノードのグループです。クラスターインスタンスでは、データが複数のシャードにパーティション分割されます。 |
| Master ノード | シャードまたは標準インスタンス内で書き込み操作を処理するノードです。 |
| レプリカノード | Master ノードのコピーであり、フェールオーバー機能を提供します。Master ノードが障害した場合、ワークロードはレプリカノードに切り替わります。 |
| 読み取り専用ノード | 読み取りトラフィックのみを処理する追加ノードです。読み書き分離が有効な場合に利用できます。 |
| プロキシノード | 読み取りおよび書き込みリクエストを適切なノードにルーティングするレイヤーです。クラスタプロキシモードおよび読み書き分離構成で使用されます。 |
アーキテクチャの選択
以下の表は、標準アーキテクチャとクラスタアーキテクチャの違いをまとめたものです。
| ディメンション | 標準アーキテクチャ | クラスタアーキテクチャ |
|---|---|---|
| 内部構造 | 1 つの Master ノードと 1 つ以上のレプリカノード | 複数のシャードで構成され、各シャードに独自の Master ノードと 1 つ以上のレプリカノードが存在 |
| データパーティション | なし。すべてのデータは単一のシャード上に格納されます。 | あり。データは複数のシャードに分散されます。 |
| 最適な利用シーン | データ量が少なく、クエリレートが安定しているワークロード | 大規模なデータ量、高 QPS、またはスループット集約型のワークロード |
| 読み書き分離 | サポートされています。読み取り専用ノードとプロキシノードを追加できます。 | サポートされています。各シャードに読み取り専用ノードを追加できます。 |
いずれのアーキテクチャでも、読み書き分離を動的に有効化できます。
標準アーキテクチャ
標準インスタンスは Master-レプリカアーキテクチャを採用しています。Master ノードがすべての読み取りおよび書き込み操作を処理し、レプリカノードはデータのリアルタイムコピーを維持します。Master ノードが障害した場合、ワークロードはレプリカノードに切り替わり、高可用性を維持します。
標準アーキテクチャの適用範囲:
データが単一インスタンスに収まる場合。
クエリレートが安定しており、単一ノードの処理能力を超えない場合。
高可用性を備えた永続ストレージが必要です。
読み書き分離を有効にした標準アーキテクチャ
読み取りトラフィックが Master ノードの処理能力を超える場合は、読み書き分離を有効にして読み取り性能をスケールアップできます。この構成では、基本的な Master-レプリカペアに複数のプロキシノードと読み取り専用ノードが追加されます。
プロキシノードは、書き込みリクエストを Master ノードにルーティングし、読み取りリクエストを Master ノードおよび読み取り専用ノードに分散します。
読み取り専用ノードは読み取りトラフィックを処理し、Master ノードの負荷を軽減します。
この構成の適用範囲:
読み取り中心のワークロードで高 QPS が必要な場合。
インスタンス上で永続ストレージを利用する場合。
クラスタアーキテクチャ
クラスターインスタンスでは、データが複数のシャードにパーティション分割されます。各シャードは複数ノードによる Master-レプリカアーキテクチャを採用しており、水平方向へのスケーラビリティと高可用性の両方を実現します。
クラスタアーキテクチャの適用範囲:
単一ノードの容量を超える大規模なデータ量を扱う場合。
高 QPS が求められる場合。
シャード間での並列処理によって恩恵を受けるスループット集約型のワークロードの場合。
読み書き分離を有効にしたクラスタアーキテクチャ
個々のシャード内の Master ノードの性能限界を超える読み取りトラフィックが発生するクラスターインスタンスでは、読み書き分離を有効化できます。各シャードは標準的な Master-レプリカ構成から読み書き分離アーキテクチャに切り替わり、読み取りトラフィックを処理する専用の読み取り専用ノードが追加されます。
この構成の適用範囲:
個々のシャード内の Master ノードの性能限界を超える読み取りトラフィックがある場合。
Master ノード単体では対応できないほどの全体的な読み取り性能のスケールアップが必要な場合。
エディション、シリーズタイプ、エンジンバージョン
アーキテクチャは Tair インスタンスを定義する複数のディメンションの 1 つです。その他のディメンションは以下のとおりです。
| ディメンション | 例 |
|---|---|
| エディション | Redis コミュニティ版、Tair(エンタープライズ版) |
| シリーズタイプ | DRAM ベースのインスタンス |
| エンジンバージョン | Redis 5.0、Redis 7.0 |
本ページで説明するアーキテクチャは、すべてのエディション、シリーズタイプ、エンジンバージョンに共通して適用されます。各アーキテクチャの詳細な仕様については、以下のトピックをご参照ください。