HNHacker News
TopNewBestAskShowJobs

harshitgangal

22 karma · joined May 18, 2021

submissionscomments
harshitgangal··on SPQR 2.6.0 with Multicolumn Sharding
Yes, Vitess supports sharding out of the box. It’s actually one of its core design goals.

I am a maintainer on the project, and Vitess provides native support for sharded query routing, resharding, and cluster management at scale.

harshitgangal··on Show HN: A Database Written in Golang
Yes! The founders of PlanetScale were the co-creators of Vitess at YouTube, where it was built to handle MySQL scalability. PlanetScale builds on Vitess but offers a managed, developer-friendly experience.
harshitgangal··on Velox: Meta's Unified Execution Engine [pdf]
When Vitess was donated to CNCF, there was an internal push from within Google to migrate everything to Spanner.

I do not know any other reason.

Disclaimer: Vitess Maintainer

harshitgangal··on Vercel Service Markup
Likewise in Vitess. It is architecturally possible to add 100% compatibility :)
harshitgangal··on Scaling Databases at Activision [pdf]
just the right time to ask this question. We have an RFC open to add support for foreign keys in Vitess https://github.com/vitessio/vitess/issues/12967
harshitgangal··on Connection Pooling in Vitess
Learn what Vitess does to allow modifying MySQL system settings on a connection from the pool.
harshitgangal··on One million queries per second with MySQL
Sequences actual use is for sharded keyspace. For unsharded you can just continue to use auto_increment.

Maybe your application has some special logic which is complex enough to unwind. I am just clarifying for the second statement.

harshitgangal··on One million queries per second with MySQL
Disclaimer: I am a Vitess Maintainer.

Please find my answer inline

1. You can't have single database view of all shards

- Vitess does query planner and routing for the application so application does not have to know about shards. Yes, Vitess gives a view of a single database.

2. No distributed ACID

- This has been talked a lot feature and it is in our roadmap to provide. Currently, we have a twoPC implementation which we do not recommend for production use. Right now the users of vitess either choose their sharding key in such a way that all the queries in a transaction goes to single shard or the application can handle best effort multi shard transaction.

3. No distributed JOINs

- Vitess does support distributed joins, aggregation, subqueries and other complex queries. Vitess thrive to be 100% Mysql compatible. If anyone encouter such query, a github issue helps in knowing and prioritizing.