TiDB User Day 2024のアーカイブ動画を公開中!詳細を見る
Node Groups in TiDB Cloud

※このブログは2025年2月14日に公開された英語ブログ「Node Groups in TiDB Cloud: The Key to Scaling Workloads with Predictable Performance and Control」の拙訳です。

最新のアプリケーションがスケールするにつれて、さまざまなワークロードで一貫性があり予測可能なパフォーマンスを確保することがますます困難になっています。オンライントランザクション、リアルタイム分析、バッチジョブは、多くの場合リソースを奪い合い、速度の低下、非効率的なリソース割り当て、予測不可能なデータベースの動作につながります。TiDB Cloudのノードグループを使用すると、単一のTiDB Cloud Dedicatedクラスタ内の特定のワークロードに、専用のTiDBノードコンピューティングリソースを割り当てることができます。

ノードグループを使用することで、ミッションクリティカルなアプリケーションは、同じ環境で実行されているリソース集約型のタスクの影響を受けることなく、パフォーマンスと応答性を維持することができます。インフラストラクチャレベルでワークロードを分割することにより、リソース競合を排除し、効率を向上させ、スケーリングをより正確に制御できるようになります。

このブログでは、ノードグループとは何か、ノードグループが提供する主要な利点、そしてTiDB Cloudでノードグループを使い始めるための最適な方法について詳しく解説します。

ワークロードの分離が重要な理由

従来の共有クラスタデータベース環境では、すべてのワークロードが同じコンピューティングリソース上で実行されます。しかし、分析やバッチ処理などのリソースを大量に消費するクエリが、重要なオンライントランザクション処理を妨害するとボトルネックが発生します。これは以下のような問題を引き起こす可能性があります。

  • オンライントランザクションの遅延:実行時間の長い分析クエリは、時間的制約のあるビジネストランザクションをブロックし、エンドユーザーに遅延を引き起こす可能性があります。
  • 予測不可能なクエリパフォーマンス:ワークロード分離がないと、さまざまな処理に応じてデータベースの動作が変動し、SLAを保証することが難しくなります。
  • 過剰なプロビジョニングと高コスト:企業は、ピーク時の需要に対応するためにリソースを過剰に割り当てることがよくあります。これは、インフラストラクチャのコスト増加と、オフピーク時のコンピューティング能力の浪費につながります。

ノードグループは、単一のクラスタ内に独立した専用のコンピューティング環境を作ることで、これらの問題を解決します。これにより、各ワークロードは互いに影響を与えることなく、必要なリソースを利用できるようになります。

TiDB Cloudのノードグループとは?

ノードグループは、TiDBノードを独立したリソースプールに整理し、異なるワークロードがコンピューティングリソースを奪い合うことなく実行できるようにします。TiDB Cloud Dedicatedクラスタ内では、各ノードグループは専用のTiDBノードで構成されており、ミッションクリティカルなオペレーションと、分析やバッチ処理などの計算負荷の高いタスクを分離することができます。

ノードグループの主な特徴:

  • 専用のコンピューティングプール:あるノードグループ内のワークロードは、別のノードグループ内のワークロードと競合しません。
  • 物理的な分離:各ノードグループは、同じTiDB Cloud Dedicatedクラスタ内で独立して動作します。
  • スケーラビリティ:組織は、ミッションクリティカルなアプリケーションにはより多くのTiDBノードを割り当て、優先度の低いワークロードにはより少ないTiDBノードを割り当て、必要に応じてリソースを調整できます。

TiDB Cloudにおけるノードグループの主な利点

  • 干渉のないスケーラビリティ:ワークロードが増加するにつれて、他の処理に影響を与えることなく、需要に合わせて各ノードグループを個別にスケールできます。
  • 予測可能なクエリパフォーマンス:オンライントランザクション、分析、バッチのワークロードを分離することで、各ユースケースで一貫したパフォーマンスを確保します。
  • 費用対効果の高いリソース割り当て:単一のクラスタを過剰にプロビジョニングするのではなく、ワークロードに基づいてリソースを動的に割り当てます。
  • 運用とメンテナンスの簡素化:別々のクラスタを起動する必要はありません。すべてのワークロードを単一の最適化された環境で管理します。

ノードグループを活用することで、チームはワークロードのパフォーマンス、コスト効率、スケーラビリティをより確実に制御できます。これらすべてが、統合された TiDB Cloud Dedicated クラスタ内で実現します。

TiDB Cloudにおけるノードグループの主な使用例

ノードグループには様々な利用方法が考えられます。ここでは、主なユースケースをいくつかご紹介します。

複数のアプリケーションを一つのクラスタに統合

多くの企業では、様々なシステムで複数のアプリケーションを稼働させているため、インフラが不必要に拡大してしまっています。ノードグループを利用することで、厳密な分離環境を保ちながら、これらのワークロードを一つのクラスタにまとめることができます。

:金融サービス企業が、顧客の取引とリスク分析を同じクラスタ内で、ただし計算負荷のボトルネックを防ぐために別々のノードグループで実行するケース。

計算負荷の高いタスクの分離

バルクインポートやインデックス作成など、一部の操作はCPUとメモリを大量に消費しますが、本番環境のワークロードに影響を与えたくはありません。これらのタスクを専用のノードグループに配置することで、クラスタの残りの部分に影響を与えることなく、CPUとメモリを消費することができます。

:あるデータ分析企業が、TiDBに毎日バルクインポートを実行しています。インポートを別個のノードグループに割り当てることで、進行中のクエリの速度低下を防ぎます。

テスト環境とバッチジョブの最適化

