このページでは、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
に設定します。
このフラグを設定すると、インスタンスが自動的に再起動します。
カラム型エンジンのトラブルシューティング
列が列エンジンに入力されない場合は、次のいずれかの状況が考えられます。
追加する列にサポートされていないデータ型が含まれています。
カラム型エンジンの要件が満たされていない。
この問題の原因を特定するには、次の手順を試してください。
インスタンスの監査ログを確認します。
クエリ内のテーブルまたはマテリアライズド ビューが列エンジンにあることを確認します。
EXPLAIN
ステートメントを使用して、カラム型エンジンの使用状況を確認します。
次のステップ
列エンジン データベース フラグの一覧をご覧ください。
自動列化について学習する。