8 ms·
So, can someone explain why this isn't the RDBMS holy grail? (serious question)
by gfodor 9y ago
So, can someone explain why this isn't the RDBMS holy grail? (serious question)
- Thaxll 9y agoIt is but it's quiet expensive.
- forgot-my-pw 9y agoIt's the first in the market and pretty groundbreaking tech. Alternatively, you can use CockroachDB, TiDB, or other open source solutions, but you will need to manage your own hardware/cloud.
- kyledrake 9y agoRight. That's the choice cash-strapped startups will make instead of using this. And once they're experts at that particular problem domain, they will figure out how to make their first choice redundant/HA enough that they probably won't need what spanner provides. I used Linux instead of Windows NT as a kid because it was cheaper and ran well on cheaper hardware. Then I became an expert at it. Then it became the OS I used for servers. I've wanted to use spanner for years, but at this point, the longest my production SQL database will ever be down is for less than 2-3 minutes, and it's not worth more than the cost of a rack full of servers and a massive migration effort to theoretically shave off a couple minutes of potential downtime for me. If I'm going to go that route, I would probably just opt for something like DRBD. The way my current infrastructure is set up, it wouldn't add any costs for me to do this.
- Thaxll 9y agoThose are not even close to Cloud Spanner, what make Spanner great is all the Google backend reliability that you don't have to manage.
- aoeusnth1 9y agoYou can run CockroachDB on GCE instances.
- jdhawk 9y agoNo DML Statements prevent quick migrations.
- ReidZB 9y agoIn addition to the other comments, vendor lock-in. My shop is strictly AWS, so...
- chaostheory 9y agoI kind of agree... > including ANSI 2011 SQL support which kind of eases this concern a bit. If Azure Cosmos' marketing emphasized this more, this wouldnt be as big of a concern for it either.
- thesandlord 9y agoThe SQL support is currently for queries only. DML is not supported (yet), so keep that in mind. (I work for Google Cloud) Side note: Cosmos is really confusing to me, it has 5 consistency models, supports 4 different database models (I don't think relational is an option?), multiple different APIs, etc. For example, Azure advertises the p99 latency, but don't specify the consistent model. I'm thinking it's for the eventual consistency, so in that case what's the latency for the strong consistency model? Definitely need to learn more.
- kyrra 9y agohttps://quizlet.com/blog/quizlet-cloud-spanner https://quizlet.com/blog/quizlet-cloud-spanner For lower QPS, normal RDBMS solutions (like mysql) have lower latency than Spanner by a decent amount. But Spanner scales way beyond what MySQL is capable, which is where it starts to shine.
- tylerpachal 9y agoThat was a good article, thanks!
- brandur 9y agoI don't think there's any question at this point that Spanner is really cool. The vast majority of cloud databases out there (even brand-new ones like Azure's Cosmos) are still implicitly trying to convince you that not having ACID transactions is something that won't matter very much, and that scale is by far more important, which isn't true. Google hasn't taken that approach with Spanner, and it's a breath of fresh air. I'd throw one downside out there though: lock in. While queries use standard SQL syntax [1], all write operations are performed via a very non-standard GRPC API [2]. I think the team certainly considered this and weighed the trade offs, but it does mean that after you're on Spanner, you're on Spanner forever. [1] https://cloud.google.com/spanner/docs/query-syntax https://cloud.google.com/spanner/docs/query-syntax [2] https://cloud.google.com/spanner/docs/reference/rpc/ https://cloud.google.com/spanner/docs/reference/rpc/
- boulos 9y agoWe're hoping to add more compatibility layers, but the semantics of reading updates within a transaction are what gave the team pause. If you don't need that semantic, it's relatively straightforward (I assume we'll see this happen either directly by us, or from the community). Disclosure: I work on Google Cloud, but not on Spanner.
- fdsfsafasfdas 9y agoAny chance that Google Cloud will ever expose access to F1?
- boulos 9y agoThe point of the SQL layer now merged into Spanner is so that people don't have to run F1 or something like it on top. I'd expect continual improvements there, especially if enough folks say "I'll move if X"
- fdsfsafasfdas 9y agoWell, the hope would be that it would allow read-write-read sql transactions, which to my understanding will never be implemented in Spanner.
- foobarbazetc 9y agoMassive lock in.
- kyledrake 9y agoIt's too expensive.
- _rk8k 9y agoFor me, this immediately discounts it: > $0.90 per node per hr That's $648/mo in pure overhead. I'm not saying there should be no overhead but it shouldn't be that high. They also optimistically encourage you to try it with a "free" trial. The "free" trial, assuming you haven't used GCP before, gives you $300 credit, which is enough for less than 2 weeks of a single Spanner node. Plus according to https://cloud.google.com/spanner/docs/instance-configuration https://cloud.google.com/spanner/docs/instance-configuration, they recommend a minimum of 3 nodes, or $1800/mo. I know this is targeted at businesses but it'd be nice if we could get smaller "nodes" or something to lower the barrier to entry. You shouldn't have to go straight from nothing to 10k QPS.
- crypto5 9y agoAnd what are the specs for this node? CPU, RAM?
- Veratyr 9y agoThey don't appear to document this, save that they handle 10k QPS read or 2k QPS write and can deal with 2TiB of data. They also recommend that you have 3 of them: https://cloud.google.com/spanner/docs/instance-configuration https://cloud.google.com/spanner/docs/instance-configuration
- oaktowner 9y agoAccording to this article[0] (that someone referenced below): A Cloud Spanner “node” isn't a physical machine, per se. It is an allocation of compute capacity and disk access throughput on a set of machines with access to the storage API. (disclosure: I work at Google Cloud but not on Spanner) [0] https://quizlet.com/blog/quizlet-cloud-spanner https://quizlet.com/blog/quizlet-cloud-spanner
- puzzle 9y agoCloud Bigtable is similar.
- boulos 9y ago
- jlg23 9y agoBecause your locally hosted DB will run circles around it. And for 99.99999% of the shops out there a single, local DB instance is more than enough.
- mentat 9y agoUntil the backup doesn't work or it does but it takes a day to recovery it or whatever. DBs aren't free, ever.
- VikingCoder 9y agoHuh, so even if everyone in the world (7,505,000,582 people) had a shop, your assertion is that there are only 750 shops in the entire world that need more than a single, local DB instance? You may have used too many 9s. 7,505,000,582 - (0.9999999 * 7,505,000,582) = 750.5
- Jgrubb 9y agoAlso possible that it wasn't meant to be taken literally.
- tyingq 9y agoNo SQL insert/update plus hard lock-in via egress charges and now incompatible app changes. Work hard to port your app to get there, work/pay hard to get it out. Technically stunning for sure though.
- nikanj 9y agoBecause it comes equipped with Google's support offering, i.e. "godspeed, and maybe we'll get back to you if your blog post makes it to the front page of a news aggregator". Companies pay real money to have real support from companies such as Microsoft. Look at https://blogs.msdn.microsoft.com/ntdebugging/ https://blogs.msdn.microsoft.com/ntdebugging/ for example, they sink ungodly amounts of resources helping customers debug obscure corner cases.
- manigandham 9y agoAre you an actual paying GCP customer with a support contract? There will always be some cases of bad customer service but our support interactions have always been quick, relevant and helpful.
- deleted 9y ago[deleted]
- nikanj 9y agoAs there's a story like [1] on the front page of HN weekly if not daily, I've done my best to avoid building anything on their platform. To quote [2], "They have no phone number to contact, no way to dispute this other than email — which they have ignored us for over a month now without replying to our continued requests." https://news.ycombinator.com/item?id=14356409 https://news.ycombinator.com/item?id=14356409 https://medium.com/@contact_16315/firebase-costs-increased-by-7-000-81dc0a27271d https://medium.com/@contact_16315/firebase-costs-increased-b...
- dnackoul 9y agoAlso, how does Spanner get around the CAP theorem and similar distributed systems results? It seems like the only tradeoff is monetary at the moment.
- brown9-2 9y agohttps://research.google.com/pubs/pub45855.html https://research.google.com/pubs/pub45855.html
- dnackoul 9y agoThanks!
- manigandham 9y agoThe only important line, which means it's a CP system: > Even then outages will occur, in which case Spanner chooses consistency over availability.
- manigandham 9y agoIt doesnt - they're saying they have such good networking that P is very rare so it's one of the few times you treat it like it's CA. In case P does happen (a network break), it's a CP system.
- pbhowmic 9y agoIt is very good as far disk-based databases go but relational databases have moved to the point of main memory only and NVRAM databases. And that's where the current action really is.
- zzzcpan 9y agoThe simple reason it isn't the RDBMS holy grail is that most project that rely on RDBMSs don't really care about CAP or strong consistency and once at scale the whole RDBMS thing just doesn't matter anymore, but things like latency usually do matter and it does sacrifice latency, despite bold claims of googlers. I think Cockroach suits the RDBMS world much better. It understands that there is little reason to make it scale beyond a small amount of nodes in couple of nearby datacenters, but it does offer a lot compared to pre-CAP databases, meaning that it will be cheaper to operate and with no cloud lock-in risk.
- areefer 9y agoThere are a set of RDBMS use cases that do care about CAP and consistency - specifically applications that need Active-Active or Multi-Master capabilities. These use cases need scale across multiple data centers and low latency transactions. But CockroachDB suffers from worse latency limitations than Spanner since it relies on NTP/hybrid clock to serialize transactions. Disclosure - I work for NuoDB.