CloudSQL Editions

Alistair Grew
Appsbroker CTS Google Cloud Tech Blog
6 min readJul 14, 2023

Following BigQuery’s lead, CloudSQL now gets the Editions treatment…

Source: https://cloud.google.com/blog/products/databases/announcing-the-cloud-sql-enterprise-plus-edition-for-mysql-and-postgresql

Introduction

This week, Google announced that following BigQuery, CloudSQL is also getting the editions treatment. This gives customers a further choice when selecting a database for their workload in GCP. For those unfamiliar with the current options Priyanka Vergadia’s excellent sketchnote is probably my initial suggested starting point:

Source: https://cloud.google.com/blog/topics/developers-practitioners/your-google-cloud-database-options-explained

Focusing on the relational options you can currently have CloudSQL, split into MySQL, PostgreSQL, and SQL Server flavours, AlloyDB for supercharged PostgreSQL, Spanner for absolute availability and consistency, and Oracle Bare Metal for those who have to run Oracle.

So what are CloudSQL Editions?

To quote the documentation:

  • Cloud SQL Enterprise edition: provides all core capabilities of Cloud SQL and is suitable for applications requiring a balance of performance, availability, and cost.
  • Cloud SQL Enterprise Plus edition: provides the best performance and availability to run applications requiring the highest level of availability and performance in addition to the capabilities of the Cloud SQL Enterprise edition.

But what does this actually mean in practice? Well, Google has helpfully summarised the core differences into a table:

Source: https://cloud.google.com/sql/docs/editions-intro

The first thing to point out is that if you are running the SQL Server flavour of CloudSQL Editions isn’t (at the time of writing at least!) for you. Further to this, if you want to run Enterprise Plus you must be running MySQL 8.0 or PostgreSQL 14 or 15.

The second thing to point out is the following:

Source: https://cloud.google.com/sql/docs/editions-intro

So this means that everyone running a MySQL or PostgreSQL CloudSQL instance has been automatically moved into Enterprise Edition which gives the exact same experience as before.

What are the benefits of Enterprise Plus?

The main benefits that I can see are an upgrade to the availability SLA. Previously Google only offered a 99.95% SLA (confirmed with wayback machine) for CloudSQL but Enterprise Plus has increased this to 99.99% (in HA mode) in part by reducing the maintenance downtime from sub-60 seconds to sub-10 seconds.

Performance is also optimised by utilising a performance orientated compute engine instance type in the background with an updated core:memory ratio and the possibility for larger instances. Though it does strike me as odd that the ’N’ family is mentioned rather than ‘C3’ for example. One further thing is the ability to use a ‘Data cache’ for MySQL workloads only, under the hood, this attaches a ‘Local SSD’ (which has been available for a while in GCE) effectively to act as an additional buffer between RAM and ‘conventional’ persistent SSD, the performance for this is also available (I have assumed Google have opted for NVME rather than iSCSI interconnect):

Source: https://cloud.google.com/compute/docs/disks/local-ssd#nvme

From a data protection perspective, PostgreSQL also now has the ability to extend its point in time history as far back as 35 days which is useful, though hopefully not something frequently required.

Is Enterprise Plus worth it?

So Enterprise Plus is approximately 20-30% more expensive on a vCPU or Memory basis. To break this down further below is a table detailing price differences in my closest region of London.

Source: https://cloud.google.com/sql/pricing

I think it is also worth noting that as mentioned before Enterprise Plus has a different core:memory ratio as well further increasing costs as Enterprise Plus instances are of preconfigured sizes whereas Enterprise still allows custom sizes (within specific ratios).

Enterprise Plus Machine Configurations
Enterprise Machine Configurations, the shown custom size is the max currently allowed.

Undoubtedly every organisation will need to assess if this extra cost is worthwhile for their specific workload. But personally, I think for critical MySQL workloads Enterprise Plus offers a good proposition with it’s improved availability and optimised performance including the data cache. For PostgreSQL, though I think the picture isn’t as clear, and that is because of the existence of AlloyDB.

CloudSQL Enterprise Plus (PostgreSQL) vs AlloyDB

I am not going to go into massive detail about what makes AlloyDB different from CloudSQL but probably the biggest difference is that it runs above Google’s distributed filesystem with a custom storage engine.

Source:https://cloud.google.com/blog/products/databases/alloydb-for-postgresql-intelligent-scalable-storage

AlloyDB offers considerably faster performance (at least in some workloads) than ‘traditional’ PostgreSQL and matches the 99.99% SLA of Enterprise Plus. It is however more expensive than Enterprise Plus Edition by about 10–20% using on-demand pricing. As CloudSQL supports CUDs and AlloyDB (at the time of writing) doesn’t this premium could get wider if you are willing to commit for a long period of time.

Source: https://cloud.google.com/alloydb/pricing

This does make me wonder though if CloudSQL Enterprise Plus is potentially at risk of cutting into the bottom of AlloyDB’s market. Though a lot of the talk and market positioning I see for AlloyDB is to largely replace Oracle and SQL Server workloads.

Ultimately though the choice between CloudSQL Enterprise Plus and AlloyDB will depend on your particular workload and if any potential benefit justifies the cost.

Database Migration Assessment Tool

Whilst I mention replacing Oracle and SQL Server workloads. I recently demoed an open-source Migration Assessment Tool Google has developed to help customers with Oracle and SQL Server workloads make more informed choices as to potential target databases in Google Cloud. Which at least to me as a non-DBA looks to be potentially very helpful.

Wrapping Up

In all, I think CloudSQL Enterprise Plus is an interesting and worthwhile development, especially in the seemingly lesser-loved MySQL space. In the PostgreSQL space, it seems to sit fairly nicely between what is now termed ‘Enterprise’ CloudSQL and AlloyDB. Ultimately I will be watching with interest to see anyone who attempts to benchmark these solutions with real-world workloads. But until next time, keep it Googley :)

About CTS

CTS is the largest dedicated Google Cloud practice in Europe and one of the world’s leading Google Cloud experts, winning 2020 Google Partner of the Year Awards for both Workspace and GCP.

We offer a unique full stack Google Cloud solution for businesses, encompassing cloud migration and infrastructure modernisation. Our data practice focuses on analysis and visualisation, providing industry specific solutions for; Retail, Financial Services, Media and Entertainment.

We’re building talented teams ready to change the world using Google technologies. So if you’re passionate, curious and keen to get stuck in — take a look at our Careers Page and join us for the ride!

--

--

Alistair Grew
Appsbroker CTS Google Cloud Tech Blog

GCP Architect based in the Manchester (UK) area. Thoughts here are my own and don’t necessarily represent my employer.