Zero Data loss for Cloud Spanner (Active/Active)?

Hi there,

Please, can I have Cloud Spanner as a Global Database (Active/Active) and be sure data will not be lost (after the ACK from Spanner)?

If that's the case, DR + Serverless architecture can be made easier, quicker, cheaper and transparent.

I would appreciate any help/tip.

Thanks

0 3 754
3 REPLIES 3

Hi,

Cloud Spanner is not global; and is regional/multi-regional with 99.999% availability[1] (SLA). However Cloud Spanner optimizes performance by automatically sharding the data based on request load and size of the data. Since I am not familiar with your business and your use-case I recommend to take a look at this public documentation[2,3], explaining and comparing different Google Cloud databases.


[1] https://cloud.google.com/spanner#key-features
[2] https://cloud.google.com/products/databases
[3] https://cloud.google.com/blog/topics/developers-practitioners/your-google-cloud-database-options-exp...

Hi @jfbaro can you elaborate on what you mean by "Global Database (Active/Active)" and share some details on how it will be used? Spanner is ACID compliant so committed transactions are durable. Disaster recovery (DR) options will differ depending on what you want to protect against. At the minimum, the instance is protected against local hardware or zone level failures. It only becomes unavailable if there is a region-wide failure but that's availability. Durability of committed data is unaffected. Multi-region Spanner is intended to mitigate that. If you can share details on your DR requirements, we can help get you on the right path.

Sorry that my question was not clear.  My bad!

Let's say that we have Cloud Spanner running in two different regions (Canada and US, for instance). ON top of this database, we could have a Serverless architecture (Functions, PubSub, API GW) also running in 2 different regions.

Customers located in Canada would be directed to servers (Cloud Functions) in Canada Region, and customers in the US would be routed to servers (Cloud Functions) in the US.

Ideally, it shouldn't matter if users access our services from Canada or the US, as long the state (Database) is fully synchronized (ACID) between two regions. So if one of the regions goes down, we could only redirect ALL customers to a single region, and everything would still be working. No data loss during the "failover," as Spanner would ensure that DATA is synched between two regions. The scalability on the computing side would be handled by Serverless Architecture automatically. I still have some concerns regarding async data (like messages), but as a general strategy, that would be reliable and cheap (considering the level of availability and performance).

Thanks

Thanks for helping!