12 ms·
Cloud Spanner is now production-ready
- theDoug 9y agoOne line summary: “99.999% availability and strong consistency — without compromising latency” (I work at G)
- jfoutz 9y ago5 minutes a year is really impressive.
- MichaelRenor 9y agoEspecially considering that all of AWS database solutions require a 20 minute maintenance window per week!
- acchow 9y agoWhat are they doing during those 20 minutes? Define "maintenance window" - the DB becomes read-only? Or unreachable? This sounds insane to me.
- matt_wulfeck 9y agoNot usually, but it sometimes will go offline for 5 or 10 minutes or more. It fails over essentially.
- ReidZB 9y agoActions that require database downtime/restarts can happen during the maintenance window. For example, if you change a DB parameter that requires a database restart, you can tell AWS to restart the DB during the next maintenance window. Same goes for DB engine upgrades and the like. If you're running anything production-worthy, you'll be using one of AWS's multi-AZ/failover solutions for your production RDS instances. In that case, the database will perform a failover in those instances so there isn't downtime.
- falcolas 9y agoThat depends on the parameter being changed; not all parameter changes are compatible with block level replication. Such as the MySQL InnoDB log file size, something that needs to be changed on every instance.
- snoman 9y ago> In that case, the database will perform a failover in those instances so there isn't downtime. Have you done that? I have and there's been downtime every time (~5m).
- deleted 9y ago[deleted]
- ReidZB 9y agoThat doesn't mean they're unavailable for 20 minutes weekly, probably because of the nature of AWS's multi-AZ RDS setup. At our shop, we haven't had any problems with RDS maintenance at all -- and we would indeed get paged for even 1 minute of database downtime, much less 20 (!). That said, we don't have that sort of monitoring in place for any of the test/staging DBs (which are not multi-AZ).
- BillinghamJ 9y agoThat's a window when they _can_ do maintenance, it's pretty rare for them to actually do it.
- gtirloni 9y agoThe SLA document [0] says 99.95% so perhaps you meant per month? 0 - https://aws.amazon.com/rds/sla/ https://aws.amazon.com/rds/sla/
- MichaelRenor 9y agoYou see the trick here, that's 99.95% outside of their regularly scheduled maintenance!
- gtirloni 9y agoOh! Now I see. I haven't used RDS for anything critical yet but thought it'd be a no-brainer. insert mind expanding gif
- MichaelRenor 9y agoIn practice it works just fine. They just make you give them permission to blow your app up for twenty minutes a week (and wink and say maybe they won't actually do it this week).
- d4rti 9y agoWith respect to SLA's the two important things in my opinion are: * How precisely is it measured? * What happens if it is not met? As observed by the other posters, scheduled maintenance doesn't count.
- Androider 9y agoThe RDS service is literally scripted EC2 instances running MySQL/Postgres/SQL Server etc. Anything you do in the RDS console/API runs (or schedules) scripts on EC2 instances. If you would have downtime on any maintenance of your self-managed DB instance (say, upgrading the DB engine), so will RDS. Some people get disillusioned at this fact, thinking RDS was something more magical. But AWS does offer the Multi-AZ option, which does the maintenance on the standby, fails over, and then performs the same on the main instance. It's effectively transparent. RDS also makes backups, restores (including point in time), encryption using KMS etc. really easy. If you don't have a full-time DBA, RDS provides for a very easy to use DB with virtually no maintenance required, but Multi-AZ is absolutely required for any kind of production deployment. AWS's answer to Cloud Spanner is much more likely to be a future cross-region replicating version of DynamoDB or Aurora, not RDS.
- snoman 9y agoAs far as Multi-AZ is concerned, it's a bit of a wash. A month ago when the east coast had its issues, Multi-AZ didn't do anything. Every time I need to reboot an instance, with failover it is down/inaccessible for the same amount of time as if I had just rebooted it plainly. I'm sure there's scenarios where it's worked well for people, but I've never seen it happen.
- brianwawok 9y agoI see multi region saves many disasters. Multi AZ seems a waste. What percent of failures only hit 1 AZ? Your loss is for sure (higher latency, bandwidth cost).... unclear what the real world gain is of multi AZ.
- theDoug 9y agoI’m in marketing and not here to pump our own tires, but Spanner is /the/ database beneath so much of Google. We trust and rely on it, so it’s very exciting to me to see other big companies who need mission-critical /and/ global scale performance do the same.
- Filligree 9y agoI'd love to use it, but I can't reasonably champion Google's services at work when I'm not allowed to use it for side projects. When is it going to be available for non-companies in Ireland?
- deleted 9y ago[deleted]
- boulos 9y agoIt's about VAT collection. If you sign up and warrant that you do it yourself, you could click the button. However, your note reminded me to kick off a specific email about Ireland as a possibility. Disclosure: I work on Google Cloud, but I'm definitely not a lawyer, tax lawyer, accountant or any such financial type.
- bradleyjg 9y agoIt is, but the details of the SLA aren't that great. https://cloud.google.com/spanner/sla https://cloud.google.com/spanner/sla "'Downtime' means, with respect to any Production-Grade Cloud Spanner Instance, more than a five percent Error Rate for the instance. Downtime is measured based on server side Error Rate. 'Downtime Period' means a period of five consecutive minutes of Downtime with a minimum of 60 requests per minute. Intermittent Downtime for a period of less than five minutes will not be counted towards any Downtime Periods." For monthly downtown between 99.0% and 99.999% the customer is credited with 10% of the monthly bill. The customer is required to track the uptime and request an SLA credit.
- dxhdr 9y ago> Intermittent Downtime for a period of less than five minutes will not be counted towards any Downtime Periods. That's unfortunate. The most frustrating part about cloud services are exactly these kinds intermittent performance and responsiveness issues.
- falcolas 9y agoIt probably won't count network downtime either, since it's measured at the server, not the client. Even if your client is in GAE...
- snoman 9y agoThat's like saying 'the most frustrating part about cloud services is that they use the internet.' You're right, but that's basically 'by-design' as far as the internet is concerned.
- puzzle 9y agoPart of the problem is that computing the downtime at a higher resolution, in a way that scales from low-traffic users (the quoted minimum of 60 requests per minute is also not a coincidence) to very large ones, is not trivial. You have to consider the rate at which the raw data is collected from the replicas ---and the jitter across all of them!-- then the rate at which that data is aggregated, and so on. (The above assumes that Cloud Spanner uses Borgmon for monitoring.) Any hiccups in the collection itself will result in less noise if you look at 5m vs e.g. 1m. You could increase the sampling rate, but then you're making your DB replicas spend more precious cycles on work that is not serving queries or replicating data.
- nailer 9y agoThat really should be in the title of the article.
- gfodor 9y agoSo, 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.
- ethanpil 9y agoMass market support questions: PHP Support? Does it support views and triggers like MySQL/PostgreSQL?
- gtirloni 9y agoIt doesn't seem like those are supported right now. https://cloud.google.com/spanner/docs/data-definition-language https://cloud.google.com/spanner/docs/data-definition-langua... https://cloud.google.com/spanner/docs/reference/libraries https://cloud.google.com/spanner/docs/reference/libraries
- ethanpil 9y agoSame problem with CockroachDB 1.0. Limited views. No triggers.
- grouseway 9y agoPricing starts at $8000/year so you probably don't want to migrate your PHP software over.
- TomNomNom 9y agoWhy? I'm confused as to why using PHP would be relevant to how much it costs.
- alexdumitru 9y agoIt's not relevant at all. People just hate PHP because it's the trend.
- Something1234 9y agoProbably because a lot of the PHP things are down by tightwads who want to spend as little as possible.
- Ygg2 9y agoDon't worry, this is Google, so expect a prices hike of times 700 (all those wonderful millions of dollars per year per project :D ). See: https://medium.com/@contact_16315/firebase-costs-increased-by-7-000-81dc0a27271d https://medium.com/@contact_16315/firebase-costs-increased-b...
- antisocial 9y agoHow does this compare to Apache Cassandra?
- thesandlord 9y agoCassandra is a NoSQL database, so you get horizontal scalability but need to deal with eventual consistency and there is no SQL support. It is similar to Google Bigtable [0]. Spanner is a database that merges the horizontal scalability of a NoSQL database with the strong consistency and SQL semantics of a relational database, basically the best of both worlds. People like to call this type of database "NewSQL." Cassandra is also open source, Spanner is not. CockroachDB is the OSS clone of Spanner, but there are some differences and tradeoffs to be made as with all things. (I work at Google Cloud) [0] https://cloud.google.com/bigtable/ https://cloud.google.com/bigtable/
- antisocial 9y agoThanks, I forgot about the NoSQL part due to tunable consistency. I remembered Cassandra as almost similar to SQL databases with horizontal scalability.
- peterwwillis 9y agotl;dr building an acid database that does everything at scale is hard, but we did it Linked paper: http://delivery.acm.org/10.1145/3060000/3056103/p331-bacon.pdf?ip=70.15.49.220&id=3056103&acc=OA&key=4D4702B0C3E38B35%2E4D4702B0C3E38B35%2E4D4702B0C3E38B35%2E5945DC2EABF3343C&CFID=937247105&CFTOKEN=75904230&__acm__=1494955296_87e3cbe7318ff2fc995cca740d707bdf http://delivery.acm.org/10.1145/3060000/3056103/p331-bacon.p... Useful parts: "Lessons learned and challenges" p. 11. "Conclusions", p.12.
- vmarsy 9y agoYour link doesn't work, it shows "An error occurred while processing your request.". Could you provide a "BibTeX reference" or equivalent?
- manigandham 9y agoThe paper is called: Spanner: Becoming a SQL System ACM link: http://dl.acm.org/citation.cfm?id=3056103&CFID=915581248&CFTOKEN=84632582 http://dl.acm.org/citation.cfm?id=3056103&CFID=915581248&CFT... Discussion from 2 days ago: https://news.ycombinator.com/item?id=14337817 https://news.ycombinator.com/item?id=14337817
- peterwwillis 9y agoI'm curious to see what the real-world implications of this iteration of Spanner are against Calvin-based designs, like FaunaDB. Obviously Calvin is better for low-latency workloads, but I'm curious about the comparison with a mix of workloads, where latency is important but not mission-critical.
- daxorid 9y agoCurrently salivating for a self-hosted version of this. I suppose it's too much to expect that this would ever become a reality.
- fixermark 9y agoIt would probably require your own self-hosted version of Google's cloud infrastructure, so it's unlikely to happen.
- hoschicz 9y agoThis is basically impossible: for strong consistency, you need very accurate clocks. Google installs GPS clocks in its data centers. Also Bigtable, Spanners predecessor, is not open source too.
- cormacrelf 9y agoWell, that's how Spanner's consistency works. CockroachDB uses a hybrid vclock/wall clock solution that's possibly going to be tuneable to just clocks. https://jepsen.io/analyses/cockroachdb-beta-20160829 https://jepsen.io/analyses/cockroachdb-beta-20160829
- atemerev 9y agoEvery GPS chip in every GPS-enabled device includes the clock — by design, it can't work without it. So perhaps it is possible to quickly hack something from a cheap Android phone placed somewhere near the window?
- nickpsecurity 9y agoThat was sams idea I had. I found that SparkFun even had a guide on it: https://www.sparkfun.com/pages/GPS_Guide https://www.sparkfun.com/pages/GPS_Guide
- detaro 9y agoBetter resources: http://www.satsignal.eu/ntp/Raspberry-Pi-NTP.html http://www.satsignal.eu/ntp/Raspberry-Pi-NTP.html https://www.febo.com/cgi-bin/mailman/listinfo/time-nuts https://www.febo.com/cgi-bin/mailman/listinfo/time-nuts (I don't understand a lot discussed there, but many interesting links and info about current deals to be found) There also are differences between the quality of the timing output of different GPS modules, with some being optimized for timing applications (as opposed to location finding)
- justinsaccount 9y agoHave they announced the End Of Life date yet?
- johan_larson 9y agoSince Google uses Spanner in-house extensively, it is likely to be available for a good long time.
- justinsaccount 9y ago> Google uses Spanner in-house extensively True > it is likely to be available for a good long time. Where does this conclusion come from? The google mapreduce paper was released in 2004. [0] "By 2014, Google was no longer using MapReduce as their primary Big Data processing model" [1] The google spanner paper was released in 2012. If spanner lives as long as mapreduce it will be largely replaced in 5 years. [0] https://research.google.com/archive/mapreduce.html https://research.google.com/archive/mapreduce.html [1] http://www.datacenterknowledge.com/archives/2014/06/25/google-dumps-mapreduce-favor-new-hyper-scale-analytics-system/ http://www.datacenterknowledge.com/archives/2014/06/25/googl...
- rrdharan 9y agoIt's true that Map Reduce is no longer the "primary Big Data processing model" for some definition of primary. However, it is still very much available. There are still many important production MapReduce jobs running AIUI. [work at Google]
- wsetchell 9y agoI think you're talking about two different things: "will Google drop support" and "will Google invent something better" Map Reduce is still supported today. Most teams have chosen to move to newer infrastructure because it is better. Nobody forced those teams to move. Here Google has not dropped support, but has invented something better. [Disclaimer - work at Google, but not on anything related to Cloud]
- hackjam600 9y ago+ University grades changing + Facebook hack + Email interception hack + Email accounts hack + Grade Changes hack + Website crashed hack + Word Press Blogs hack + Retrieval of lost file/documents + Erase criminal records hack + Databases hack + Sales of Dumps cards of all kinds + Untraceable Ip + Bank accounts hack + Individual computers hack + Websites hack + Control devices remotely hack + Burner Numbers hack + Verified Paypal Accounts hack + Any social media account hack + Android & iPhone Hack + server crashed hack + Text message interception hack + Twitters hack + Skype hack + Credit cards hacker + We can drop money into bank accounts. + credit score hack + blank credit card sale + Hack and use Credit Card to shop online + Monitor any phone and email address + Tap into anybody's call and monitor their conversation CONTACT:hackjam600@gmail.com
- _jcwu 9y agoIt appears to be very expensive. I used their calculator and it says using 1 spanning node and 1GB of storage is about $657 a month.
- forgot-my-pw 9y agoYup, but cost is relative to the problem you're trying to solve. When your app needs horizontal scaling DB with multiple regions, and you don't have to come up with your own sharding solution, suddenly $8000 a year sounds like a great price.
- erikpukinskis 9y agoGeneral computer science-y kind of software philosophy question: Should we really be thinking of sharding as something you can outsource to the infrastructure layer? It just seems like having a stance about how the data in your specific domain naturally shards is probably going to pay off not even the long run, but immediately in terms of sanity checking your information architecture. And I wonder if in 2017 we haven't gotten to the point where a cloud application should just shard, because we're trying to think about software as something that runs on a transient instance with access to a subset of data, appearing and reappearing, not a giant box with everything on it. I get that Google engineers are darn close to abstracting away that "giant box with everything on it" behind an API, but I guess I'm asking if that's really how we should be thinking about our code.
- degenerate 9y agoI agree with your line of thinking. But at really big companies with hundreds of small teams, all working on separate projects, when the boss says to hook all that stuff together I'm sure a solution like Spanner looks really delicious and cost-effective. For you and me working with data we already understand and added to our project piece by piece, we can safely shard and compartmentalize.
- scott00 9y agoAs with basically all software design questions, the answer is "it depends". Writing a LOB app with 4 expected users all located in the same location, and expected storage requirements of a gigabyte a year? Go with a traditional DB, add replication if you need high availability, make and test your backups, done. Writing the new Facebook weknoweverything app that captures smartphone audio and video continuously for all users at all times, automatically transcribes all conversations and produces AI-driven summaries of all video, all of which are saved forever and highly searchable? You're going to need a highly customized data storage architecture to have a prayer of keeping up with that data. Somewhere in between? Some of those are good candidates for Spanner. Some aren't.
- makmanalp 9y agoI think people calling this expensive are missing the point - the main use case for this is large organizations that truly need to scale globally, at which point you'd probably sink many times the money to have that problem magically solved for you.
- nickpsecurity 9y agoNot to mention Spanner was first to pull off this combo of performance, consistency, and availability. The others claiming similar things are one pulled off market and one just beginning (unproven). It's not just cost: they're either going to have to clone Spanner with clean-slate project, exhaustively analyze/test CochroachDB to see if it's mission-ready, or invent their own magic that does what most DB vendors couldnt pull off. They'd be spending a lot of money on something that would likely crash and burn when all the odd errors hit it. Most enterprises that have to maintain global consistency are better off with Spanner. I doubt there's many, though, that really need that vs splitting stuff into locales that are consistent in a smaller, geographical area that allows regular, DB clusters.
- xj9 9y agobetter off using non-free software for mission-critical services it may be true that spanner is currently better than any free software option, but you are much better off contributing to a free software project that solves this problem than paying google to keep developing their non-free alternative.
- nickpsecurity 9y agoFOSS and commercial sector tried and failed to do stuff like that for over a decade. I agree developing it is better in the long term but most don't have the skill to solve that problem. Better to buy a proven solution, make sure you can exit it (not sure what Spanner is like here), and switch if a FOSS solution emerges.
- jbergens 9y agoIf they don't need sql they could try CosmosDb from MS. It's not proven outside MS yet either but I do have more faith in their testing than in most open source solutions.
- iamneal 9y agoMy company has been migrating to spanner, and we are starting to get pretty familiar with it. We started building a golang sql driver for spanner, and protoc plugin for generating a persistence layer for spanner. https://github.com/tcncloud/protoc-gen-persist https://github.com/tcncloud/protoc-gen-persist https://github.com/tcncloud/sqlspanner https://github.com/tcncloud/sqlspanner Both are pretty new projects, and we ran into a snag with the sql driver when it came time to implement delete statements, but both are pretty cool, and we would love contributors!
- deleted 9y ago[deleted]
- kidsil 9y agoIf the pricing is predictable enough, it could be the missing piece of a fully serverless application.
- Narkov 9y agoI can't find any information on how you manage backups? Can I restore to a point in time?
- deleted 9y ago[deleted]
- manigandham 9y agoAny rough timeline on when multiple regions will be available? Looking at Cosmos DB for (at least readonly) regional distribution for this now as well as the other options like scylla/cockroachdb/tidb.
- oxplot 9y agoMy problem with this is how it's priced. Why am I paying for instance hours when I don't have/need instance access. I would have thought it'd be priced like Datastore per GB used and API calls made. As it sits right now, it's fairly expensive.
- bbass 9y agoAs a heavy user of datastore, i'm glad the pricing model is around instances and data stored. Paying for reads and writes makes doing any sort of migrations or map reduce jobs extremely expensive.
- all_blue_chucks 9y agoThe bottleneck likely isn't I/O. My guess is it's RAM. RAM ain't cheap.
- manigandham 9y agoThey aren't actual VM instances, just blocks of compute and storage. BigTable is priced the same way. At the scale they're targeting, it makes sense, especially for large companies who will gladly pay for the reduced complexity and easy scaling while removing all the operational overhead and cost of other solutions that don't come close to this.
- oxplot 9y agoFor those interested, Cockroach DB whose version one stable just got released lately, is taking the same approach as Spanner and is open source. In fact, it was started by a few folks from Google who worked on Spanner and other related tech.
- richdougherty 9y agoI know Spanner uses atomic clocks to get tight time bounds on transactions. Since CockroachDB doesn't use atomic clocks they have to use a slightly different approach: "While Spanner provides linearizability, CockroachDB’s external consistency guarantee is by default only serializability, though with some features that can help bridge the gap in practice." "A simple statement of the contrast between Spanner and CockroachDB would be: Spanner always waits on writes for a short interval, whereas CockroachDB sometimes waits on reads for a longer interval." https://www.cockroachlabs.com/blog/living-without-atomic-clocks/ https://www.cockroachlabs.com/blog/living-without-atomic-clo...
- all_blue_chucks 9y ago> it was started by a few folks from Google who worked on Spanner and other related tech Patent lawsuit waiting to happen? SCO Linux all over again?
- puzzle 9y agoNo, they worked on Colossus, aka GFS2, which Spanner uses to store data.
- perrohunter 9y agoCloud spanner gets me super exited, I wish they would show more details about its design and architecture.
- stygiansonic 9y agoMore information about Spanner itself, the globally-synchronized clock it uses and its relation to the CAP theorem: (By Brewer himself) https://research.google.com/pubs/pub45855.html https://research.google.com/pubs/pub45855.html