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

このページでは、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 をデフォルトの割り当てに戻すには、インスタンスからフラグを削除します。

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

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

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

インスタンスの階層 デフォルトのカラム型エンジン キャッシュサイズ
プライマリ インスタンス 読み取りレプリカ インスタンス
2 vCPU 18.75 GB 37.5 GB
4 vCPU 18.75 GB 37.5 GB
8 vCPU 18.75 GB 37.5 GB
16 vCPU 37.5 GB 37.5 GB
32 vCPU 75 GB 75 GB
64 vCPU 150 GB 150 GB
96 vCPU 300 GB 300 GB
128 vCPU 450 GB 450 GB

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

インスタンスの階層 カラム型エンジンのキャッシュの最小サイズ カラム型エンジンのキャッシュの最大サイズ
プライマリ インスタンス 読み取りレプリカ インスタンス
2 vCPU 0 187.5 GB 375 GB
4 vCPU 0 187.5 GB 375 GB
8 vCPU 0 187.5 GB 375 GB
16 vCPU 0 375 GB 375 GB
32 vCPU 0 750 GB 750 GB
64 vCPU 0 1,500 GB 1,500 GB
96 vCPU 0 3,000 GB 3,000 GB
128 vCPU 0 4,500 GB 4,500 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 は、手動で更新するテーブルまたはマテリアライズド ビューの名前に置き換えます。

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

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

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

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

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

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

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

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

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

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

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

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

次のステップ