
Vitess
Vitess is a database clustering system for horizontal scaling of MySQL.
- 18
- Projects
- 5
- Years active
- 2
- In 2025 T1
Projects
182025
2 projectsTerm 1 · Mar-May · 2 projects
Develop an FAQ Chatbot for Vitess using Retrieval-Augmented Generation
LFX Mentorship · Listed in the official cohort
Vitess is a distributed database system built on MySQL. Developers often need to search through documentation, Slack discussions, and GitHub issues to find answers. This project will implement an AI-powered FAQ chatbot using Retrieval-Augmented Generation, integrating vector search with an LLM (like OpenAI, DeepSeek, GPT-4, Mistral, Llama3). The chatbot will be available via a CLI and Slack bot for developer support.
- Go
- python
- LLM APIs
- vector databases
Enhance flag support across Vitess Components
LFX Mentorship · Listed in the official cohort
Vitess is a distributed database system built on MySQL. Flags are widely used in Vitess for configuring components. As part of a major Vitess flag restructure, support for dynamic flag configuration was introduced. However, several Vitess components have not yet fully adopted this feature. This project involves modifying these components to fully integrate dynamic flags and performing additional flag-related refactors where necessary.
- Go
2024
4 projectsTerm 3 · Sep-Nov · 1 project
Add new getting started examples
LFX Mentorship · Listed in the official cohort
Vitess is a cloud-native database, while managing Vitess can be complex, the list of our getting started guide and code examples is not very exhaustive. We would like to have a mentee work on growing the list of code examples and guide to help new users acquire Vitess. Given the mentee's fresh eyes, we would like them to contribute to the troubleshooting / common issues guide too.
- Go
- Distributed Database
- Communication
Term 2 · Jun-Aug · 2 projects
Community building and engagement
LFX Mentorship · Listed in the official cohort
Vitess is a CNCF project that has been around for a while. It has a strong community of users and contributors. We want to continue growing this community and make sure that everyone feels welcome and included.
- Excellent verbal and written communication skills.
- Prior experience participating in an open source community is a plus.
- Should be able to install and run Vitess according to the user guides.
- Website development skills are a plus.
Improve the website of our automated-benchmarking tool (migrate to shadcn ui and typescript)
LFX Mentorship · Listed in the official cohort
Vitess uses arewefastyet to automatically benchmark its codebase and ensure no performance regression is introduced. This tool benchmarks Vitess every day, and is used to visualize the results of those benchmarks. It is an important tool in the development cycle of Vitess and is used by its maintainers and adopters. Arewefastyet' website has changed quite a lot over the last year, we want to continue improving it by finishing the migration to TypeScript and by using Shadcn components. Moreover, we want to make the website responsive and have a proper Figma that serves as a reference for current and future contributors.
- Be skilled in React/Vite/TypeScript.
- Must know how to simply use Docker and docker-compose.
- Experience with Figma is a big plus.
- Experience with Rest APIs and Golang is a plus too.
Term 1 · Mar-May · 1 project
Improve Unit Test Coverage
LFX Mentorship · Listed in the official cohort
Vitess is a scalable cloud-native database system for horizontal scaling of MySQL.The project is over 10 years old and there are parts of the code that don’t have very good unit test coverage. Revamping these code files and adding unit test coverage will help with the overall project health. Having strong unit testing is also useful in preventing introducing bugs when making code changes to these files. The task of the mentee would be to add said unit tests for the given code files. At the time of writing this proposal, the unit test coverage in Vitess stands at 47.3% of all lines of code.
- Go
- SQL
- Unit testing
2023
4 projectsTerm 3 · Sep-Nov · 1 project
Continue the migration to React and enhance existing frontend UI
LFX Mentorship · Listed in the official cohort
Vitess uses arewefastyet to automatically benchmark its codebase and ensure no performance regression is introduced. The mentee will have the responsibility of continuing the UI that was previously created using React/Vite.
- React +++
- Docker ++
- Vite +
- REST API +++
- Golang ++
Term 2 · Jun-Aug · 1 project
Rework the frontend UI of Vitess’ benchmarking tools
LFX Mentorship · Listed in the official cohort
Vitess uses a couple of tools to benchmark its codebase and to make sure that new code doesn’t introduce performance regressions. These tools are: arewefastyet and the VReplication Benchmarking Framework. We currently have an old frontend UI that serves arewefastyet. However, this UI is slow, not optimized and not easily extensible. It uses the built-in Golang template system to serve pages. We would like to create a common frontend UI that will be used by both benchmarking tools and that will replace the current arewefastyet’s UI. The mentee will have the responsibility of creating the UI using (most likely) React/Vite on Vercel. The frontend component will connect to our already-existing backend components: a MySQL database and arewefastyet’s REST API.
- React
- Vercel
- Vite
- REST API
- (Optional writing APIs in Golang)
Term 1 · Mar-May · 2 projects
Add complete parsing support for Spatial MySQL functions
LFX Mentorship · Listed in the official cohort
Vitess is a database clustering system for horizontal scaling of MySQL. One of the key goals of Vitess is to emulate MySQL behavior even while running multiple MySQL instances so that ORMs and frameworks work seamlessly. Vitess has its own in-built SQL-parser which it uses to understand the query and represent as structs for further processing. As of now, a lot of spatial MySQL functions are not parsed correctly and result in syntax errors. The task of the mentee would be to add parsing support for such functions and features which can be found at
- go
- SQL
- yacc
- compilers and lexers
Implement a benchmarking and load testing framework for the VReplication module in Vitess
LFX Mentorship · Listed in the official cohort
Vitess is a distributed database system built around MySQL. VReplication is core technology built into Vitess that is used to enable many features like vertical and horizontal sharding, change data capture and materialized views. The project involves designing and implementing a customizable framework that enables us to test different VReplication workflows at scale and to obtain benchmarks that can be used to monitor performance improvements and regression from code changes. The framework will consist of a custom DSL (Domain Specific Language) which will be used to define each test case and a driver which will read the DSLs and execute the tests. The DSL will be based on the Hashicorp Configuration Language ( The driver will be written in Golang and target AWS using Terraform for provisioning and Ansible for automation. The results and benchmarks will be stored in PlanetScale ( in the existing vitess benchmark database.
- Go
2022
4 projectsTerm 3 · Sep-Nov · 2 projects
Add complete parsing support for Spatial MySQL functions II
LFX Mentorship · Listed in the official cohort
Vitess is a database clustering system for horizontal scaling of MySQL. One of the key goals of Vitess is to emulate MySQL behavior even while running multiple MySQL instances so that ORMs and frameworks work seamlessly. Vitess has its own in-built SQL-parser which it uses to understand the query and represent as structs for further processing. As of now, a lot of spatial MySQL functions are not parsed correctly and result in syntax errors. The task of the mentee would be to add parsing support for such functions and features which can be found at
- go
- SQL
- yacc
- compilers and lexers
Improve evaluation engine
LFX Mentorship · Listed in the official cohort
Improve the compatbility of Vitess' evaluation engine against MySQL by adding support for more built-in SQL functions.
- Go
- MySQL
Term 0 · 2022 Summer (Jun-Aug) · 1 project
Add complete parsing support for Spatial MySQL functions
LFX Mentorship · Listed in the official cohort
Vitess is a database clustering system for horizontal scaling of MySQL. One of the key goals of Vitess is to emulate MySQL behavior even while running multiple MySQL instances so that ORMs and frameworks work seamlessly. Vitess has its own in-built SQL-parser which it uses to understand the query and represent as structs for further processing. As of now, a lot of spatial MySQL functions are not parsed correctly and result in syntax errors. The task of the mentee would be to add parsing support for such functions and features which can be found at
- go
- SQL
- yacc
- compilers and lexers
Term 0 · 2022 Spring (Mar-May) · 1 project
Add complete parsing support for MySQL functions
LFX Mentorship · Listed in the official cohort
Vitess is a database clustering system for horizontal scaling of MySQL. One of the key goals of Vitess is to emulate MySQL behavior even while running multiple MySQL instances so that ORMs and frameworks work seamlessly. Vitess has its own in-built SQL-parser which it uses to understand the query and represent as structs for further processing. As of now, a lot of MySQL functions are not parsed correctly and result in syntax errors. Parsing for a lot of the newer features in MySQL 8.0 is also missing. The task of the mentee would be to add parsing support for such functions and features.
- go
- SQL
- yacc
- compilers and lexers
2021
4 projectsTerm 0 · 2021 Fall (Sep-Nov) · 3 projects
Add complete parsing support for MySQL constructs
LFX Mentorship · Listed in the official cohort
Vitess is a database clustering system for horizontal scaling of MySQL. One of the key goals of Vitess is to emulate MySQL behavior even while running multiple MySQL instances so that ORMs and frameworks work seamlessly. Vitess has its own in-built SQL-parser which it uses to understand the query and represent as structs for further processing. As of now, a lot of MySQL constructs are not parsed and result in syntax errors. For example, we do not have complete support to parse partition constructs. Parsing for a lot of the newer features in MySQL 8.0 is also missing. The task of the mentee would be to add parsing support for such constructs.
- go
- SQL
- yacc
- compilers and lexers
Add support for comparing strings using collations and character-sets
LFX Mentorship · Listed in the official cohort
Vitess does not yet have support for collations and character-sets. So, to compare varchar strings Vitess needs to rely on WEIGHT_STRING function for now. As per MySQL documentation, WEIGHT_STRING is a debugging function, meant only for internal use. Having the ability to compare strings using collation and character set support we will be able to better implement ORDER BY, GROUP BY, JOIN. It will also allow us to leverage more advanced join techniques than what we currently implement.
- go
- SQL
Add support for Upgrade/Downgrade Testing
LFX Mentorship · Listed in the official cohort
Currently Vitess has a rich set of functional tests that are run as part of every commit to catch regressions early. However, they are not sufficient to assess the quality of the product for production rollout. We currently do not test for incompatibilities introduced via upgrade, and ensuring that users can downgrade one level if they need to backout of a failed upgrade. The scenarios will need to be written down, and then tests can be written using GitHub actions: Document Supported Upgrade/Downgrade Scenario Author GitHub actions tests to checkout 2 versions, test scenarios.
- go
- GitHub Actions
- docker
Term 0 · 2021 Summer (Jun-Aug) · 1 project
Add testing framework for Django to ensure compatibility with Vitess
LFX Mentorship · Listed in the official cohort
Vitess is a database clustering system for horizontal scaling of MySQL. One of the key goals of Vitess is to emulate MySQL behavior even while running multiple MySQL instances so that ORMs and frameworks work seamlessly. To this end, we would like to add a comprehensive test suite to ensure compatibility with Django framework. The mentee would be introduced to the world of distributed databases and how everything comes together without the user realizing the difference. They would learn how to run Vitess and about comprehensive testing techniques.
- python
- django
- bash