News for hackers. Stuff that matters.
Re:Introducing Cloud Spanner, a Global Database Service by sudhirj on Tuesday February 14, 2017 @01:42PM (#13645950)
For those trying to compare this with AWS Aurora, Aurora is more a regular database (MySQL / Postgres) engine with a custom data storage plugin that's AWS/ELB/SSD/EFS-aware. Because of this the database engine can make AWS specific decisions and optimizations that greatly boost performance. It supports master-master replication in the same region, master-slave across regions.

Global Spanner looks like a different beast, though. It looks like Google has configured a database for master-master(-master?) replication, across regions and even continents. They seem to be pulling it off by running only their own fiber, each master being a paxos cluster itself, GPS, atomic clocks and lot of other whiz-bangery.

Re:Introducing Cloud Spanner, a Global Database Service by sudhirj on Tuesday February 14, 2017 @01:46PM (#13645987)
From the technical blog post

> Does this mean that Spanner is a CA system as defined by CAP? The short answer is “no” technically, but “yes” in effect and its users can and do assume CA. The purist answer is “no” because partitions can happen and in fact have happened at Google, and during some partitions, Spanner chooses C and forfeits A. It is technically a CP system. However, no system provides 100% availability, so the pragmatic question is whether or not Spanner delivers availability that is so high that most users don't worry about its outages. For example, given there are many sources of outages for an application, if Spanner is an insignificant contributor to its downtime, then users are correct to not worry about it.

Basically, the underlying system is CP, but A is so high (because of the custom fiber, paxos etc) that they're rounding it off to 100% and calling it CAP.

Re:Introducing Cloud Spanner, a Global Database Service by zzzcpan on Tuesday February 14, 2017 @01:49PM (#13646008)
Except that A in CAP has nothing to do with overall system's availability over time and using it as such is just confusing.
Re:Introducing Cloud Spanner, a Global Database Service by sudhirj on Tuesday February 14, 2017 @02:08PM (#13646165)
But it makes sense in this case. The system guarantees CP. But as customer it looks like you're getting CA as well, because A is so high. If you drink the kool-aid, you get C & A & P.

The kool-aid isn't too bad, though if they can measurably guarantee A > 99.999999%, I'm happy to round off to 100% and call it CAP.

Re:Introducing Cloud Spanner, a Global Database Service by thesandlord on Tuesday February 14, 2017 @02:26PM (#13646332)
The availability is "only" 99.999%, which IMO is still really high!

(I work for Google Cloud)

Re:Introducing Cloud Spanner, a Global Database Service by lallysingh on Tuesday February 14, 2017 @04:23PM (#13647324)
https://uptime.is/99.999 puts that at:

Daily: 0.9s

Weekly: 6.0s

Monthly: 26.3s

Yearly: 5m 15.6s

Re:Introducing Cloud Spanner, a Global Database Service by the_cap_theorem on Wednesday February 15, 2017 @07:21AM (#13651480)
Where does it say that? Does google cloud spanner guarantee three nines uptime?

On the spanner page it says:

>> This feature is not covered by any SLA

;) ;)

Re:Introducing Cloud Spanner, a Global Database Service by thesandlord on Wednesday February 15, 2017 @11:45AM (#13653306)
Once Cloud Spanner leaves beta, it will be covered by an SLA. GCP Alpha/Beta products don't have SLAs for the most part.
Re:Introducing Cloud Spanner, a Global Database Service by takeda on Tuesday February 14, 2017 @02:02PM (#13646118)
So essentially a marketing buzz. "It's always available because we spent a lot of money to make it available"

CAP is about how the system deals with partitions not whether it has partitions or not.

Re:Introducing Cloud Spanner, a Global Database Service by parasubvert on Tuesday February 14, 2017 @09:23PM (#13649202)
The person who wrote this "marketing buzz" is Eric Brewer, who was the originator of the CAP theorem in the first place. I think he knows what it was about :)
Re:Introducing Cloud Spanner, a Global Database Service by the_cap_theorem on Wednesday February 15, 2017 @07:15AM (#13651452)
See my other comment in this thread on how they still used misleading language in their marketing, regardless of who the author is.

Don't fall for these PR tricks. Hiring thought leaders/influencers is one that should be easy to spot. Best to judge claims on their own merit and not by the person that speaks them....

Re:Introducing Cloud Spanner, a Global Database Service by parasubvert on Wednesday February 15, 2017 @10:36AM (#13652676)
What am I supposed to think about someone who creates a throwaway account called "the_cap_theorem"? You look like a competitor that's freaking out and throwing FUD.

I don't think Eric's words were misleading. People will judge Cloud Spanner on its own merit, but given the reputation Eric has both academically and professionally, I think Cloud Spanner is deserving of attention, and is not a "PR trick".

Re:Introducing Cloud Spanner, a Global Database Service by takeda on Thursday February 16, 2017 @03:30PM (#13663296)
I don't care who Eric is, it is still misleading. He knows he is providing misinformation and he tries to cover his a__ by adding that technically it is a CP system, when a partition happens. And that's what matters.

Saying it is CA because Google threw some money to reduce chances of a partition happening is very misleading. By that definition you could take any RDBMS and claim that is CA because with enough money you can make sure hardware won't fail. It defeats the purpose what CAP is being used for, which is telling us how the system will behave when partition does happen. It defeats the purpose what Aphyr was doing with his Jepsen tests which observe how given storage solution behave when there's a network partition.

The claim that Eric Brewer wrote regarding Spanner reduces makes him lose him credibility to me at least. It almost feels like he was hired by Google, just so he could claim that.

Re:Introducing Cloud Spanner, a Global Database Service by parasubvert on Thursday February 16, 2017 @08:50PM (#13665289)
I think you've somewhere lost the plot of what Google has achieved here, and in no way does it detract from running Spanner against Jepsen.

Google is claiming they've built a geographically distributed CP system with linearizability and 99.999% global availability. They haven't defeated CAP because A is about total availability in the face of network failures. But for most practical purposes they've achieved exactly what most people want in their database. Consistent and mostly available except perhaps 30 seconds a year. That is why it is completely acceptable for Eric to say this is a "effectively" a CA system.

Eric was hired to help BUILD this, not market it.

Aphyr also has no issues with Eric's comments (read Twitter) - Spanner a CP system with better latency due to the use of TrueTime.

Re:Introducing Cloud Spanner, a Global Database Service by rrdharan on Tuesday February 14, 2017 @02:29PM (#13646365)
> Aurora... supports master-master replication in the same region

I don't believe that's true, but I could be mistaken?

(Work at Google, not on Cloud Spanner)

Re:Introducing Cloud Spanner, a Global Database Service by sudhirj on Wednesday February 15, 2017 @04:00AM (#13650677)
Yeah, think you're right there. The exact text is this

> Each 10GB chunk of your database volume is replicated six ways, across three Availability Zones. Amazon Aurora storage is fault-tolerant, transparently handling the loss of up to two copies of data without affecting database write availability and up to three copies without affecting read availability. Amazon Aurora storage is also self-healing. Data blocks and disks are continuously scanned for errors and replaced automatically.

This blurs the lines a bit - the DB engine itself isn't doing the master-master replication, but the underlying storage engine is handling that. Your transactions are effectively running with synchronous replicas as if the system is master-master, but the engine itself is not. So you get the data protection guarantees from a master-master system, but not the availability.

Re:Introducing Cloud Spanner, a Global Database Service by k2xl on Tuesday February 14, 2017 @04:02PM (#13647149)
Aurora only supports single master.