このページでは、データ キャッシュの概要、データ キャッシュを有効にするワークロードの選択に関する推奨事項、データ キャッシュの使用に関する制限事項について説明します。
データ キャッシュは、データページを高速ローカル SSD(ソリッド ステート ドライブ)に格納してクエリ処理を高速化するオプション機能です。データ キャッシュは、メモリとローカル SSD の両方を使用するように MySQL バッファプールを拡張します。
データ キャッシュは、インスタンスの作成時に有効にできます。既存のインスタンスでデータ キャッシュを有効または無効にすることもできます。ダウンタイムはほぼゼロです。インスタンスのデータ キャッシュ設定を変更するには、インスタンスを編集するとインスタンスの設定をご覧ください。
インスタンスでデータ キャッシュを有効にすると、Cloud SQL は次の方法で読み取りと書き込みのリクエストを処理します。
読み取りリクエスト: Cloud SQL は、メインメモリからデータの読み取りを優先し、その後にデータ キャッシュ、次にインスタンスのストレージを優先します。 これにより、読み取りオペレーションを可能な限り低いレイテンシで処理できます。
書き込みリクエスト: Cloud SQL は、データをインスタンスのストレージに commit し、同時にデータ キャッシュに書き込みます。
推奨事項
データ キャッシュは、特定のワークロード タイプのパフォーマンス上のメリットを提供します。 次のワークロード タイプでは、データ キャッシュを有効にすることをおすすめします。
- 作業データセットがメインメモリに収まらないワークロード。
データ キャッシュを使用すると、作業データセット全体がインスタンスのメインメモリに収まりきらないときに、パフォーマンスを最大限に高めることができます。 このシナリオでは、Cloud SQL は作業データセットをメインメモリとデータ キャッシュに保存します。 通常、作業データセットは完全なデータセットよりも小さくなります。
- 16 個以上の vCPU を持つワークロード。
通常、vCPU が 16 個以上のワークロードでは、データ キャッシュを使用するとパフォーマンス上のメリットが高くなります。
- 書き込みオペレーションよりも読み取りオペレーションが多いワークロード。
データ キャッシュは、主に読み取りオペレーションで構成されるワークロードに使用します。
制限事項
- データ キャッシュがいっぱいになると、最も長く使用されていない分析結果に基づいて保存されたデータが削除され、後続のデータ キャッシュの更新が処理されます。
- ユーザーまたはシステムがトリガーしたシャットダウンまたは再起動が発生する場合は、再起動時にデータ キャッシュの内容を利用できます。ただし、プライマリ インスタンスでメンテナンスが実行されるか、フェイルオーバー オペレーションなどで予期しないシャットダウンが発生すると、データ キャッシュの内容は失われます。これにより、データ キャッシュが再入力されている間、パフォーマンスが低下する可能性があります。