Live data from Hacker News

Introducing Cloud Spanner, a Global Database Service

cloudplatform.googleblog.com

291–300 of 456 posts

Re: Introducing Cloud Spanner, a Global Database Service

#291

Earlier quoted context omitted.

My internet connection is more stable than my computer.

I'm not sure that's widely true. Consider: * Most Internet usage is via smartphone * Computers are much more stable than they used to be * Much of the world lives in places with less stable connections * The most expensive spec in an Internet connection is availability. You can get a low-end 15 Mbps connection with no availability guarantee for $40/month; a T1 is one-tenth the speed and costs 10 times as much (all nu…

You mentioned smartphone. Once your computer dies you can use your smartphone. You can use your neighbours or colleagues computer.

It's only so many heavy industries that definitely need some sort of local infrastructure (probably not master tho) to be locally.

Re: Introducing Cloud Spanner, a Global Database Service

#292
post #194

Earlier quoted context omitted.

What is the monetisation plan? Purely SAAS with on-premise or an open source version with support like postgres/mysql?

The serverless cloud is pay-as-you-go. There is no minimum spend, unlike Spanner's $1000 per month (apparently). And it's cheaper than operating any open source on cloud hardware. On-premises is licensed by core. We have a developer edition you can use on your local machine, but we don't currently have plans to open source FaunaDB itself.

Where did you read that Cloud Spanner has a $1,000 per month minimum spend? I can't seem to find any mention of this.

Re: Introducing Cloud Spanner, a Global Database Service

#293

Congratulations to the Spanner team for becoming part of the Google public cloud! And for those wondering, this is why Oracle wants billions of dollars from Google for "Java Copyright Infringement" because the only growth market for Oracle right now is their hosted database service, and whoops Google has a better one now. It will be interesting if Amazon and Microsoft choose to compete with Google on this service. If…

How is Google's cloud MySQL better than Oracle?

Google Cloud SQL (hosted MySQL) is a completely separate product.

Re: Introducing Cloud Spanner, a Global Database Service

#294
post #285

Earlier quoted context omitted.

I didn't downvote you. It is important to note though that the Spanner project isn't related to MySQL and there is some discussion of that in a the stories around Spanner. It would nominally compete directly with Oracle's flagship database product.

Spanner is related to MySQL at Google: a product with Spanner's semantics was required to replace MySQL for some important business operations ( https://landing.google.com/sre/book/chapters/communication-a... ) it's actually hard to beat MySQL for a lot of things. i was skeptical about this when I joined google, but as an SRE on the MySQL team around this time, I gained a lot of respect for it.

That is an interesting way to look at it; I have wrestled with MDB[1] while working at Google, it was a ginormous MySQL database (possibly one of the world's largest). And I would characterize Spanner's relationship this way, "If you think you are actually going to build an ACID database that scales, then make sure you can support the MySQL api that MDB uses and we'll see just how well it scales."

I don't know if anyone put it to them that way but as Spanner was just getting started when I left I know that one of its success criteria was to be able to be a scalable replacement for MDB. Given the white paper and other papers on their results, I'm sure it managed that requirement.

[1] MDB, Machine Data Base, used throughout the org but especially in Platforms and SRE to keep track of machines and their parts.

Re: Introducing Cloud Spanner, a Global Database Service

#295

Earlier quoted context omitted.

MTBF of 2PC-strapped-to-quorum is no different from MTBF of a 2PC-strapped-to-spof replicas. MTTR is bounded by reelection latency, rather than replica recovery, although you still may eat a write amplification cost for rereplication. write amplification is 3-5x of non-quorum-backed 2PC system, depending on replication ensemble size. google further multiplies write amplification with geo-redundancy, so bump that WA b…

You're making some assumptions. For example if you use epaxos for the quorums there is no unavailability due to a leader failure and re-election. Even then, re-election is likely going to be a lot faster than any sort of fault tolerant 2PC coordinator recovery protocol. You're exaggerating the write amplification. The above offering is single region. Google says they do 5 way geo in their various papers/etc, and ther…

epaxos is not general purpose replication. It leaves the problem of reconciling multiple replication streams to another layer. I've heard that they do 20+WA (distributed, before you consider on-disk WA) for much of it. shrug

Re: Introducing Cloud Spanner, a Global Database Service

#296
post #259

Earlier quoted context omitted.

The parent comment doesn't seem to specify "consumer level" and the loss of businesses having their own infrastructure is equally troubling. Everyone is putting a lot of eggs in a very small number of baskets.

That's like being sad about the emergence of banks, because everybody's money is being kept in a small number of vaults instead of under each one's mattress.

Creating 3 massive banks that the entire world gets to choose from would be terrible.

Re: Introducing Cloud Spanner, a Global Database Service

#297
post #176

Forgive my ignorance, but could someone explain in layman's terms in which situation this would be helpful? E.g. if I have 1TB of data would I use this? If I have 1GB with a growth rate of 25GB/daily would I use this?

The rule of thumb I have always been told is that you can push MySql to ~200 GB total and between 99.9% and 99.99% availability (between 1 and 9 hours of downtime per year). Your milage might vary, but these are probably the right orders of magnitude. There is also an iops limit but that's harder to put a clear limit on because it's workload dependent.

If you need more storage, availability, or iops, the current recommendations are shared relational stored or NoSql.

Sharding relational databases means instead of turning on 1 MySql machine, you turn on 16 MySql machines and store 1/16th of the data on each machine. It only allow queries patterns that can be responded to by a single shard (so if you are only doing queries on a per user basis, your golden, otherwise, not so much) and require that your hottest shards (e.g. most active users) should only be a few orders of magnitude larger than your coldest (Justin Bieber probably needs his own machines at Twitter because he has so many users). There are ways to get around this, but they are tricky and will require a lot of developer time.

With NoSql (riak, cassandra, dynamo, etc.), you have to give up many features that make developers lives easier in order to scale beyond a single machine. Each flavor has it's own set of tradeoffs, but the biggest problem is that you loose (1) committing multiple rows at the same time (atomic commit) and (2) ensuring queries don't overlap (isolation).

Spanner offers an alternative where the developer (for the most part) doesn't have to know that her data lives on multiple different machines. It gives you 99.999% availability and theoretically unlimited scaling to any size, with an API that is still relatively developer friendly (compared with NoSql or Shared Sql). One cost here is latency / performance. You need to write to multiple computers across the world so write speed will be bounded at a minimum by the speed of light between those datacenters.

Short answer, there are a lot of companies that could benefit from a system like this. It could give higher availability to a small Sql dataset or stronger guarantees to a current large NoSql database. There is even an argument to be made that the majority of problems companies face today are best solved with this type of system and relational or NoSql optimized workloads are the exception, not the rule.

Re: Introducing Cloud Spanner, a Global Database Service

#298
post #51

Given that CockrochDB is based on Spanner and F1, this DBaaS sounds like it will compete directly with them.

> Given that CockrochDB is based on Spanner and F1, this DBaaS sounds like it will compete directly with them.

Except that it's not. CockroachDB uses MVCC. Spanner uses 2PL and F1 uses OCC. Not the same at all.

Re: Introducing Cloud Spanner, a Global Database Service

#299

Earlier quoted context omitted.

>well that would be a lot of choice for the developers! A sad choice though. The centralization of computation is likely not a good thing in the long run.

The absolute level of computation available isn't changing at the consumer level. What's happening for the next decade is the destruction of businesses hosting their own IT infrastructure and moving it to a couple of core centers. So, the computational "Gini index" is increasing, but no one is being thrown into computational poverty.

>What's happening for the next decade is the destruction of businesses hosting their own IT infrastructure and moving it to a couple of core centers.

Yes, and this will be disadvantageous over the long run for people that want to run things themselves. Ultimately companies like AMD/Intel go where the big money is at. As things centralize further and further, there will only be 3 customers they care about in the server market.

Re: Introducing Cloud Spanner, a Global Database Service

#300
post #216
post #98

Earlier quoted context omitted.

A CA system is not a system that doesn't have partitions, it's a system that works under the condition that there are no partitions (ie. it is a non-partition-resistant system).

> , it's a system that works under the condition that there are no partitions But that is not a choice with distributed systems, unless as soon as a partition happens the system shuts down immediately. That is it effectively disappears and never re-appears again. But that's not a CA system then? Or saying that it is not partition resistant is also difficult because the system in case of a partition will do _something…

This is a system which is guaranteed to be consistent and available as long as there are no partitions. If there are partitions, the system isn't guaranteed to be either.

Yes, it's a pretty much useless system.

Post reply on HN