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

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

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

始める前に

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

  1. Install the Google Cloud CLI.

  2. 外部 ID プロバイダ(IdP)を使用している場合は、まずフェデレーション ID を使用して gcloud CLI にログインする必要があります。

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

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

コンソール

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

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

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

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

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

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

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

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

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

    クエリ エディタの使用の詳細については、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

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

削除保護が有効になっていない継続的マテリアライズド ビューは削除できます。この操作は元に戻せません。

コンソール

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

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

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

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

  4. [マテリアライズド ビュー] を開きます。

  5. 削除するビューの横にある more_vert アクション メニューをクリックし、[削除] をクリックします。

gcloud

継続的マテリアライズド ビューを削除するには、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 に置き換えます。

次のステップ