Live data from Hacker News

PlanetScale – Database for Developers

planetscale.com

131–135 of 135 posts

Re: PlanetScale – Database for Developers

#131
post #126

Am I the only finding it extremely light on useful information? And after reading all the comments here those questions are still not answered. Basically a Hosted Vitess with MySQL? Where is DC? Backup included? Redundancy? Spending Cap? Own Infrastructure or on top of other Cloud ? Support Level? Uptime Guarantee? etc etc. All of these are basic info required from a SaaS, and they are missing. Not even a FAQ.

DC seems to be Amazon East-1 based on their status page [https://planetscale.freshstatus.io/].

As for the rest? Very good questions. Just coming out of beta, so perhaps they're still filling out the website.

Re: PlanetScale – Database for Developers

#132
post #56

Really great finally seeing a “serverless” SQL database based on MySQL and Vitess that scales from 0 to n, even with a free tier! Where are you hosted? What latency should we expect from AWS, GCP, DigitalOcean and fly.io? And also what degree of compatibility should we expect with MySQL? The doc is quite sparse on this.

Vitess' compatibility with MySQL has made major leaps in the past couple of versions and the team has started focusing on locking in ongoing compatibility with various popular development frameworks. You can find those here, and more are getting added regularly: https://github.com/planetscale/vitess-framework-testing/ The basics of MySQL compatibility are described in here, though it's important to keep in mind that…

Thanks! Not having window functions and CTEs is a significant limitation for any kind of data analysis. But I guess the main use case is pure OLTP where it is – a bit – less relevant.

Re: PlanetScale – Database for Developers

#133
post #126

Am I the only finding it extremely light on useful information? And after reading all the comments here those questions are still not answered. Basically a Hosted Vitess with MySQL? Where is DC? Backup included? Redundancy? Spending Cap? Own Infrastructure or on top of other Cloud ? Support Level? Uptime Guarantee? etc etc. All of these are basic info required from a SaaS, and they are missing. Not even a FAQ.

DC seems to be Amazon East-1 based on their status page [ https://planetscale.freshstatus.io/ ]. As for the rest? Very good questions. Just coming out of beta, so perhaps they're still filling out the website.

>Just coming out of beta

Thanks for the info on Amazon. I guess I will have to check it out again when they announce it is out of beta.

Re: PlanetScale – Database for Developers

#134

Amy I the only person reading this who doesn’t think that the marketing line in the middle about not managing a schema is super scary? > Developers want the durability, stability, and scalability of a SQL database but do not want to be constrained by managing a schema. It has been our goal to give both, not compromising on the power of your datastore but making changes feel as easy as deploying code. Sorry. There’s a…

There is always a schema, and PlanetScale, in particular, promotes the use of schemas. That is, behind the scenes we operate Vitess, which is an infrastructure and sharding framework on top of MySQL. You will create schemas in PlanetScale just as you would in MySQL. Managing the schema, though: operating schema changes in code and in production, mitigating schema conflicts, scheduling migrations, running online migra…

I’m not sure what to say to that. In the former (database changes belong to a different team), there’s not much that can be helped.

Given the number of people—on HN, no less—who have war stories about having accidentally dropped the production database because of insufficient protections and the desire of many businesses to know that their vendors are following SOC2 and similar safety and security protocols, I completely get that.

In the latter case (availability risk), there’s no sympathy I can provide. Developers need to be aware of what their changes mean. Sometimes this means that you make a separate table. Sometimes it means you have a downtime event which means an overnight deploy. Sometimes it means you have to figure out how to do a zero-downtime series of migrations.

Step 0: make sure you need the migration. Step 1: modify the app to conditionally query or update the new column based on whether the change is present or not, and without requiring a value in the column. (Since it’s not, this will work as an `if false` case for now.) Deploy. Step 2: modify the database to add the column with no constraints (safe and trivial on most SQL databases). Deploy. Step 3: modify the app to start filling in fields that should not be null. (That is, provide constraint validation at the application level; or, if dropping a column, start setting the value to a least damaging value or NULL if you could have made a required field no longer required.) Deploy. Step 4: After some time, run a backfill to fill in new required values (or clear old values) that haven’t been modified yet. If you’ve done this right, it should be a small number. Optionally, do this periodically for small subsets of data. Step 5: Run a final backfill and deploy a schema migration that adds your constraint/drops your column (dropping a column is optional if you’ve got a hard zero downtime requirement; just make sure no one tries to use it and make sure it’s not part of the application schema; schema comments are your friend). Step 6: Deploy a version of the app that doesn’t act conditionally.

Yes, it takes longer. I’ve run migrations this way for the last seven years and we’ve had essentially _no_ downtime because of migrations. I think we’ve had ~4 hours of preventative downtime across ~10 databases in that time. Usually, when we’re ready for the piece that can cause downtime…there’s about a five minute hiccup.

Developers who can’t reason through safe table alterations shouldn’t be making those changes, and PlanetScale is going to make some business people very unhappy when their developer changes something that they didn’t actually understand and causes downtime regardless of PS’s “guarantees”.

Re: PlanetScale – Database for Developers

#135

Earlier quoted context omitted.

It doesn’t solve the N+1 queries problem in a generic way. That is a major hurdle in scaling complexity-wise , which in turn is often deeply coupled with business realities. More to the point, it probably cannot solve it efficiently at all, since it is not a graph database and thus cannot be paired with a generic GraphQL resolver (would generate join queries instead of lookups across edges) and a stack of generated s…

"It doesn’t solve the N+1 queries problem in a generic way." IMHO, this isn't trying to solve people looping queries. The fastest way to solve this is to not loop queries. This solves auto-sharding (well vitness did). See slack architects comment below.

You are misunderstanding the nature of the problem and how it arises in any system that uses multiple entities to represent real-world entities.
Post reply on HN