コンテンツに移動
データベース

Cloud SQL for PostgreSQL データ キャッシュの仕組み

2024年5月16日
Google Cloud Japan Team

※この投稿は米国時間 2024 年 5 月 9 日に、Google Cloud blog に投稿されたものの抄訳です。

データは組織に不可欠なものです。信頼できるデータに基づいて、迅速かつ正確で実践的な意思決定を下すことができる企業は、差別化されたサービスの提供や顧客満足度の向上を実現できます。このことは、生成 AI の台頭により、さらに重みが増す一方となっています。

そのため、運用データの操作時は、データベースからニア リアルタイムのパフォーマンスを得られることが重要です。PostgreSQL データベースに対し、Google Cloud SQL for PostgreSQL Enterprise Plus エディションを提供しています。これにより、初期設定でのパフォーマンスの向上、データ保護の強化(最大 35 日の PITR)、可用性の向上(99.99% SLA とダウンタイムがほぼゼロのメンテナンス)を実現できます。

Cloud SQL for PostgreSQL Enterprise Plus エディションには、読み取りのパフォーマンスを大きく向上させる革新的なデータ キャッシュ機能も含まれています。このデータ キャッシュは、サーバーサイドの SSD を使用してデータをキャッシュする読み取りキャッシュです。サーバー内のコンピューティング機能と同じ場所に配置されるため、データアクセスにおける低レイテンシと高スループットが確保されます。このため、データ キャッシュを使用することにより、一般的に読み取りスループットとレイテンシによって制限されるワークロードに対して大きなメリットが得られます。

このブログ投稿では、データ キャッシュの仕組み、データ キャッシュの内部メカニズム、データ キャッシュから特に大きなメリットを得られるワークロードの種類について説明します。

データ キャッシュの仕組み

Cloud SQL では、高パフォーマンス、低レイテンシのローカル SSD(ソリッド ステート ドライブ)がデータ ストレージ ディスクのキャッシュ レイヤとして使用されます。PostgreSQL では、データ キャッシュは共有バッファの拡張機能と考えてください。つまり、クエリでは不要なネットワーク ホップが回避され、基盤となるストレージによってクエリが制限されることがありません。データ キャッシュは、インスタンス内の物理メモリより大きいため、ワーキング セットのより多くの部分がサーバー内に収まります。このため、クエリで実現できるキャッシュ ヒット率が非常に高くなります。

以下の表では、32 vCPU インスタンスの場合の各ストレージ レイヤのサイズの違いがわかります。

https://storage.googleapis.com/gweb-cloudblog-publish/images/1_0jIJ77R.max-1600x1600.jpg

データ キャッシュ サイズはインスタンスごとに固定されており、構成されている vCPU の数に基づきます。以下の表は、さまざまな vCPU 構成のデータ キャッシュ サイズの概要を示しています。

vCPU

メモリ(GB

データ キャッシュ サイズ

GB

2

16

375

4

32

375

8

64

375

16

128

750

32

256

1,500

48

384

3,000

64

512

6,000

80

640

6,000

96

768

6,000

128

864

9,000

データ キャッシュからメリットを得られるワークロードの種類

データ キャッシュ機能からメリットを得られるワークロードは、データセットの総量全体がメモリに収まらない読み取りワークロードです。これには以下のようなワークロードが含まれますが、これらに限定されるものではありません。

  • 読み取りレイテンシの影響を受けやすいワークロード(例: Key-Value ルックアップ)

  • 読み取りスループットの影響を受けやすいワークロード(例: テーブル スキャン)

  • 類似性検索にベクトルを使用する生成 AI ワークロード

データ キャッシュの有効化

Cloud SQL コンソールで、[SQL] > [インスタンスを作成] > [PostgreSQL を選択] に移動し、[データ キャッシュを有効にする] を選択します。データ キャッシュは、gcloud Terraform を使用して有効にすることもできます。

https://storage.googleapis.com/gweb-cloudblog-publish/images/2_brtZh8u.max-1100x1100.png

モニタリング

Cloud SQL for PostgreSQL には、データ キャッシュのオブザーバビリティのために 4 つの新しい指標も含まれています。

  • Data cache quota: データ キャッシュの最大サイズ

  • Data cache used: 使用済みのデータ キャッシュ

  • PostgreSQL data cache hit count: データ キャッシュ ヒットの合計数

  • PostgreSQL data cache miss count: データ キャッシュミスの合計数

読み取り負荷の高いワークロードのパフォーマンス向上

このブログ投稿では、データ キャッシュが読み取りのパフォーマンスを向上させる仕組みを説明しました。データ キャッシュ オペレーションを簡単にモニタリングする方法も紹介しました。Cloud SQL for PostgreSQL データ キャッシュの詳細や利用を開始する方法については、ドキュメントをご覧ください。

ー データベース エンジニア Virender Singla

投稿先