Making 768 servers look like 1

(planetscale.com)

34 points | by hisamafahri 2 hours ago

5 comments

  • zinodaur 1 minute ago
    Sibling post has author answering questions in comments: https://news.ycombinator.com/item?id=48925420
  • drdexebtjl 1 hour ago
    What about sequences? The example shows an auto-incrementing user ID. How’s that possible without contention between all shards? Is the proxy responsible for sequences?

    What about foreign keys? Do they all have to live on the same shard? How do you do distributed transactions?

    On cross-shard reads: how do you do sorting? And cross-shard joins?

    I’d love to be proven wrong, but I suspect the 768 servers look like 1 only on the very surface, and you’ll get wildly different characteristics from cross-shard and single-shard queries.

    I personally would prefer if they _didn’t_ look like 1 if they can’t behave like 1.

  • alightsoul 1 hour ago
    Load balancers, microservices and horizontal scaling?
  • jdw64 1 hour ago
    Looks like the GIF is fully built out in code. It's really nice to look at, well made, and easy to understand too. I wonder what program or code they used. I'd love to know.

    p.sI thought it was a GIF, but it's an iframe. That was a nice little surprise.

    • gurjeet 1 hour ago
      Specifically, it's an JS-controlled/animated SVG embedded in an iframe.
      • jdw64 1 hour ago
        Yeah, I'm looking at it in developer mode. It's using a GSAP timeline approach to update SVG properties. I'm curious how they handle security and caching for something like this. It looks like they're using Tailwind, at least. but this approach is really clean and nice.

        It really feels like the best way to learn is by studying other people's code.

  • aarvin_roshin 1 hour ago