Settings

Theme

Neki – Sharded Postgres

planetscale.com

271 points by simon_weber · 162 comments

Reader

33 threads
gk1

Folks, in your launch posts remember to describe what you're launching and what it's for. Ideally in the opening paragraph.

- Intro: Explains problem but not what is Neki or what it's for.

- Why Neki: Explains alternatives and why they suck but not what is Neki or what it's for.

- How does Neki work: Describes the technical components but not what is Neki or what it's for.

- What you get beyond sharding: Explains how to run/deploy but not what is Neki or what it's for.

- What is a platform preview + Try Neki today: 140 words on the definition of "preview" and links to get started... but not what is Neki or what it's for.

Edit: The landing page has 100x more useful information up front -> https://neki.dev/

Edit #2: They've since added a "What is Neki" section. Good reaction time.

  • DrammBA

    Folks, your blog post sucks at marketing.

    Edit: your marketing site actually has excellent marketing information.

    Edit #2: They've since replaced the blog post with a link to the marketing page. Good reaction time.

  • ahoka

    I scrolled through the landing page and even the "Get started" page and I have still no idea what is this. Is this a managed db? Something I can run myself? No idea.

  • dwb

    The landing page which is linked at the start of the second sentence of this page…? I don’t completely disagree with you, but this is mostly hypertext working as intended, is it not?

    • fastball

      Yeah this meta commentary on HN is very confusing for me. The structure of the article is literally

      - short paragraph saying "we launched neki"

      - short paragraph saying why neki was needed

      - paragraphs about what neki is (with a header)

      That seems like a very reasonable structure for a blog post like this one. Not being able to get to the third paragraph of a blog post seems like a "you" problem, not a blog problem.

    • simonw

      Sadly, in 2026, you should never assume anyone will click a link.

      • owebmaster

        If that's what you think, why you keep posting comments linking to your blog?

        If you know that to be true and still add your links everywhere ("helping"), isn't this a spammer's confession?

      • entrope

        Why "sadly"? The person writing a link should provide enough detail for readers to figure out whether they should follow the link. I rolled my eyes the first time I saw this entry on HN because it just said "Neki" and the (generic) target domain name. A two-word description got added, and that makes it interesting instead.

        • simonw

          It's sad because I think links are the best thing about the web, and it's increasingly clear to me that many internet users either misunderstand or actively avoid them.

          Why do people post screenshots of an article on social media instead of linking to it?

          Sometimes ignorance, but often because the web is such a hostile experience these days - paywalls and subscribe banners and cookie warnings and slow pages.

          That's sad.

Atreiden

The top concern I've gotten from dev teams when proposing HA distributed postgres (e.g through RDS Aurora global) is that eventual consistency is not suitable for many workloads.