本番環境のアプリケーションと一緒にテスト環境を実行すると、予期せぬ速度低下が発生する可能性があります。ノードグループを使用すると、組織はテストワークロードを専用のコンピューティングプールにグループ化することで、本番環境のパフォーマンスへの影響を抑え、ハードウェア使用率を向上させ、運用コストを削減できます。

:本番データを使用してパフォーマンステストを実施するテクノロジー企業は、特定のノードグループにテストを限定できるようになり、ユーザー向けアプリケーションの動作を遅くすることがなくなりました。

実例:パフォーマンスの安定性を確保するゲーム会社

大手オンラインゲームプラットフォームは、データベース運用の安定性を維持するために、過去10か月間にわたりTiDB Cloudでノードグループを活用してきました。彼らは、TiDB Cloud Dedicatedクラスタ内に2つの独立したノードグループを作成しました。

  1. プライマリノードグループ:リアルタイムのゲーム取引やユーザーとのインタラクションを支えるために、より多くのTiDBノードを割り当て。
  2. セカンダリノードグループ:バッチ処理や分析を担当し、少数のTiDBノードを使用することで、ゲームプレイの運用から分離。

メリット:

  • ミッションクリティカルなワークロードには、ピーク時でも常に専用リソースが確保される。
  • 分析やバッチ処理のジョブは、ミッションクリティカルなトランザクションに影響を与えることなく、最大数万QPSのピークワークロードを処理可能。これにより、ゲームプレイのパフォーマンスが途切れることなく維持される。
  • プレイヤーのアクティビティが変動しても、パフォーマンスは安定し予測可能な状態を保つ。

ノードグループを活用することで、リソース競合を完全に解消し、ピーク時のゲームトラフィックが分析やバックエンドレポートに影響を与えないようにしました。

このプラットフォームのエンジニアの一人は、ノードグループの価値について次のように語っています。

「ノードグループはオンライン業務の安定性を確保しながら、バッチ処理タスクを確実に実行します。もし特定のノードグループでリソースが不足している場合、TiDBをそのグループに対してスケールアウトできるため、リソースの無駄を削減できます。さらに、リソース使用状況の問題を迅速に特定し、トラブルシューティングのプロセスを簡素化できるのも大きな利点です。」

スケーリングとコスト効率:パフォーマンスだけではない

ワークロードの分離にとどまらず、ノードグループはコスト削減やインフラ管理の簡素化にも貢献します。

  • クラスタ数の削減とコスト低減:異なるワークロードごとに別々のクラスタを運用するのではなく、一つのクラスタ内で分離を保ちながら統合管理。
  • 管理の簡素化:クラスタ運用にかかる時間を削減し、アプリケーションの最適化により多くの時間を割ける。
  • ワークロードごとの独立したスケーリング:単一のクラスタを過剰にプロビジョニングするのではなく、実際の需要に応じてノードグループを個別にスケール可能。

TiDB Cloudのノードグループはどのように機能しますか?

ノードグループは、ビジネス要件に基づいてコンピューティングノードを複数のグループに分割し、接続エンドポイントと割り当てられたノード間のマッピングを維持します。

ステップごとの分解:

  1. アプリケーションは、固有のエンドポイントを使用して、割り当てられたノードグループに接続します:各ノードグループには、専用の接続エンドポイントがあります。
  2. リクエストは専用のロードバランサーを通じてルーティングされます:ロードバランサーは、クエリをそのノードグループ内のノードのみに転送します。
  3. ワークロードは分離されたままになります:一つのノードグループのリソース集約型の操作は、他のグループで実行されているワークロードに影響を与えません。
A diagram depicting how Node Groups in TiDB Cloud work.

  • オンライントランザクション処理 (例:支払い処理) は、高性能なノードグループに割り当て、専用リソースを確保できます。
  • バッチ処理や分析は別のノードグループで実行することで、オンライントランザクション処理に影響を与えないようにできます。

この設定により、ワークロード間のリソース競合が解消され、すべてのワークロードで予測可能なパフォーマンスが実現します。

3つの簡単なステップでノードグループを設定する

ノードグループの使い方は、とても簡単ですぐに始められます。

  1. ノードグループを作成:クラスタ変更ページに移動し、新しいノードグループを追加します。
  2. ワークロードを割り当て:トラフィックを効率的にルーティングするために、専用の接続エンドポイントを設定します。
  3. 監視とスケーリング:パフォーマンスを監視し、必要に応じてリソースを調整します。
How to setup Node Groups in TiDB Cloud in three simple steps.

より詳細な手順については、ノードグループのドキュメントをご覧ください。

TiDB Cloudのノードグループでより賢いスケーリングを実現

TiDB Cloud Dedicatedは、完全に管理された高性能な計算リソースを提供し、ノードグループはそれをさらに一歩進めて、リソース競合の排除、ワークロードの最適化、そして単一のクラスタ内での予測可能なスケーリングを実現します。

ワークロードごとの分離、細かく調整されたリソース割り当て、シームレスなスケーラビリティにより、ノードグループはミッションクリティカルなアプリケーションをより効率的かつ制御可能に実行できるよう支援します。

今すぐTiDB Cloudを利用開始し、ノードグループを活用して自信を持ってワークロードをスケーリングしましょう。


Have questions? Let us know how we can help.

Contact Us

TiDB Cloud Dedicated

TiDB Cloudのエンタープライズ版。
専用VPC上に構築された専有DBaaSでAWSとGoogle Cloudで利用可能。

TiDB Cloud Serverless

TiDB Cloudのライト版。
TiDBの機能をフルマネージド環境で使用でき無料かつお客様の裁量で利用開始。