アプリ プロファイルの概要
アプリケーション プロファイル(アプリ プロファイル)には、アプリケーションから受信したリクエストを処理する方法を Bigtable インスタンスに指示するための設定が保存されます。アプリケーションが Bigtable インスタンスに接続すると、デフォルトのアプリ プロファイルまたはユーザーが指定したアプリ プロファイルを使用します。Bigtable は、その接続を介してアプリケーションが送信するリクエストに対して、このアプリ プロファイルを使用します。
アプリ プロファイルは、使用するコンピューティングの種類に応じて、標準アプリ プロファイルか Data Boost アプリ プロファイルのいずれかになります。標準アプリ プロファイルでは、コンピューティングにプロビジョニングされたクラスタノードを使用し、通常はアプリケーションのサービス提供トラフィックに使用されます。Data Boost アプリ プロファイルは、高スループットの読み取りジョブとクエリ用に設計されたサーバーレス コンピューティングを使用します。Data Boost(プレビュー)の詳細については、Data Boost の概要をご覧ください。
このページでは、アプリ プロファイルについて説明し、その使用方法について説明します。
アプリケーションでアプリ プロファイルを使用するためのコードサンプルについては、カスタムアプリ プロファイルに接続するをご覧ください。
ワークロードごとに個別のアプリ プロファイルを使用する
Bigtable インスタンスを作成すると、デフォルトのアプリ プロファイルが自動的に作成されます。その設定は、インスタンスが持つクラスタの数によって異なります。アプリ プロファイルのメリットを最大限に活用するには、追加のアプリ プロファイルを作成して使用し、アプリケーションまたはワークロードごとに異なるアプリ プロファイルを使用する必要があります。
アプリ プロファイルは複数のクラスタを持つインスタンスでは特に重要ですが、インスタンスにクラスタが 1 つしかない場合でも、実行するアプリケーションごと、または単一のアプリケーション内の異なるコンポーネントごとに、異なるアプリ プロファイルを使用する必要があります。
以降のセクションでは、複数のアプリ プロファイルを作成して使用するメリットについて説明します。
ワークロードの分離
個別のアプリ プロファイルを使用すると、Bigtable のコンピューティング ポリシーとルーティング ポリシーを異なる目的に使用できます。たとえば、バッチ読み取りジョブ(ワークロード A)が、アプリケーションの安定した定常的な読み取りと書き込み(ワークロード B)を処理するクラスタにおいて、CPU 使用率を増加させるのを防ぎたいとします。その場合は、次のいずれかの方法を使用できます。
ワークロード B の標準アプリ プロファイルを作成し、1 つのクラスタを除くクラスタ グループにルーティングします。次に、ワークロード A 用の標準アプリ プロファイルを別途作成し、ワークロード B がリクエストを送信しないクラスタへの単一クラスタ ルーティングを指定します。
コンピューティングにクラスタノードを使用し、ワークロード B の任意のクラスタにルーティングするように構成された標準のアプリ プロファイルを使用し、ワークロード A を単一のクラスタで使用する Data Boost アプリ プロファイルを作成します。Data Boost ではサーバーレス コンピューティングが使用されますが、アプリケーション トラフィックはコンピューティングにクラスタノードを使用します。
同じデータに接続する他のアプリケーションに影響を与えることなく、1 つのアプリケーションまたは関数の設定を変更できます。
オブザーバビリティ
指標はアプリ プロファイルごとに使用できるため、ワークロードごとに異なるアプリ プロファイルを使用すると、アプリケーションでの Bigtable の使用状況をより詳細に把握できます。このオブザーバビリティの向上は、次のように役立てることができます。
アプリ プロファイル レベルでレイテンシを確認することで、全体的なパフォーマンスに影響しているアプリケーションを特定のに役立ちます。
標準アプリ プロファイルを使用してワークロードのアプリ プロファイルあたりの CPU 使用率をモニタリングすると、CPU 使用率の問題をトラブルシューティングしたり、クラスタのサイズや場所を決定したりするのに役立ち、使用量を最適化し、コストを削減することができます。
アプリ プロファイル レベルでの指標により、サポートを依頼する必要がある場合に問題の原因となっているワークロードを正確に共有できます。
Bigtable Google Cloud コンソールを使用して、アプリ プロファイルごとに Bigtable 指標のグラフを個別表示できます。プロファイル レベルで使用可能な指標については、Bigtable リソースのモニタリング グラフの表をご覧ください。
標準アプリ プロファイル
標準アプリ プロファイルは、クラスタのノードを使用してインスタンスのクラスタにトラフィックをルーティングします。
ルーティング
標準アプリ プロファイルでは、Bigtable が使用するルーティング ポリシーを定義し、単一行のトランザクションを許可するかどうかを制御します。標準のアプリ プロファイルでは、アプリ プロファイルを使用して送信されるリクエストの優先度のレベルも指定できます。
リクエストの優先度
標準のアプリ プロファイルのデータ リクエストに対して Bigtable が与える優先度を指定できます。使用可能な優先度のレベルについては、リクエストの優先度を構成するをご覧ください。
Data Boost アプリ プロファイル
Data Boost アプリ プロファイルを使用すると、Data Boost のサーバーレス コンピューティングを使用して、高スループットのジョブとクエリをアプリのサービス提供トラフィックから分離できます。Data Boost アプリ プロファイルではリクエストの優先度を構成できません。利用可能なルーティング ポリシーは単一クラスタのみです。詳細については、Data Boost の概要をご覧ください。
アプリ プロファイルの変更
ワークロードのルーティング ポリシーまたはリクエストの優先度を変更する必要がある場合は、ワークロードに使用されているアプリ プロファイルを更新できます。アプリ プロファイルを標準から Data Boost 分離に、または Data Boost から標準分離に変換することもできます。標準のアプリ プロファイルを Data Boost を使用するように変換すると、アプリ プロファイルからリクエストの優先度設定が削除されます。また、単一クラスタではないルーティング ポリシーも削除されます。
アプリ プロファイルの変更はすぐに有効になります。
ただし、多くの場合、使用中のアプリ プロファイルを変更するのではなく、新しいユースケースの場合と同様に、別の構成で新しいアプリ プロファイルを作成してからアプリケーション コードを変更して、新しいアプリ プロファイルを使用する必要があります。ワークロードに変更を加えるための新しいアプリ プロファイルを作成すると、アプリ プロファイルを使用するほかのワークロードのアプリ プロファイルを誤って変更することを回避できます。
アプリ プロファイルを標準から Data Boost に変更すると、アプリ プロファイルのトラフィックに使用されるコンピューティングのタイプが、料金に沿ってサーバーレスに変更されます。詳細については、Data Boost の概要と Bigtable の料金をご覧ください。
同様に、アプリ プロファイルを Data Boost から標準に変更すると、アプリ プロファイルによって送信されるトラフィックは、コンピューティングにクラスタノードを使用するようになります。つまり、アプリ プロファイルがルーティングするすべてのクラスタには、CPU 使用率の要件を満たす十分なノードが必要です。詳細については、ノードをご覧ください。
アプリ プロファイルを表示、作成、更新する方法については、アプリ プロファイルの作成と構成をご覧ください。
デフォルトのアプリ プロファイル
インスタンスが作成されると、Bigtable は自動的にそのインスタンスのデフォルトのアプリ プロファイルを作成します。デフォルトのアプリ プロファイルは標準のアプリ プロファイルですが、Data Boost プロファイルに変換することもできます。アプリケーションでアプリ プロファイルが指定されていない場合、またはインスタンスへの接続に HBase シェルを使用している場合、Bigtable はデフォルトのアプリ プロファイルの設定を使用します。
インスタンスのデフォルト アプリ プロファイルの設定は、最初に作成したときにインスタンス内に存在していたクラスタの数によって異なります。
- 1 つのクラスタでインスタンスを作成した場合、
default
アプリ プロファイルはシングル クラスタ ルーティングを使用し、単一行のトランザクションが有効になります。これにより、後でクラスタを追加しても既存のアプリケーションの動作が変わることはありません。 - 2 つ以上のクラスタでインスタンスを作成した場合、
default
アプリ プロファイルでは、任意のクラスタへのマルチクラスタ ルーティングを使用します。単一行のトランザクションはマルチクラスタ ルーティングでは許可されません。
クラスタを追加または削除しても、デフォルトのアプリ プロファイルは変更されません。デフォルトのアプリ プロファイルの設定を変更するには、手動でデフォルトのアプリ プロファイルを更新する必要があります。ただし、ベスト プラクティスとして、デフォルトのアプリ プロファイルを変更するのではなく、新しいアプリ プロファイルを作成して使用することをおすすめします。
カスタムアプリ プロファイル
カスタムアプリ プロファイルは、ユーザーが作成して構成するアプリ プロファイルです。インスタンスには、最大 2,000 件のアプリ プロファイルを設定できます。 デフォルト以外のアプリ プロファイルはすべて、カスタムアプリ プロファイルとみなされます。