Tairインスタンスを作成するときは、パフォーマンス、価格、シナリオ、およびワークロードのニーズに合わせて、最も費用効果が高く安定したインスタンスタイプを選択する必要があります。 このトピックでは、インスタンスの選択に役立つTairのインスタンスタイプ、エンジンバージョン、アーキテクチャ、およびストレージメディアについて説明します。
選択手順
ほとんどの場合、パフォーマンス、価格、シナリオ、およびワークロードのニーズに基づいて、インスタンスタイプと仕様を選択できます。 たとえば、インスタンスを高速キャッシュまたはインメモリデータベースとして使用することができます。 次の表に、推奨される選択手順を示します。
インスタンスを選択すると、価格計算機を使用して、さまざまなインスタンス仕様の価格を取得できます。 詳細については、次をご参照ください:
価格計算機API 操作 | 説明 |
Tair (Redis OSS-compatible) は、Redis Open-Source EditionとTair (Enterprise Edition) を提供します。 Tair (Enterprise Edition) は、Alibaba Cloud Tairに基づいて開発され、より高いパフォーマンス、より多くのデータ構造、およびより柔軟なストレージ方法を提供します。 | |
cloud-native展開モードを選択することを推奨します。 | |
Tair (Redis OSS-compatible) は、標準アーキテクチャ、クラスターアーキテクチャ、または読み書き分離アーキテクチャを使用するインスタンスを提供します。 ビジネスデータ量、および読み書き機能とビジネスパフォーマンスの要件に適したアーキテクチャを選択できます。 | |
デバイスの障害やデータセンターの電源障害など、予期しない理由でインスタンスが故障することがあります。 この場合、ディザスタリカバリは、データの一貫性とサービスの可用性を確保するのに役立ちます。 Tair (Redis OSS-compatible) は、さまざまなビジネスシナリオの要件を満たすさまざまなディザスタリカバリソリューションを提供します。 | |
より多くの機能にバンドルされている最新のメジャーバージョンを使用することをお勧めします。 | |
必要なメモリのサイズを見積もることを推奨します。 これにより、コストを削減し、頻繁な仕様変更によるビジネスの影響を防ぎます。 | |
上記の操作を実行した後、コンソールを使用するか、API操作を呼び出してTairインスタンスを作成できます。 | |
Tairインスタンスを作成して使用を開始したら、ビジネスが期待どおりに実行されているときにインスタンスのパフォーマンスを監視します。 これにより、インスタンスが期待を満たしているかどうかを確認できます。 |
RedisオープンソースエディションまたはTair (Enterprise Edition) の選択
Tair (Redis OSS-compatible) は、Redis Open-Source EditionとTair (Enterprise Edition) を提供します。 Tair (Enterprise Edition) は、Alibaba Cloud Tairに基づいて開発されたエンタープライズレベルのインメモリデータベースサービスです。 Tair (Enterprise Edition) は、ダイナミックランダムアクセスメモリ (DRAM) 、不揮発性メモリ (NVM) 、エンタープライズSSD (ESSD) などのストレージメディアに基づくさまざまな一連のインスタンスを提供し、低レイテンシーのアクセス、永続性、全体的なコスト削減の要件を満たします。 Tair (Enterprise Edition) は、さまざまなシナリオでのビジネス要件を満たすために、より高いパフォーマンス、より多くのデータ構造、およびより柔軟なストレージ方法を提供します。
Tair (Enterprise Edition) は、Redis Open-Source Editionのすべての機能をサポートしています。 さらに、Tair (Enterprise Edition) は、データフラッシュバックを使用したポイントインタイムデータの復元、プロキシクエリキャッシュ、グローバル分散キャッシュなどの高度な機能を提供します。 Redis Open-Source EditionとTair (Enterprise Edition) の比較の詳細については、「Tair (Enterprise Edition) とRedis Open-Source Editionの比較」をご参照ください。
各シリーズタイプでサポートされているコマンドとパラメーターの詳細については、「概要」および「インスタンスパラメーターの設定」をご参照ください。
エディション | シリーズタイプ | 機能 | シナリオ |
Tair (エンタープライズ版) |
| パフォーマンス中心のビジネスシナリオ | |
| 高いパフォーマンスと高いデータ永続性を必要とし、高コストに耐えることができるデータキャッシングとストレージのシナリオ | ||
| 大容量と低コストを必要とし、まれなデータアクセスのみを伴い、高いアクセス遅延に耐えることができるデータストレージシナリオ | ||
Redisオープンソース版 | 非該当 | Redis Open-Source Editionインスタンスは、オープンソースのRedisと互換性があり、高いパフォーマンスを提供します。 | 標準のRedis使用状況とデータ移行のシナリオ |
クラウドネイティブモードまたはクラシック展開モードの選択
次の表に、cloud-nativeデプロイモードとclassicデプロイモードの比較を示します。
項目 | クラウドネイティブインスタンス (推奨) | クラシックインスタンス |
アーキテクチャ | 柔軟性と拡張性を高める新世代の管理アーキテクチャを使用します。 このアーキテクチャは、その後の開発の基礎として機能します。 | 従来の管理アーキテクチャを使用します。 クラスターインスタンスには、変更できない定義済みの仕様が付属しています。 |
拡張性 |
|
|
展開アーキテクチャの選択
Tair (Redis OSS-compatible) は、3つのデプロイアーキテクチャをサポートしています。 ビジネスデータ量、および読み書き機能とビジネスパフォーマンスの要件に適したアーキテクチャを選択できます。
次の表に、高可用性 (HA) アーキテクチャを示します。 標準およびクラスターアーキテクチャは、テストおよびキャッシュのみのユースケースに適した、HAのないスタンドアロンインスタンスもサポートします。
インスタンスアーキテクチャ | 説明 | シナリオ |
標準インスタンスは、マスターレプリカアーキテクチャを採用しています。 マスターノードはワークロードに対応し、レプリカノードはHAを確保するためにホットスタンバイモードのままです。 マスターノードに障害が発生した場合、システムは障害が発生してから30秒以内にワークロードをレプリカノードに切り替えます。 これにより、インスタンスのHAが保証されます。 |
| |
|
| |
|
説明 データがリードレプリカに同期されるときにレイテンシが存在します。 したがって、高いデータ一貫性が必要なシナリオでは、読み書き分離インスタンスの代わりにクラスターインスタンスを使用することを推奨します。 |
クラスターインスタンスは、次の接続モードで使用できます。
プロキシモード: プロキシノードは、クライアントからのリクエストをインスタンス内のデータシャードに転送します。 このモードは、負荷分散、読み書き分離、フェールオーバー、プロキシクエリキャッシュ、永続接続などの機能を提供します。 プロキシクエリキャッシュ機能は、DRAMベースのインスタンスでのみサポートされます。 詳細については、「」「プロキシノードの機能」をご参照ください。
直接接続モード: オープンソースのRedisクラスターに接続するのと同様の方法で、プロキシノードをバイパスしてインスタンスのバックエンドデータシャードに直接接続できます。 プロキシモードと比較して、直接接続モードは、要求を処理するためにプロキシノードを使用する必要性を排除する。 これにより、Tairの応答速度をある程度速めることができる。
ディザスタリカバリソリューションの選択
災害復旧ソリューション | 保護レベル | 説明 |
★★★☆☆ | マスターノードとレプリカノードは、同じゾーン内の異なるマシンにデプロイされています。 マスターノードに障害が発生した場合、HAシステムはフェールオーバーを実行して、単一障害点 (SPOF) によるサービスの中断を防ぎます。 | |
★★★★☆ | マスターノードとレプリカノードは、同じリージョンの2つの異なるゾーンにデプロイされます。 電源障害やネットワーク障害などの不可抗力要因によりマスターノードが存在するゾーンが切断された場合、HAシステムはフェールオーバーを実行してインスタンス全体の継続的な可用性を確保します。 | |
★★★★★ | グローバル分散キャッシュのアーキテクチャでは、分散インスタンスは、同期チャネルを使用してリアルタイムでデータを相互に同期する複数の子インスタンスで構成されます。 チャネルマネージャは、子インスタンスのヘルスステータスを監視し、マスター /レプリカの切り替えなど、子インスタンスで発生する例外を処理します。 グローバル分散キャッシュは、ジオディザスタリカバリ、アクティブなジオ冗長性、近隣のアプリケーションアクセス、負荷分散などのシナリオに適しています。 詳細については、「Tairのグローバル分散キャッシュの概要」をご参照ください。 |
メジャーバージョンの選択
ビジネス要件に基づいてメジャーバージョンを選択できます。 各メジャーバージョンは長期的に維持されます。 より多くの機能をサポートするために、新しいメジャーバージョンを使用することを推奨します。 詳細については、「Redisのメジャーバージョンの新機能と互換性の変更」をご参照ください。
メジャーバージョンを選択するときは、次の制限を考慮する必要があります。
インスタンスとその作成方法 | サポートされているインスタンスのエディションとシリーズタイプ | サポートされているエンジンバージョン | サポートされているアーキテクチャ |
クラウドネイティブインスタンス | Redisオープンソース版 | Redis 7.0 Redis 6.0 Redis 5.0 | 標準アーキテクチャ クラスターアーキテクチャ 読み書き分離アーキテクチャ |
Tair (Enterprise Edition) DRAMベースのインスタンス | Redis 7.0 Redis 6.0 Redis 5.0 | 標準アーキテクチャ クラスターアーキテクチャ 読み書き分離アーキテクチャ | |
Tair (Enterprise Edition) 永続メモリ最適化インスタンス | Redis 6.0 | 標準アーキテクチャ クラスターアーキテクチャ 読み書き分離アーキテクチャ | |
Tair (Enterprise Edition) ESSD/SSDベースのインスタンス | Redis 6.0 | 標準アーキテクチャ | |
クラシックインスタンス | Redisオープンソース版 | Redis 5.0 Redis 4.0 | クラスターアーキテクチャ 標準アーキテクチャ 読み書き分離アーキテクチャ |
Tair (Enterprise Edition) DRAMベースのインスタンス | Redis 5.0 | クラスターアーキテクチャ 標準アーキテクチャ 読み書き分離アーキテクチャ |
メモリサイズの見積もり
インスタンスを作成するには、次の要因に基づいて必要なメモリのサイズを見積もり、最適なメモリ仕様を選択する必要があります。 これにより、コストを削減し、頻繁な仕様変更によるビジネスの影響を防ぎ、より迅速なペースでビジネスをクラウドに移行できます。
Tair (Redis OSS-compatible) インスタンスのメモリサイズを決定する際には、まず保存するデータ量を考慮する必要があります。 さらに、プロセスメタデータ、レプリケーションバッファ、フラグメントによって占有されるメモリなど、インスタンス自体の操作に必要なメモリを考慮する必要があります。
自己管理型Redisデータベースの場合、フォークの書き込み時レプリケーションと、ホワイトリスト設定、監査ログ、大規模なキー管理、ホットキー管理などの高度な機能によって引き起こされるメモリオーバーヘッドを考慮する必要があります。 Tair (Redis OSS-compatible) インスタンスを使用する場合、前述のメモリオーバーヘッドはAlibaba Cloudが負担し、購入したインスタンスのメモリサイズには含まれません。
キーのデータ型、長さ、および数量。
説明ハッシュ型のキーなどのキーに要素が含まれている場合は、これらの要素の量と長さを考慮する必要があります。
値の長さ。
各キーの有効期限と削除ポリシー。
アクセスモデル。 たとえば、アクセスモデルに多数のクライアント接続、Luaスクリプト、またはトランザクションが含まれる場合は、それらのメモリを予約する必要があります。
中長期的なビジネスの成長。
Tairインスタンスの作成
インスタンスタイプと仕様を決定したら、コンソールを使用するか、API操作を呼び出してTairインスタンスを作成できます。 詳細については、以下のトピックをご参照ください。
コンソール: インスタンスの作成
API操作: CreateInstance
インスタンス機能の確認と調整
Tair (Redis OSS-compatible) は、さまざまなメトリックをサポートしています。 Tairインスタンスを作成して使用を開始した後、ビジネスが期待どおりに実行されているときにインスタンスのパフォーマンスを監視することを推奨します。 これにより、インスタンスタイプと仕様が適切かどうかを確認できます。 詳細については、「パフォーマンスモニタリングデータの表示」をご参照ください。
redis-benchmarkツールを使用して、パフォーマンスストレステストを実行することもできます。 詳細については、「Redis-benchmark instructions」をご参照ください。
たとえば、インスタンスのパフォーマンスモニタリングデータが高いメモリ使用量を示す場合、異常が存在するかどうかを確認します。 異常が存在しない場合は、インスタンス仕様をアップグレードします。 詳細については、「インスタンスの設定の変更」をご参照ください。 インスタンスのパフォーマンスの問題をトラブルシューティングする方法の詳細については、以下のトピックを参照してください。