カラム型エンジンを構成する

このページでは、AlloyDB for PostgreSQL インスタンスでカラム型エンジンを有効または無効にする方法について説明します。また、カラム型ストアに適切な初期サイズを構成する方法と、パフォーマンスを最適化するためのメモリとストレージ キャッシュの設定についても説明します。

AlloyDB Omni でカラム型エンジンを使用するには、AlloyDB Omni でカラム型エンジンを有効にするをご覧ください。

これらの各アクションでは、AlloyDB インスタンスのいずれかのデータベース フラグの値を変更します。データベース フラグの設定の詳細については、インスタンスのデータベース フラグを構成するをご覧ください。

AlloyDB カラム型エンジンのコンセプトの概要については、AlloyDB カラム型エンジンについてをご覧ください。

カラム型エンジンを有効にする

インスタンスでカラム型エンジンを使用するには、インスタンスの google_columnar_engine.enabled フラグを on に設定します。

このフラグを設定すると、インスタンスが自動的に再起動します。

AlloyDB でデータベース フラグを設定する方法については、インスタンスのデータベース フラグを構成するをご覧ください。

カラム型ストアのサイズを構成する

インスタンスでカラム型エンジンが有効になっている間、AlloyDB はインスタンスのメモリの一部を割り振り、カラム型データを保存します。高速 RAM をカラムストアに専用にすることで、AlloyDB がカラム型データにできるだけ高速にアクセスできます。

メモリ キャッシュとストレージ キャッシュを合わせた容量が、カラム型エンジンの総容量を表します。

カラム型エンジンのメモリを構成する

カラム型ストアがインスタンスのメモリの割り当て部分よりも大きくなると、AlloyDB はインスタンスの基盤となるキャッシュ レイヤを使用して、追加の列形式データを自動的に保存します。

デフォルトでは、AlloyDB はインスタンスのメモリの 30% をカラム型ストアに割り当て、インスタンスのサイズを変更すると割り当て合計が自動的に調整されます。インスタンスのメモリは最大 50% まで変更できます。インスタンスに推奨されるカラム型エンジンのメモリサイズを確認するには、カラム型ストアのメモリサイズの推奨事項をご覧ください。

google_columnar_engine.memory_size_in_mb フラグを使用して、割り当てを固定の特定のサイズに設定することもできます。AlloyDB をデフォルトの割り当てに戻すには、インスタンスからフラグを削除します。

フラグの設定または削除の詳細については、インスタンスのデータベース フラグを構成するをご覧ください。

カラム型エンジンのストレージ キャッシュを構成する

カラム型エンジンのストレージ キャッシュは、インスタンス ティアに応じてプロビジョニングされます。

インスタンスの階層 デフォルトのカラム型エンジン キャッシュ サイズ
N2 C4A
プライマリ レプリカプール プライマリ プールまたはレプリカプール
1 vCPU なし なし 0
2 vCPU 18.75 GB 37.5 GB なし
4 個の vCPU 18.75 GB 37.5 GB 18.75 GB
8 vCPU 18.75 GB 37.5 GB 37.75 GB
vCPU 16 個 37.5 GB 37.5 GB 75 GB
32 個の vCPU 75 GB 75 GB 112.5 GB
48 個の vCPU なし なし 187.5 GB
vCPU 64 個 150 GB 150 GB 262.5 GB
72 個の vCPU なし なし 300 GB
96 個の vCPU 300 GB 300 GB なし
128 個の vCPU 450 GB 450 GB なし

google_columnar_engine.storage_cache_size フラグを使用すると、カラム型エンジン ストレージ キャッシュを調整できます。最小値と最大値の制限は次の表のとおりです。

インスタンスの階層 カラム型エンジンのキャッシュの最小サイズ カラム型エンジンのキャッシュの最大サイズ
N2 C4A
プライマリ レプリカプール プライマリ プールまたはレプリカプール
1 vCPU なし なし なし 0
2 vCPU 0 187.5 GB 375 GB なし
4 個の vCPU 0 187.5 GB 375 GB 187.5 GB
8 vCPU 0 187.5 GB 375 GB 375 GB
vCPU 16 個 0 375 GB 375 GB 750 GB
32 個の vCPU 0 750 GB 750 GB 1125 GB
48 個の vCPU なし なし なし 1125 GB
vCPU 64 個 0 1500 GB 1500 GB 2625 GB
72 個の vCPU なし なし なし 3000 GB
96 個の vCPU 0 3000 GB 3000 GB なし
128 個の vCPU 0 4500 GB 4500 GB なし

カラム型エンジンのストレージ キャッシュ データをモニタリングする

カラム型エンジンのストレージ キャッシュに関する情報を表示するには、次のいずれかの SQL クエリを実行します。

SQL クエリ 説明
SELECT google_columnar_engine_storage_cache_used(); 使用されているカラム型エンジンのストレージ キャッシュのサイズを返します。
SELECT google_columnar_engine_storage_cache_available(); 未使用のカラム型エンジンのストレージ キャッシュのサイズを返します。
SELECT google_columnar_engine_storage_cache_total(); カラム型エンジン用に構成されたストレージ キャッシュのサイズの合計を返します。

ベクトル化結合を有効にする

カラム型エンジンには、ベクトル化結合機能があります。この機能を使用すると、対象となるクエリにベクトル化処理を適用することで、結合のパフォーマンスを向上できます。

ベクトル化結合を有効にすると、AlloyDB クエリ プランナーは、標準の PostgreSQL ハッシュ結合演算子ではなく、ベクトル化結合演算子を適用できます。プランナーは、いずれかの方法でクエリを実行するコストを比較して、この決定を行います。

インスタンスでベクトル化結合を有効にするには、インスタンスの google_columnar_engine.enable_vectorized_join フラグを on に設定します。

データベース フラグの設定の詳細については、インスタンスのデータベース フラグを構成するをご覧ください。

AlloyDB は、デフォルトでベクトル化された結合機能に 1 つのスレッドを割り当てます。google_columnar_engine.vectorized_join_threads フラグを大きい値に設定すると、この機能で使用できるスレッド数を増やすことができます。

カラム型エンジンを手動で更新する

デフォルトでは、カラム型エンジンは、有効になっている場合にバックグラウンドでカラム型ストアを自動的に更新するように設定されています。自動更新で無効なブロックが多い関係が更新されないなど、特定の状況では、カラム型ストアを手動で更新する必要があります。

カラム型エンジンを手動で更新するには、次の SQL クエリを実行します。

SELECT google_columnar_engine_refresh('TABLE_NAME');

TABLE_NAME は、手動で更新するテーブルまたはマテリアライズド ビューの名前に置き換えます。

カラム型エンジンを無効にする

インスタンスでカラム型エンジンを無効にするには、google_columnar_engine.enabled フラグを off に設定します。

AlloyDB でデータベース フラグを設定する方法については、インスタンスのデータベース フラグを構成するをご覧ください。

このフラグを設定すると、インスタンスが自動的に再起動します。

カラム型エンジンのトラブルシューティング

列がカラム型エンジンに入力されない場合は、次のいずれかの状況が考えられます。

  • 追加する列にサポートされていないデータ型が含まれている。

  • カラム型エンジンの要件が満たされていない。

この問題の原因を特定するには、次のことを試してください。

  • インスタンスの監査ログを確認します。

  • クエリ内のテーブルまたはマテリアライズド ビューがカラム型エンジンにあることを確認します。

  • EXPLAIN ステートメントを使用して、カラム型エンジンの使用状況を確認します。

次のステップ