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

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

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

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

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

ベクトル化結合を有効にすると、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 ステートメントを使用して、カラム型エンジンの使用状況を確認します。

次のステップ