0

We are evaluating the AlloyDB service and don't really understand how updates/patches are rolled out.

Basically there are two scenarios: Primary instance update: What happens when the primary instance is updated? Will there be a restart or downtime?

Read-Pool update: What happens when an update is rolled out in a read pool. Is there a downtime of the whole read pool or is one read node after the other restarted?

Thank you very much!

When changing the machine type of the primary instance, I unfortunately noticed that there is a downtime of about 15 minutes.

  • The downtime of 15 minutes...are you sure it was down? The upgrade may take 15 minutes to finish, but the d/b is available during that 15 minutes. – Gabe Weiss Apr 19 '23 at 19:29

1 Answers1

0

Alloydb is an enterprise grade database with 99.99% uptime SLA, including update/patches.

To commit that high availability, there is a condition: there is at least a primary and a fail over instance in the same time.

That's why, when there is a maintenance, the failover instance is patched, then it is promoted as primary, (and the primary as failover) and the new failover is patched.

There is only a very short downtime for the upgrade (about 10s, thank Gabe), maybe some writes/transactions lost during the switch (failover promoted, master instance down). And more if there is an outage during the maintenance windows (no luck! but it could happen!) -> because there is no longer failover available during the maintenance.


To better understand, look at this schema extracted from this video

enter image description here

There is no attachement of the storage to the engine. That's why it's very fast to switch from one instance to the other one on the persistent data. Only the "in progress" transaction are impacted.

guillaume blaquiere
  • 66,369
  • 2
  • 47
  • 76
  • "There is no downtime for the upgrade" That's not TOTALLY true. The primary instance will have ~10 seconds of downtime, and zero downtime for the read pools, although any active transactions may be cancelled at the moment the cutover happens. Similar to the maintenance windows when they happen, same deal if an upgrade occurred during maintenance. – Gabe Weiss Apr 19 '23 at 22:52
  • Write transactions get killed? I always thought that the Connections would be closed and the Write transactions still in progress would be completed. And the client has to wait with his transactions until he can connect again to a WRite instance. – Richard Jentzsch Apr 20 '23 at 07:24
  • All transactions will get killed at that moment of cutover. I'm not talking about when you start the update, but at the moment of cutover to the updated instance. It has to. Otherwise, what if a write would take an hour to complete? You'd be stuck in a state where no new connections can be made until the transaction finishes. That would wreck SLAs. – Gabe Weiss May 01 '23 at 19:10