AlloyDB Omni ディスク キャッシュでは、標準の PostgreSQL インメモリ共有バッファに加えて、ソリッド ステート ドライブ(SSD)などの高速ストレージをバッファとして使用できます。ディスク キャッシュを使用すると、データ ディレクトリが低速なストレージにある AlloyDB Omni インストールでデータの取得が高速化されます。
PostgreSQL の共有バッファと同様に、AlloyDB Omni ディスク キャッシュは永続的ではありません。つまり、キャッシュに保存されたデータは再起動時に失われます。
デフォルトでは、AlloyDB Omni ディスク キャッシュはファイル システムから報告されたすべてのストレージを使用します。データ キャッシュに予約するストレージの量は、omni_disk_cache_file_size パラメータで定義できます。
AlloyDB Omni ディスク キャッシュを有効にする
ディスク キャッシュを有効にするには、次のセクションをご覧ください。
ローカル ボリュームでディスク キャッシュを有効にする
ローカル ボリュームを使用する場合は、 永続ボリュームを作成する必要はありません。 代わりに、次の最適化を行うことができます。
データベースのローカル ボリュームでディスク キャッシュを有効にするには、次の操作を行います。
データベース クラスタ マニフェストを変更して、
specセクションのfeaturesセクションにultraFastCache属性を追加します。DBCluster: metadata: name: CLUSTER_NAME spec: databaseVersion: "18.3.0" primarySpec: features: ultraFastCache: cacheSize: DISK_CACHE_SIZE localVolume: path: "LOCAL_VOLUME_PATH" ...
次のように置き換えます。
CLUSTER_NAME: データベース クラスタの名前。DISK_CACHE_SIZE: キャッシュのサイズ(例:100Gi)。shared_buffersよりも大きい値にしてください。このフィールドは省略可能です。このフィールドの値を指定しない場合、AlloyDB Omni はディスク上の残りのスペースをすべて使用します。LOCAL_VOLUME_PATH: ローカル ボリュームのパス。例:/mnt/disks/raid/0
マニフェストを再度適用します。
優先するオーケストレーター インターフェースを使用して変更を適用します。
Ansible
Ansible を使用して AlloyDB Omni RPM オーケストレーター インフラストラクチャを直接管理している場合は、適切なプレイブックを実行し、選択した
update_actionを追加の変数として渡すことで更新がトリガーされます。update.ymlのサンプルファイル:--- - hosts: localhost vars: update_action: "update_resource_spec" ansible_user: your_ssh_user ansible_ssh_private_key_file: ~/path/to/private-key roles: - role: google.alloydbomni_orchestrator.updateAnsible コマンドを実行します。
ansible-playbook -i DEPLOYMENT_SPECIFICATION update.yml -e resource_spec="DBCLUSTER_SPECIFICATION"次の変数を置き換えます。
DEPLOYMENT_SPECIFICATION: AlloyDB Omni コンポーネントをインストールするで作成したデプロイ仕様のパス。DBCLUSTER_SPECIFICATION: クラスタ仕様のパス。
alloydbctlalloydbctl apply -d DEPLOYMENT_SPECIFICATION -r DBCLUSTER_SPECIFICATION次の変数を置き換えます。
DEPLOYMENT_SPECIFICATION: AlloyDB Omni コンポーネントをインストールするで作成したデプロイ仕様のパス。DBCLUSTER_SPECIFICATION: クラスタ仕様のパス。
ディスク キャッシュの構成を確認する
AlloyDB Omni ディスク キャッシュを有効にしたら、iotop や iostat などの利用可能なユーティリティを使用してディスクへの読み取り / 書き込みアクティビティをモニタリングし、ディスク キャッシュにアクセスされていることを確認します。
また、AlloyDB Omni ディスク キャッシュが開いているかどうかを確認することもできます。
AlloyDB Omni のディスク キャッシュ構成を確認するには、次のコマンドを使用します。
cat LOG_FILE_PATH | grep "opened omni disk cache"LOG_FILE_PATH は、AlloyDB Omni ログのリダイレクト先のパスに置き換えます。
ディスク キャッシュが正しく構成されている場合、ログに Successfully opened omni disk cache ... メッセージが記録されます。