継続マテリアライズド ビューを作成、管理する

このドキュメントでは、Bigtable で継続マテリアライズド ビューを作成し、オペレーションを実行する方法について説明します。このドキュメントを読む前に、継続的なマテリアライズド ビューの概要をご覧ください。

継続マテリアライズド ビューは、Google Cloud CLI、 Google Cloud コンソールの Bigtable Studio クエリ エディタ、Java と Go 用の Bigtable クライアント ライブラリを使用して作成できます。

始める前に

gcloud CLI を使用する場合は、次の手順を行います。

  1. Install the Google Cloud CLI.
  2. To initialize the gcloud CLI, run the following command:

    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 クエリを準備します。クエリの要件については、継続的マテリアライズド ビューのクエリをご覧ください。

連続マテリアライズド ビューを作成した後、有効になってクエリを実行できるようになるまでに数分かかることがあります。ビューの指標を確認して、進行状況をモニタリングできます。

コンソール

  1. Google Cloud コンソールで Bigtable インスタンスのリストを開きます。

    インスタンスのリストを開く

  2. インスタンスを選択します。

  3. ナビゲーション パネルで [Bigtable Studio] をクリックします。

  4. をクリックして [エディタ] を選択し、新しいタブを開きます。

    1. クエリエディタが表示されたら、クエリを入力します。 クエリが有効な SQL の場合は、[有効] メッセージが表示されます。

    2. 省略可: ステートメントを SQL スタイルで書式設定するには、[書式] をクリックします。

    3. [実行] をクリックします。クエリの結果が [結果] テーブルに表示されます。

    4. クエリに問題がなければ、[保存] をクリックして [マテリアライズド ビュー] を選択します。

    Query Editor の使用方法については、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

継続マテリアライズド ビューを削除する

削除保護が有効になっていない継続マテリアライズド ビューは削除できます。このオペレーションは取り消すことができません。

連続マテリアライズド ビューを削除するには、gcloud beta bigtable materialized-views delete コマンドを使用します。

gcloud beta bigtable materialized-views delete VIEW \
        --instance=INSTANCE

次のように置き換えます。

  • VIEW: 削除する連続マテリアライズド ビューの一意の識別子
  • INSTANCE: 連続マテリアライズド ビューを含むインスタンスの識別子

継続マテリアライズド ビューのリストを取得する

インスタンスの継続マテリアライズド ビューのリストを表示できます。

コンソール

  1. Google Cloud コンソールで Bigtable インスタンスのリストを開きます。

    インスタンスのリストを開く

  2. リストからインスタンスを選択します。

  3. ナビゲーション パネルで [Bigtable Studio] をクリックします。継続的マテリアライズド ビューのリストが表示されます。

  4. 省略可: インスタンス内の最初の 10 件のビューが一覧表示されます。10 件をさらに表示するには、[もっと見る] をクリックします。

gcloud

インスタンスのすべての継続マテリアライズド ビューを一覧表示するには、gcloud bigtable materialized-views list コマンドを使用します。

gcloud bigtable materialized-views list --instance=INSTANCE

INSTANCE は、インスタンス ID に置き換えます。

次のステップ