ガベージ コレクションの構成
このページでは、Bigtable でガベージ コレクション ポリシーを表示、設定、更新する方法について説明します。このページを読む前に、ガベージ コレクションについて理解しておく必要があります。
cbt
CLI を使用する前に、.cbtrc
ファイルの作成手順を含む設定手順を行ってください。
現在のガベージ コレクション ポリシーを表示する
列ファミリーのガベージ コレクション ポリシーを表示するには、Google Cloud コンソールまたは cbt
CLI を使用します。
コンソール
列ファミリーの現在のガベージ コレクション ポリシーを表示するには:
Google Cloud コンソールで Bigtable インスタンスのリストを開きます。
テーブルを表示するインスタンスをクリックします。
左ペインで [テーブル] をクリックします。
[テーブル] ページに、インスタンス内のテーブルのリストが表示されます。
表の行にある
[編集] をクリックします。表示する列ファミリーの横にある [
開く] をクリックします。ガベージ コレクション ポリシーを確認したら、[キャンセル] をクリックして終了します。
cbt
TABLE_ID
の代わりに有効なテーブル ID を使用し、次のコマンドを実行して、特定のテーブルの現在のガベージ コレクション ポリシーを検索できます。
cbt ls TABLE_ID
ガベージ コレクション ポリシーを設定する
ガベージ コレクション ポリシーを設定するには、Google Cloud コンソール、cbt
CLI または Cloud Bigtable のクライアント ライブラリを使用します。
存続期間に基づくガベージ コレクション
次のセクションでは、列ファミリーのデータに最大存続期間を設定する方法について説明します。
Console
列ファミリー内のセルの有効期限を設定するには:
Google Cloud コンソールで Bigtable インスタンスのリストを開きます。
テーブルを表示するインスタンスをクリックします。
左ペインで [テーブル] をクリックします。
[テーブル] ページに、インスタンス内のテーブルのリストが表示されます。
[
編集] をクリックします。編集する列ファミリーの横にある [
開く] をクリックします。経過時間ベースのポリシーを選択します。
経過時間を入力します。[最長経過時間] フィールドに数値を入力し、[単位] プルダウンから時間の単位を選択します。
たとえば、列ファミリーのデータを 30 分間保持する場合は、「30」と入力して [分] を選択します。
[保存] をクリックします。
cbt
この例では、cf1
という名前の列ファミリーを作成してから、列ファミリーに含まれるデータの最大存続期間を 5 日間に設定します。これにより、この列ファミリーのすべての列で、5 日間を超えたデータをすべて削除するよう Bigtable に指示します。
cbt createfamily your-table cf1
cbt setgcpolicy your-table cf1 maxage=5d
Go
Bigtable 用のクライアント ライブラリをインストールして使用する方法については、Bigtable クライアント ライブラリをご覧ください。
Bigtable で認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、クライアント ライブラリの認証を設定するをご覧ください。
Java
Bigtable 用のクライアント ライブラリをインストールして使用する方法については、Bigtable クライアント ライブラリをご覧ください。
Bigtable で認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、クライアント ライブラリの認証を設定するをご覧ください。
Python
Bigtable 用のクライアント ライブラリをインストールして使用する方法については、Bigtable クライアント ライブラリをご覧ください。
Bigtable で認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、クライアント ライブラリの認証を設定するをご覧ください。
C#
Bigtable 用のクライアント ライブラリをインストールして使用する方法については、Bigtable クライアント ライブラリをご覧ください。
Bigtable で認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、クライアント ライブラリの認証を設定するをご覧ください。
C++
Bigtable 用のクライアント ライブラリをインストールして使用する方法については、Bigtable クライアント ライブラリをご覧ください。
Bigtable で認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、クライアント ライブラリの認証を設定するをご覧ください。
Node.js
Bigtable 用のクライアント ライブラリをインストールして使用する方法については、Bigtable クライアント ライブラリをご覧ください。
Bigtable で認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、クライアント ライブラリの認証を設定するをご覧ください。
PHP
Bigtable 用のクライアント ライブラリをインストールして使用する方法については、Bigtable クライアント ライブラリをご覧ください。
Bigtable で認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、クライアント ライブラリの認証を設定するをご覧ください。
Ruby
Bigtable 用のクライアント ライブラリをインストールして使用する方法については、Bigtable クライアント ライブラリをご覧ください。
Bigtable で認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、クライアント ライブラリの認証を設定するをご覧ください。
バージョン数に基づくガベージ コレクション
以下のセクションでは、保持するデータのバージョン数またはセル数を指定するガベージ コレクション ポリシーを適用した列ファミリーの作成方法を示しています。
Console
列ファミリーに保持するセルまたはバージョンの数を設定するには:
Google Cloud コンソールで Bigtable インスタンスのリストを開きます。
テーブルを表示するインスタンスをクリックします。
左ペインで [テーブル] をクリックします。
[テーブル] ページに、インスタンス内のテーブルのリストが表示されます。
テーブルの行にある [
編集] をクリックします。編集する列ファミリーの横にある [
開く] をクリックします。バージョンベースのポリシーを選択します。
列ファミリーのすべての列に含めるセルの数を入力します。
[保存] をクリックします。
cbt
この例では、cf2
という名前の列ファミリーを作成してから、列ファミリーに保持するバージョンの数を 2 に設定します。これにより、この列ファミリーのすべての列で、直近 2 個のセルを除くすべてのセルを削除するよう Bigtable に指示します。
cbt createfamily your-table cf2
cbt setgcpolicy your-table cf2 maxversions=2
この例では、最新のセルを除くすべてのセルを削除するポリシーを設定します。
cbt setgcpolicy your-table cf2 maxversions=1
Go
Bigtable 用のクライアント ライブラリをインストールして使用する方法については、Bigtable クライアント ライブラリをご覧ください。
Bigtable で認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、クライアント ライブラリの認証を設定するをご覧ください。
Java
Bigtable 用のクライアント ライブラリをインストールして使用する方法については、Bigtable クライアント ライブラリをご覧ください。
Bigtable で認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、クライアント ライブラリの認証を設定するをご覧ください。
Python
Bigtable 用のクライアント ライブラリをインストールして使用する方法については、Bigtable クライアント ライブラリをご覧ください。
Bigtable で認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、クライアント ライブラリの認証を設定するをご覧ください。
C#
Bigtable 用のクライアント ライブラリをインストールして使用する方法については、Bigtable クライアント ライブラリをご覧ください。
Bigtable で認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、クライアント ライブラリの認証を設定するをご覧ください。
C++
Bigtable 用のクライアント ライブラリをインストールして使用する方法については、Bigtable クライアント ライブラリをご覧ください。
Bigtable で認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、クライアント ライブラリの認証を設定するをご覧ください。
Node.js
Bigtable 用のクライアント ライブラリをインストールして使用する方法については、Bigtable クライアント ライブラリをご覧ください。
Bigtable で認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、クライアント ライブラリの認証を設定するをご覧ください。
PHP
Bigtable 用のクライアント ライブラリをインストールして使用する方法については、Bigtable クライアント ライブラリをご覧ください。
Bigtable で認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、クライアント ライブラリの認証を設定するをご覧ください。
Ruby
Bigtable 用のクライアント ライブラリをインストールして使用する方法については、Bigtable クライアント ライブラリをご覧ください。
Bigtable で認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、クライアント ライブラリの認証を設定するをご覧ください。
複数の条件に基づくガベージ コレクション
次のセクションでは、インターセクション ガベージ コレクション ポリシーを適用した列ファミリーを作成する方法について説明します。
Console
列ファミリーのセルにインターセクション ガベージ コレクション ポリシーを設定するには:
Google Cloud コンソールで Bigtable インスタンスのリストを開きます。
テーブルを表示するインスタンスをクリックします。
左ペインで [テーブル] をクリックします。
[テーブル] ページに、インスタンス内のテーブルのリストが表示されます。
テーブルの行にある [
編集] をクリックします。編集する列ファミリーの横にある [
開く] をクリックします。[カスタム ポリシー] を選択します。
テキスト領域にガベージ コレクション ルールを入力し、
maxage
、maxversions
、またはその両方に値を設定します。使用できる単位は ms、s、m、h、d です。これらは、ミリ秒、秒、分、時、日を表します。たとえば、5 日間を超え、かつ、直近の 2 個のセルより古いセルを削除するには、次のように入力します。削除対象のセルは、両方の条件を満たす必要があります。
maxage=5d and maxversions=2
[保存] をクリックします。
cbt
この例では、cf4
という名前の列ファミリーを作成してから、列ファミリーのすべての列について、5 日間を超え、かつ、直近 2 個のセルより古いセルを削除するガベージ コレクション ポリシーを設定します。削除対象のセルは、両方の条件を満たす必要があります。
cbt createfamily your-table cf4
cbt setgcpolicy your-table cf4 maxage=5d and maxversions=2
この例では、最新のセルを除き、14 日間を超えるすべてのセルを削除するポリシーを設定します。
cbt setgcpolicy your-table cf4 maxage=14d and maxversions=1
Go
Bigtable 用のクライアント ライブラリをインストールして使用する方法については、Bigtable クライアント ライブラリをご覧ください。
Bigtable で認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、クライアント ライブラリの認証を設定するをご覧ください。
Java
Bigtable 用のクライアント ライブラリをインストールして使用する方法については、Bigtable クライアント ライブラリをご覧ください。
Bigtable で認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、クライアント ライブラリの認証を設定するをご覧ください。
Python
Bigtable 用のクライアント ライブラリをインストールして使用する方法については、Bigtable クライアント ライブラリをご覧ください。
Bigtable で認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、クライアント ライブラリの認証を設定するをご覧ください。
C#
Bigtable 用のクライアント ライブラリをインストールして使用する方法については、Bigtable クライアント ライブラリをご覧ください。
Bigtable で認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、クライアント ライブラリの認証を設定するをご覧ください。
C++
Bigtable 用のクライアント ライブラリをインストールして使用する方法については、Bigtable クライアント ライブラリをご覧ください。
Bigtable で認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、クライアント ライブラリの認証を設定するをご覧ください。
Node.js
Bigtable 用のクライアント ライブラリをインストールして使用する方法については、Bigtable クライアント ライブラリをご覧ください。
Bigtable で認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、クライアント ライブラリの認証を設定するをご覧ください。
PHP
Bigtable 用のクライアント ライブラリをインストールして使用する方法については、Bigtable クライアント ライブラリをご覧ください。
Bigtable で認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、クライアント ライブラリの認証を設定するをご覧ください。
Ruby
Bigtable 用のクライアント ライブラリをインストールして使用する方法については、Bigtable クライアント ライブラリをご覧ください。
Bigtable で認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、クライアント ライブラリの認証を設定するをご覧ください。
次のセクションでは、ユニオン ガベージ コレクション ポリシーを適用した列ファミリーの作成方法を説明します。
Console
列ファミリーのセルにユニオン ガベージ コレクション ポリシーを設定するには:
Google Cloud コンソールで Bigtable インスタンスのリストを開きます。
テーブルを表示するインスタンスをクリックします。
左ペインで [テーブル] をクリックします。
[テーブル] ページに、インスタンス内のテーブルのリストが表示されます。
テーブルの行にある [
編集] をクリックします。編集する列ファミリーの横にある [
開く] をクリックします。[カスタム ポリシー] を選択します。
テキスト領域にガベージ コレクション ルールを入力し、
maxage
、maxversions
、またはその両方に値を設定します。使用できる単位は ms、s、m、h、d です。これらは、ミリ秒、秒、分、時、日を表します。たとえば、5 日間を超えているか、または直近の 2 個のセルより古いセルを削除するには、次のように入力します。削除対象のセルは、いずれかの条件を満たす必要があります。
maxage=5d or maxversions=2
[保存] をクリックします。
cbt
この例では、cf3
という名前の列ファミリーを作成してから、5 日間を超えたセル、または、直近 2 個のセルより古いセルを削除するガベージ コレクション ポリシーを設定します。削除対象のセルは、いずれかの条件を満たす必要があります。
cbt createfamily your-table cf3
cbt setgcpolicy your-table cf3 maxage=5d or maxversions=2
この例では、最新のセルを除くすべてのセル値を削除する(ただし最新のセルであっても、1 秒間を超えるものは削除する)ポリシーを設定します。
cbt setgcpolicy your-table cf3 maxversions=1 or maxage=1s
Go
Bigtable 用のクライアント ライブラリをインストールして使用する方法については、Bigtable クライアント ライブラリをご覧ください。
Bigtable で認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、クライアント ライブラリの認証を設定するをご覧ください。
Java
Bigtable 用のクライアント ライブラリをインストールして使用する方法については、Bigtable クライアント ライブラリをご覧ください。
Bigtable で認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、クライアント ライブラリの認証を設定するをご覧ください。
Python
Bigtable 用のクライアント ライブラリをインストールして使用する方法については、Bigtable クライアント ライブラリをご覧ください。
Bigtable で認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、クライアント ライブラリの認証を設定するをご覧ください。
C#
Bigtable 用のクライアント ライブラリをインストールして使用する方法については、Bigtable クライアント ライブラリをご覧ください。
Bigtable で認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、クライアント ライブラリの認証を設定するをご覧ください。
C++
Bigtable 用のクライアント ライブラリをインストールして使用する方法については、Bigtable クライアント ライブラリをご覧ください。
Bigtable で認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、クライアント ライブラリの認証を設定するをご覧ください。
Node.js
Bigtable 用のクライアント ライブラリをインストールして使用する方法については、Bigtable クライアント ライブラリをご覧ください。
Bigtable で認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、クライアント ライブラリの認証を設定するをご覧ください。
PHP
Bigtable 用のクライアント ライブラリをインストールして使用する方法については、Bigtable クライアント ライブラリをご覧ください。
Bigtable で認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、クライアント ライブラリの認証を設定するをご覧ください。
Ruby
Bigtable 用のクライアント ライブラリをインストールして使用する方法については、Bigtable クライアント ライブラリをご覧ください。
Bigtable で認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、クライアント ライブラリの認証を設定するをご覧ください。
次のセクションでは、ネストされたガベージ コレクション ポリシーを適用した列ファミリーの作成方法について説明します。ネストされたガベージ コレクション ポリシーは、ユニオンルールとインターセクション ルールからなります。
Console
列ファミリーのセルにネストされたガベージ コレクション ポリシーを設定するには:
Google Cloud コンソールで Bigtable インスタンスのリストを開きます。
テーブルを表示するインスタンスをクリックします。
左ペインで [テーブル] をクリックします。
[テーブル] ページに、インスタンス内のテーブルのリストが表示されます。
テーブルの行にある [
編集] をクリックします。編集する列ファミリーの横にある [
開く] をクリックします。[カスタム ポリシー] を選択します。
テキスト領域にガベージ コレクション ルールを入力し、
maxage
、maxversions
、またはその両方に値を設定します。使用できる単位は ms、s、m、h、d です。これらは、ミリ秒、秒、分、時、日を表します。たとえば、最新の 2 つのセルが 1 分以上経過していない場合でも、1 分間を超えるまで直近の 10 個のセルを保持する場合は、次のように入力します。
(maxage=1m and maxversions=2) or maxversions=10
[保存] をクリックします。
cbt
この例では、cf5
という名前の列ファミリーを作成してから、次の条件のいずれかを満たす列ファミリー内のセルを削除するガベージ コレクション ポリシーを設定します。
- 直近 10 個のセルより古い
- 1 分間を超え、かつ、直近 2 個のセルよりも古い
つまり、このポリシーは、1 分間を超えるセルであっても直近 2 個のセルを保持します。または、1 分間を超えるまで、直近 10 個のセルを保持します。
cbt createfamily your-table cf5
cbt setgcpolicy your-table cf5 "(maxage=1m and maxversions=2) or
maxversions=10"
Go
Bigtable 用のクライアント ライブラリをインストールして使用する方法については、Bigtable クライアント ライブラリをご覧ください。
Bigtable で認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、クライアント ライブラリの認証を設定するをご覧ください。
Java
Bigtable 用のクライアント ライブラリをインストールして使用する方法については、Bigtable クライアント ライブラリをご覧ください。
Bigtable で認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、クライアント ライブラリの認証を設定するをご覧ください。
Python
Bigtable 用のクライアント ライブラリをインストールして使用する方法については、Bigtable クライアント ライブラリをご覧ください。
Bigtable で認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、クライアント ライブラリの認証を設定するをご覧ください。
C#
Bigtable 用のクライアント ライブラリをインストールして使用する方法については、Bigtable クライアント ライブラリをご覧ください。
Bigtable で認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、クライアント ライブラリの認証を設定するをご覧ください。
C++
Bigtable 用のクライアント ライブラリをインストールして使用する方法については、Bigtable クライアント ライブラリをご覧ください。
Bigtable で認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、クライアント ライブラリの認証を設定するをご覧ください。
Node.js
Bigtable 用のクライアント ライブラリをインストールして使用する方法については、Bigtable クライアント ライブラリをご覧ください。
Bigtable で認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、クライアント ライブラリの認証を設定するをご覧ください。
PHP
Bigtable 用のクライアント ライブラリをインストールして使用する方法については、Bigtable クライアント ライブラリをご覧ください。
Bigtable で認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、クライアント ライブラリの認証を設定するをご覧ください。
Ruby
Bigtable 用のクライアント ライブラリをインストールして使用する方法については、Bigtable クライアント ライブラリをご覧ください。
Bigtable で認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、クライアント ライブラリの認証を設定するをご覧ください。
ガベージ コレクション ポリシーを更新する
次のセクションでは、既存のガベージ コレクション ポリシーを変更する方法について説明します。
レプリケーションを使用するテーブルの列ファミリーの保持期間を延長するには、クラスタが同期されなくなる可能性があるという警告を承認する必要があります。新しい値は、現在の値の 90 日以内である必要があります。詳しくは、年齢ベースのポリシーの変更をご覧ください。
コンソール
列ファミリーのガベージ コレクション ポリシーを更新するには、これらの手順を行います。
Google Cloud コンソールで Bigtable インスタンスのリストを開きます。
テーブルを表示するインスタンスをクリックします。
左ペインで [テーブル] をクリックします。
[テーブル] ページに、インスタンス内のテーブルのリストが表示されます。
テーブルの行にある [
編集] をクリックします。編集する列ファミリーの横にある [
開く] をクリックします。[保存] をクリックします。
cbt
cbt setgcpolicy your-table cf1 maxage=1d
複製されたテーブルで maxage
の値を増やす場合は、オプションの force
フラグを使用する必要があります。新しい値は、現在の値の 90 日以内である必要があります。
Java
Bigtable 用のクライアント ライブラリをインストールして使用する方法については、Bigtable クライアント ライブラリをご覧ください。
Bigtable で認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、クライアント ライブラリの認証を設定するをご覧ください。
Python
Bigtable 用のクライアント ライブラリをインストールして使用する方法については、Bigtable クライアント ライブラリをご覧ください。
Bigtable で認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、クライアント ライブラリの認証を設定するをご覧ください。
C#
Bigtable 用のクライアント ライブラリをインストールして使用する方法については、Bigtable クライアント ライブラリをご覧ください。
Bigtable で認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、クライアント ライブラリの認証を設定するをご覧ください。
C++
Bigtable 用のクライアント ライブラリをインストールして使用する方法については、Bigtable クライアント ライブラリをご覧ください。
Bigtable で認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、クライアント ライブラリの認証を設定するをご覧ください。
Node.js
Bigtable 用のクライアント ライブラリをインストールして使用する方法については、Bigtable クライアント ライブラリをご覧ください。
Bigtable で認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、クライアント ライブラリの認証を設定するをご覧ください。
PHP
Bigtable 用のクライアント ライブラリをインストールして使用する方法については、Bigtable クライアント ライブラリをご覧ください。
Bigtable で認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、クライアント ライブラリの認証を設定するをご覧ください。
Ruby
Bigtable 用のクライアント ライブラリをインストールして使用する方法については、Bigtable クライアント ライブラリをご覧ください。
Bigtable で認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、クライアント ライブラリの認証を設定するをご覧ください。