Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

I'm curious, how does Vitess compare to Citus?

On the surface, they sound similar except that MySQL instances back Vitess and PostgreSQL instances back Citus. Though I could very well be missing some fundamental differences.



Vitess is a software suite that runs outside of MySQL while Citus runs within Postgres as an extension, so Vitess as more moving parts, but it also is better at handling more connections which has been a continual problem with PG in general.

Vitess supports more complicated sharding management (and requires more configuration) while Citus is simpler and lets you use all the flexibility of Postgres. Vitess has a more streamlined installation process (especially with Kubernetes) while Citus leaves it up to you to install the Postgres nodes.

Also note TiDB for a natively scalable MySQL-compatible database and CockroachDB for Postgres-compatible version.


I think the biggest difference other then the protocol is the tiered nature of vitess. Vitess has a different process that serves as the gateway and router while I believe Citis uses a plug-in inside postgres, and uses postgres to handle the connections.

Not knowing more about how Citus does it's sharding indexing I am sure there are differences there but I don't think I could explain them. Vitess has a very flexible and extendable sharding index that gives a lot of control over data locality to the user.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: