Quarantine DB Talk 2020: PlanetScale: Query Planning for a Sharded System like Vitess
Traditional query planning involves parsing of an input SQL into an AST, and then transforming it into primitives which can later be sent through an optimizer. However, in a sharded system, each leaf node is a full relational engine that is capable of doing its own optimizations. So, the traditional approach may not work for such a system. And who knows if the finally reconstructed query would be correctly optimized by the underlying engine? The Vitess VTGate proxy uses a hybrid approach to solve this problem by juggling between a query router and a relational engine.
In this talk we will talk about the design we used and the trade-offs we made. These decisions eventually allowed organizations to adopt Vitess and scale it to millions of QPS.
This talk is part of the Quarantine Database Tech Talk Seminar Series.
Sugu Sougoumarane (@ssougou) is co-founder and CTO at PlanetScale and is the co-creator of Vitess, a CNCF graduated project, which was started in 2010 to help scale YouTube. Sugu continues to lead Vitess development and the community to help many other companies run MySQL at massive scale and to power PlanetScaleDB, one of the few scalable databases that run on Kubernetes. Prior to working on Vitess he worked on various scaling and infrastructure projects at YouTube and PayPal. Sugu is passionate about distributed systems and consensus algorithms which he muses about on https://sougou.io/. When he’s not in front of the screen you can find him working on jigsaw puzzles or in a competitive ping pong match with his PlanetScale co-founder.
More Info: https://db.cs.cmu.edu/seminar2020/