Does Neki solve for this, and if so how? My understanding of CAP theorem is that this basically requires some compromises around availability, but I'm curious as to what that looks like in practice here.

  • mcpherrinm

    Assuming it works the same way as their MySQL product, Vitess:

    The usual way to run it is that you partition your db based on something like a user, so that single user gets a consistent DB, but anything cross-shard may not be.

    I know when I worked at Block, Cashapp was using Vitess and getting cross-shard DB writes down and functioning correctly was one of the major blockers to adoption. (though I just did tls management for vitess and didn't write any workloads on top of it, so my impression might be a bit off)

    • ronfriedhaber

      Therefore, Consistency guarantees are based on implementing application-specific partitioning (correctly)?

      • osalberger

        The consistency guarentee assuming repeatable read or higher on each shard is parallel snapshot isolation, which is technically still higher than postgres read committed.

        If you have serializable on each shard and you chop transactions so you have no cross shard transactions, the application is technically still serializable, it just behaves like two independent deployments of the application for different shards

      • mcpherrinm

        Yeah. Vitess does have some options for atomic cross-shard commits using an additional database to track two-phase commits, but that's expensive so you probably want to avoid that. https://vitess.io/docs/25.0/reference/features/distributed-t...

  • arrowleaf

    Same here, first thing I need to know when considering a distributed system is how consistency is handled. If it's eventual consistency, what is the replication lag like? If it's strong consistency, can their network handle that? What happens when a node goes down?

fsuts

Kinda ironic that Planetscale built their company on open source Vitess that google built

And now planetscale have made a Vitess like equivalent for Postgres which they have made proprietary

  • hiyer

    They have made it proprietary so that providers like AWS can't build their own service with it, thus eating into PS's income.

    Google is big enough to survive open-sourcing Vitess, k8s, angular, etc. Planetscale isn't.

  • ksec

    >Kinda ironic that Planetscale built their company on open source Vitess that google built

    That Youtube built. I know at the time Youtube was already part of Google but I don't think of Vitess as a Google Stack.

Yannik_Sc

I love the offer which is running on the "PlanetScale Metal".

They claim to provide unlimited IOPS (I/O operations Per Second).

I would like to get some of these drives myself. Sounds like a technical miracle.

On the other hand claiming such miracles makes me wonder which other aspects in this are are actually a working miracle or rather a mythos/false marketing claim.

xyzzy_plugh

I love how the Planetscale CEO has been shitting on multigres[0], Supabase's equivalent to Neki, and gloating about how superior Neki is, and yet Neki is not even open source!

Sam, it feels like you're just playing games. It's hard to take anything you say or do seriously. Are you going to OSS this thing? Or have you decided to backpedal?

Congrats on the checks notes closed launch, I guess?

0: https://github.com/multigres/multigres

  • karlmush

    Every PlanetScale launch seems to come with a side of beef with the competition. Case in point: https://x.com/samlambert/status/2098069474205470970?s=20

    Just launch the product and let it speak for itself. The constant need to take shots at competitors comes across as pretty childish.

    • vincnetas

      Wow, that thread has bro energy maxed out. Is this normal modern way of communicating for top leaders or i'm getting old?

      • tpetry

        Sam is always shitting on others. For years he has been screaming how bad PostgreSQL is compared to MySQL. Until getting silent about this topic for a few months and then launching PostgreSQL support. Seems he had to realize than the market for PostgreSQL is too big to ignore.

      • pm90

        No it isn’t normal, its just this one person. I don’t personally find this language particularly appealing, especially for a serious discussion on technology. But hey, its a free country, they’re a startup and its one way of grabbing the scarcest of resources: attention.

  • samlambert

    How does open source have anything to do with Neki's ability to scale against a service that doesn't even do sharding.

    • margalabargala

      They both are characteristics of software that people consider when deciding whether to use it.

      Open source being by far the more important of the two, since it means the user is more insulated by terrible corporate decisions thus making it more suitable for long term planning.

      • samlambert

        have you ever worked for a customer of AWS? If so you have contributed heavily to the destruction of commercial open source.

        • tvink

          I've never known in a shorter time that a CEO is too defensive to be a business partner faster.

          • therein

            It is the only reason I come to the comments section of PlanetScale posts on HN.

            Their CEO always immediately comes in and makes a fool out of himself. He is what you get when you mix narcissism and being a midwit.

        • margalabargala

          I have not in fact, no, despite working 12 years as an SWE.

          Unlike you, probably, if we're slinging unfounded accusations.

        • xyzzy_plugh

          But your customers are, of course, somehow different? What point are you even trying to make?

          Commerical open source is fine. It's nobody else's fault if you raised too much to make it work sustainably.

          • samlambert

            My customers aren't pretending it's a bad thing that Neki isn't open source.

            • cschmatzler

              A year ago in the initial announcement post you explicitly mentioned open sourcing it.

              > When we are ready we will release Neki as an open source project suitable for running the most demanding Postgres workloads.

              Has this changed?

            • dkgs

              Acknowledging the benifits of keeping a commercial product closed source is one thing, claiming open source has no value is another thing.

              Sad to see this coming from a company that was itself built on the foundation of an open-source project like Vitess.

              • samlambert

                who said open source has no value? I worked at GitHub for 6 years i clearly love open source.

                We maintain Vitess using our company funds. Why are you going after a small company for defending itself against companies like Amazon but not criticizing the reason we have to do this.

                I would love to open source Neki and I have not said we won't.

                • xyzzy_plugh

                  See? You're proving my point. All you do is play games. Are you even capable of engaging without confrontation?

            • xyzzy_plugh

              You've simply chosen not to listen, considering that they've voiced those concerns to me.

        • fwip

          modeling your public relations strategy after matt mullenweg, I see

          • Twirrim

            It's very effective, I'm certainly persuaded to never touch their products.

            A remarkable own goal given that if they'd literally held their tongue, I'd be at worst indifferent.

            • samlambert

              People think comments like this really bother me as if I believe that I've missed out on any dollars at all from you, as if you have the buying power or ability to drive any workloads that would in any way move the needle on my revenue.

              I want to let you know that I have customers that pay PlanetScale millions of dollars and have told me they came to the product because of my Twitter account. So you will never make me feel bad about this.

  • kolanos

    Do they get the same backlash if they went with a source available license similar to MongoDB or Elastic?

hanspagel

I need this for my side project that has zero users, but I wonder if Neki will scale well enough.

  • ehfeng

    have you tried simultaneously vertically and horizontally scaling?

    • hanspagel

      My plan is to automatically boot a new Kubernetes cluster for every db query.

      I wonder how the performance will be, but I can just rewrite everything in Rust.

erulabs

I love to see this but as a heavy Vitess/MySQL user I do fear the split focus from PlanetScale. Hoping to see continued improvements on the Vitess side as well.

Selfish doubts aside, congrats to Planetscale on the launch!

  • imjosh-dev

    don't worry, we still give a lot of love to vitess. at the end of the day they are both databases. the beauty of doing both is we can take learnings from each product and apply it to the other.

dvtkrlbs

Is this going to be open sourced? I thought this was the plan at the start. But ow I am confused.

khy

Man, I was deep into this blog post before I was able to answer the question "what is Neki?".

Tepix

So apparently the neki router uses many parts of Postgres. But is it open source itself?

Apparently not.

  • kelp

    The neki router shares no code with Postgres.

    However we have a whole team working to improve Postgres and we always prefer to contribute those efforts to the Postgres community.

kaycebasques

I am on a 12 Muni right now that is plastered with a Neki ad, and I looked up neki.dev literally 10 mins ago to see what this product is about. Did they time the release of this bus ad with the launch date?

  • kelp

    Bus ads have been running for a little while now. A few billboards around too.

klaussilveira

How does it deal with big tables (8B+ rows)? Does it split the table onto multiple shards or each shard only gets full tables?

ripe

Neki is a sharded Postgres implementation. It introduces one level of indirection between the application and the Postgres shards.

Found this from neki.dev.

  • fastball

    You can also find that in first section of the linked post (after the intro)...

eile23

How are cross-shard joins and transactions handled? Are there query patterns that would require application changes despite using the same drivers and ORM?

  • imjosh-dev

    cross shard joins break down into single shard selects, and are joined in the routers. There are some query patterns that are currently unsupported, but we are working on adding support for them. The biggest thing to keep in mind when running on a sharded database of any kind is decreasing the number of cross shard queries.

devy

How does Neki compare to https://pgdog.dev/?

  • samlambert

    it works and does sharding

    • levkk

      Same here! Except:

      - PgDog is open source

      - It runs anywhere, not just your cloud

      - It's built for Postgres, not a MySQL pivot

      • samlambert

        what does a mysql pivot mean? like literally what do you think we have done here technically that could be considered a mysql pivot?

wewewedxfgdf

Nice work by the marketing department getting two posts on HN front page at same time.

aamederen

The first question came to my mind was, how would this compare against Citus.

  • imjosh-dev

    I actually wrote a bit about this on our blog! https://planetscale.com/blog/the-history-of-postgres-shardin...

    • ahachete

      But it's not really accurate:

      > This adds some undesirable side effects, however. First, the coordinator becomes the bottleneck.

      Apart from being able to use any node as a coordinator (and you can load balance them to avoid having "multiple connection strings), there's a new pattern which effectively allows you to have as many coordinators as you want. They are effectively "data-less" nodes. We have devised and implemented this pattern in StackGres [1].

      > Adding a shard with more resources for a noisy tenant, or many small shards for a wide shard space requires substantial manual configuration of not only the database servers themselves, but wiring them up together with Citus.

      Adding nodes (infrastructure) is what operators solve. In StackGres, adding new nodes means editing one/two characters from your YAML file: the integer number that represents the number of workers that you have.

      Shard rebalancing is fully built-into Citus as a UDF, which you can call (manually or in an automated manner) over Postgres protocol.

      > Managing backups is also external to Citus, so operators still need to build the proper infrastructure

      Agreed, but it's also solved (see distributed backups in StackGres [2]).

      > PgDog is a spiritual successor to PgCat, both of which improve on Citus's architecture substantially.

      Unsubstantiated why. I assume it's because of the assumption that a proxy model is superior than Citus. To which I have to say that Citus model is also a proxy model, where the proxy just happens to be Postgres, which unsurprisingly, speaks Postgres protocol. Sure, there are nuances that we could debate in this area and we can say that Citus is not a "pure proxy", but that doesn't lead to concluding that a proxy model is better --it's arguably not.

      [1]: https://stackgres.io/doc/latest/administration/sharded-clust...

      [2]: https://stackgres.io/doc/latest/administration/sharded-clust...

tjohnell

A C2 level diagram included in the blog post would be helpful. What are the drawbacks to using Neki aside from the obvious (new software has bugs)?

  • arrowleaf

    The first thing I want to know when looking at a distributed system is how consistency is handled, ctrl+f for "consis" on both the blog post and neki.dev has zero hits. So I can only assume it will have eventual consistency with a considerable replica lag for real-time systems.

kamikazechaser

Not even freeware/shareware?

ragall

I see no mention of foreign keys, or any other constraints, across shards. If, as I suspect, they're not implemented, it would still be useful but at the level of Spanner 10 years ago.

  • aabhay

    Cross shard transactions are “coming soon”. So, this is just like having multiple postgres clusters.

    • spongeboi

      Cross shard transactions are supported, but we don't have support for atomic 2pc cross shard transactions, its WIP

      • levkk

        Curious to compare your implementation to ours [1] some day (if you guys open source it).

        [1]: https://docs.pgdog.dev/features/sharding/2pc/

      • ragall

        Are you one of the developers ? If so, you need to add a specific page explaining in detail the guarantees that this gives.

        For example: point 08 says "Assign different tables or workloads to different shard groups" and point 02 says "Split hot shards as workloads grow". How do those interact ? Can a single table be split across multiple shards ? If so don't you need 2pc to enforce primary key constraints ?

        The intro pages just read as AI slop.

vira28

Obviously welcome more tools for Postgres and sharding but it’s a tough hill to climb against the hyper clouds. Best wishes to the team.

  • samlambert

    The largest database to ever run on Aurora MySQL runs on PlanetScale, and the largest database to ever run on Aurora limitless also runs on PlanetScale.

    • OrangeDelonge

      What do you mean? Your comment reads like PlanetScale uses Aurora under the hood, you mean PlanetScale can handle bigger DB’s than Aurora?

      • theanirudh

        He means that they moved from AWS to Planetscale and yes it handles much larger DBs.

  • tedd4u

    We went as far as we could on GCP before PlanetScale. Spanner is amazing but also amazingly expensive. And CloudSQL, also amazing as long as you don’t need write scaling. PlanetScale (Vitess+MySQL plus their branching / deployment and monitoring tools) is just not a combination offered on GCP. And while I didn’t use Aurora, from talking to and exploring AWS it doesn’t really have this combination either.

    • samlambert

      It makes me so happy to hear you had a good experience. Thank you for being a customer.

phoenix24

is this open-sourced?

Hasz

Independent of the product, love the branding design for this page.

xnx

What does this compete with? Google Cloud SQL?

  • jbonatakis

    Multigres is the one that comes to mind

    • kelp

      Once they implement sharding...

      • jbonatakis

        Yet. But it’s built by the guy who created Vitess and cofounded PlanetScale, so while it doesn’t have sharding implemented at the moment I think it would be foolish to discount it. Plus it’s open source.

        • kelp

          The PlanetScale team spent years improving Vitess with lessons learned from many different high scale customer workloads. We continue to invest in and improve Vitess. It's a substantial and growing part of our business.

          Vitess today is not the Vitess of 2021. About 70% of the current codebase was written in the last five years, based on lessons we learned running it at scale.

          Neki is built for Postgres from the ground up, by the engineers who did that work.

          On the Multigres comparison, I'll admit we get a bit salty, mostly because "Vitess for Postgres" invites the comparison. But to date there's no public evidence of a working sharding implementation in Multigres. Their sharding design doc landed this week, and it lists cross-shard query planning and resharding execution as explicitly out of scope.

          Neki does sharding today, including online resharding that switches traffic without a maintenance window. It isn't open source, but you can spin up a cluster and try it yourself.

        • uberman123

          Sugu? The guy that "barely worked" and "shipped nothing at PlanetScale" according to Planetscale's CEO?

        • samlambert

          We literally have the counterfactual of the old product and company before he left. We can fully discount Multigres doing anything.

karuppiah7890

It's not Open Source Software. So, I'm not even interested. Lol

rs_rs_rs_rs_rs

Will this be open source at some point?

_1tan

Cool, but we're on MySQL - anything similar available? Percona XtraDB?

  • tedd4u

    That is what the “regular” PlanetScale is all about. It uses the Vitess open source project to do write scaling through shading. It is very powerful and customizable and stable. It was built to run YouTube. Former happy user here.

  • IceWreck

    Vitess/Planetscale? Neki is essentially a version of Vitess for Postgres fom the same guys.

    • kelp

      Many of the engineers who built Neki also worked on Vitess for years. But it's a ground up new implementation designed to specifically target Postgres.

  • dveeden2

    TiDB: Distributed and MySQL compatible

  • MrDrMcCoy

    MariaDB Galera or Vitess.

manlymuppet

I think this will become the new standard.

behole

Site design is tight. I like it.

xyst

only planet scale? Rookie numbers.

I am looking for interdimensional and interuniversal scale. Which of you trust fund babies has a startup which is working on this problem?

_kidlike

can we choose read-after-write consistency at query time, if needed?

parthdesai

The tech might be amazing, but the CEO comes across as an asshole

  • tonyhb

    Sam is not an asshole. His twitter is great, he's definitely opinionated, and if you haven't had the luck of meeting him you might misread his tone as grumpy. It's not. It's sarcastic/dry humour and honest.

    They build good stuff and care.

  • cwisecarver

    He's actually quite nice over zoom so he just comes off as funny on twitter once you've met him.

    • JeremyNT

      Perhaps he's quite nice over zoom, but since very few of us are going to meet him in that context, the rest of us are left to judge him by what he posts. And as they say, you never get a second chance to make a first impression.

      Based on what I've read so far, with his shit-talking the competition, he seems like... a bit of an asshole.

    • overfeed

      > he just comes off as funny on twitter once you've met him.

      Never heard of the guy before today, but his dickish, edge-lord aura (on X and in this thread) makes me not want to meet him. If I had to choose between buying from him, or some other random dude, I'll hear out the random dude first.

      • tgma

        > If I had to choose between buying from him, or some other random dude, I'll hear out the random dude first.

        If you have such luxuries, I bet you don't have enough scale to be really profitable for him.

        • overfeed

          Oh no, how am I ever going to avoid giving my custom to someone who has allegedly cornered the market on - checks notes - a db proxy? Give me a break.

          I can think of at least 4 other ways of scaling horizontally without switching DB engines. I'd have to be mightily constrained to have this particular product as the only option.

          • tgma

            Sure, I don't doubt your ability to do so yourself. I just question your ability to trust some random unknown figure with your data if you have enough scale. That's quite different, actually.

    • __s
  • samlambert

    I can fully understand why someone would think that.

    • parthdesai

      There's obviously more to the story than outsiders are aware, but personally it just leaves a bit of sour taste in my mouth when the tech and blog posts you guys put out are amazing.

      (I'm a paying PS customer)

  • tombert

    Genuine question, since I'm a little out of the loop; why do you say that?

  • nateberkopec

    I, for one, like it when CEOs let loose a bit and show some personality. It's better than everyone walking around talking like a media trained robot.

vaibhav2614

Pretty exciting to see a sharded Postgres product in the market.

The pitch is compelling. I wonder how many teams will be able to operate sharded database setups in production as a result of this.

Keyboard Shortcuts

j
Next item
k
Previous item
o / Enter
Open selected item
?
Show this help
Esc
Close modal / clear selection