継続的マテリアライズド ビューを作成して管理する
このドキュメントでは、Bigtable で継続的マテリアライズド ビューを作成してオペレーションを実行する方法について説明します。このドキュメントを読む前に、 継続的マテリアライズド ビューの概要をご覧ください。
継続的マテリアライズド ビューは、Google Cloud CLI、 コンソールの Google Cloud Bigtable Studio クエリエディタ、Java 用と Go 用の Bigtable クライアント ライブラリを使用して作成できます。
始める前に
gcloud CLI を使用する場合は、次の手順を行います。
-
Google Cloud CLI をインストールします。
-
外部 ID プロバイダ(IdP)を使用している場合は、まず連携 ID を使用して gcloud CLI にログインする必要があります。
-
gcloud CLI を初期化するには、次のコマンドを実行します:
gcloud init
必要なロール
継続的マテリアライズド ビューの作成と管理に必要な権限を取得するには、インスタンスに対する Bigtable 管理者(roles/bigtable.admin)ロールを付与するよう管理者に依頼してください。それ以外の場合は、実行するオペレーションに応じて、インスタンス レベルで次の権限をリクエストしてください。
- 作成:
bigtable.materializedViews.create - 更新:
bigtable.materializedViews.update - 削除:
bigtable.materializedViews.delete - リスト:
bigtable.materializedViews.list
継続的マテリアライズド ビューを作成するには、ソーステーブルに対する bigtable.tables.readRows 権限も必要です。
使用可能なすべてのロールと権限については、 IAM を使用した Bigtable アクセス制御をご覧ください。
継続的マテリアライズド ビューを作成する
継続的マテリアライズド ビューを作成する前に、次の操作を行います。
- 省略可: 効果的な手法として、インスタンス内のクラスタで 自動スケーリングを有効にします。これにより、Bigtable が 継続的マテリアライズド ビューを処理して同期する際に、必要に応じてスケールアップし、 追加のストレージ使用量を処理できます。
- 継続的マテリアライズド ビューのソースとして使用する、読み取り権限のある Bigtable テーブルを特定します。
- 継続的マテリアライズド ビューを定義する SQL クエリを準備します。クエリの要件については、継続的マテリアライズド ビュー クエリをご覧ください。
継続的マテリアライズド ビューを作成すると、有効になってクエリを実行できるようになるまでに数分かかることがあります。ビューの 指標 を確認して、進行状況をモニタリングできます。
コンソール
コンソールで Bigtable インスタンスのリストを開きます。 Google Cloud
インスタンスを選択します。
ナビゲーション パネルで [Bigtable Studio] をクリックします。
をクリックして新しいタブを開き、 [エディタ] を選択します。
クエリエディタが表示されたら、クエリを入力します。クエリが有効な SQL の場合、[有効] メッセージが表示されます。
省略可: ステートメントを SQL スタイルでフォーマットするには、[フォーマット] をクリックします。
[実行] をクリックします。クエリの結果が [結果] テーブルに表示されます。
クエリに問題がなければ、[名前を付けて保存] の展開矢印をクリックし、[マテリアライズド ビューとして保存] を選択します。
[マテリアライズド ビューを保存] ダイアログで、ビューの名前を入力し、[保存] をクリックします。
クエリエディタの使用方法の詳細については、データを Bigtable Studio を使用して管理するをご覧ください。
gcloud
継続的マテリアライズド ビューを作成するには、
gcloud beta bigtable materialized-views create
コマンドを使用します。
gcloud beta bigtable materialized-views create VIEW \
--instance=INSTANCE --query=QUERY
次のように置き換えます。
VIEW: 継続的マテリアライズド ビューの一意の識別子。この ID は、継続的マテリアライズド ビューにクエリを実行するときに テーブル ID として使用します。INSTANCE: 継続的マテリアライズド ビューを作成するインスタンスの識別子。ソーステーブルと同じインスタンスにする必要があります。QUERY: 継続的マテリアライズド ビューを定義する有効な SQL ステートメント。
省略可: 継続的マテリアライズド ビューの削除からの保護を有効にするには、コマンドに次のコマンドを追加します。
--deletion-protection=DELETION_PROTECTION
DELETION_PROTECTION は、true または false に置き換えます。
継続的マテリアライズド ビューを更新する
継続的マテリアライズド ビューの削除からの保護を更新できます。継続的マテリアライズド ビューを定義する SQL クエリは更新できません。クエリを変更する必要がある場合は、継続的マテリアライズド ビューを削除してから、変更を含む新しいビューを作成する必要があります。
コンソール
コンソールで継続的マテリアライズド ビューを更新することはできません。 代わりに gcloud CLI を使用してください。
gcloud
継続的マテリアライズド ビューの削除からの保護を有効または無効にするには、
gcloud beta bigtable materialized-views update command コマンドを使用します。
gcloud beta bigtable materialized-views update VIEW \
-–instance=INSTANCE --deletion-protection=DELETION_PROTECTION
次のように置き換えます。
VIEW: 更新する 継続的マテリアライズド ビューの一意の識別子INSTANCE: 継続的マテリアライズド ビューを含むインスタンスの識別子DELETION_PROTECTION:trueまたはfalse
継続的マテリアライズド ビューを削除する
削除からの保護が有効になっていない継続的マテリアライズド ビューは削除できます。このオペレーションは元に戻せません。
コンソール
コンソールで Bigtable インスタンスのリストを開きます。 Google Cloud
リストからインスタンスを選択します。
ナビゲーション パネルで [Bigtable Studio] をクリックします。
[マテリアライズド ビュー] を展開します。
削除するビューの横にある more_vert 操作メニューをクリックし、 [削除] をクリックします。
gcloud
継続的マテリアライズド ビューを削除するには、
gcloud beta bigtable materialized-views delete
コマンドを使用します。
gcloud beta bigtable materialized-views delete VIEW \
--instance=INSTANCE
次のように置き換えます。
VIEW: 削除する継続的マテリアライズド ビューの一意の識別子INSTANCE: 継続的マテリアライズド ビューを含むインスタンスの識別子
継続的マテリアライズド ビューのリストを取得する
インスタンスの継続的マテリアライズド ビューのリストを表示できます。
コンソール
コンソールで Bigtable インスタンスのリストを開きます。 Google Cloud
リストからインスタンスを選択します。
ナビゲーション パネルで [Bigtable Studio] をクリックします。継続的マテリアライズド ビューのリストが表示されます。
省略可: インスタンス内の最初の 10 個のビューが一覧表示されます。さらに 10 個を表示するには、[もっと見る] をクリックします。
gcloud
インスタンスのすべての継続的マテリアライズド ビューを一覧表示するには、
gcloud bigtable materialized-views list コマンドを使用します。
gcloud bigtable materialized-views list --instance=INSTANCE
INSTANCE はインスタンス ID に置き換えます。
継続的マテリアライズド ビューの詳細を表示する
継続的マテリアライズド ビューの詳細を表示できます。
コンソール
コンソールで Bigtable インスタンスのリストを開きます。 Google Cloud
リストからインスタンスを選択します。
ナビゲーション パネルで [Bigtable Studio] をクリックします。
[マテリアライズド ビュー] を展開します。
リスト内のビューの名前をクリックします。ビューの詳細が記載された タブが開きます。ビューが作成中の場合、Bigtable はビューを初期化し、作成の進行状況を表示します。
gcloud
継続的マテリアライズド ビューの詳細を表示するには、
gcloud beta bigtable materialized-views describe
コマンドを使用します。
gcloud beta bigtable materialized-views describe VIEW \
--instance=INSTANCE
次のように置き換えます。
VIEW: 継続的マテリアライズド ビューの一意の識別子INSTANCE: 継続的マテリアライズド ビューを含むインスタンスの識別子