This page provides an overview of data cache and recommendations for the workloads that work best when data cache is enabled. This page also lists the limitations of data cache.
Data cache is an optional feature that stores data pages on high-speed local solid state drives (SSD) to accelerate query processing. Data cache extends the MySQL buffer pool to use both the memory and the local SSD. By default, data cache is enabled automatically when you create a Cloud SQL Enterprise Plus edition instance. If you upgrade an Cloud SQL Enterprise edition instance to Cloud SQL Enterprise Plus edition, then data cache is enabled automatically.
If you don't want to use data cache, then you can disable data cache when you create the Cloud SQL Enterprise Plus edition instance or when you upgrade an Cloud SQL Enterprise edition instance to Cloud SQL Enterprise Plus edition. You can disable data cache for an existing Cloud SQL Enterprise Plus edition instance with near-zero downtime. To change the data cache setting on your instance, see edit an instance and instance settings.
For instances that have data cache enabled, Cloud SQL processes read and write requests in the following manner:
Read request: Cloud SQL prioritizes reading data from the main memory, followed by the data cache, and then the instance's storage. This allows for the read operations to be processed with the lowest possible latency.
Write request: Cloud SQL commits the data to the instance's storage and simultaneously writes it to the data cache.
Recommendations
Data cache provides performance benefits for certain workload types. We recommend that you enable data cache for the following workload types:
- Workloads where the working dataset doesn't fit in the main memory.
Using a data cache delivers maximum performance benefits when the entire working dataset can't fit in the instance's main memory. In this scenario, Cloud SQL stores the working dataset in the main memory and the data cache. The working dataset is generally smaller than the full dataset.
- Workloads with 16 or more vCPUs.
Using a data cache generally provides more performance benefits for workloads with 16 or more vCPUs.
- Workloads with more read operations than write operations.
Use a data cache for workloads that are predominantly made up of read operations.
Limitations
- When a data cache becomes full, it removes the stored data based on the least recently used analysis to accommodate subsequent updates to the data cache.
- If there's a user- or system-triggered shutdown or restart, then the contents of the data cache are available on restart. However, if the primary instance performs maintenance or encounters an unexpected shutdown, such as in a failover operation, then the contents of the data cache are lost. This can lead to reduced performance while the data cache is repopulated.