The Vitess blog

The Vitess blog


Updates and insights from the Vitess team.

Kubecon+CloudNativeCon NA 2020
The Vitess team had a successful presence at Kubecon + CloudNativeCon North America 2020. This year’s event was in a virtual format. It ran from Nov 17-20. We had 2 talks, a project booth and 3 office hours sessions. In addition, we had …
Django with Vitess
Django is a popular framework for Python application developers. It includes packages which make tasks like authorization and content administration easier. Django supports a number of databases including MySQL which makes it possible to run a Django …
Vitess Operator for Kubernetes
Introduction # In this blog, I would like to explore Vitess Operator for Kubernetes. This post demonstrates the sample implementation of Vitess in Kubernetes topology. I also explore common DBA tasks by demonstrating how they are handled in the …
Streaming Vitess at Bolt
Previously posted on link at Nov 3, 2020. Traditionally, MySQL has been used to power most of the backend services at Bolt. We’ve designed our schemas in a way that they’re sharded into different MySQL clusters. Each MySQL cluster …
Announcing Vitess 8
On behalf of the Vitess maintainers team, I am pleased to announce the general availability of Vitess 8. Major Themes # In this release, we have continued to make important improvements to the Vitess project with over 200 PRs in several areas. Some …
Announcing Vitess 7
On behalf of the Vitess maintainers team, I am pleased to announce the general availability of Vitess 7. Major Themes # Improved SQL Support # We continued to progress towards (almost) full MySQL compatibility. The highlights in Vitess 7 are replica …
Vitess: The Cross Cell Connection
This post explains about how VTGate handles cross-cell operations and how to configure CellAlias for cross-cell read operations. If you are new to Vitess, it is recommended to read this blog post to get more familiar with the various components and …
Announcing Vitess 6
I am excited to announce the general availability of Vitess 6, the second release to follow our new accelerated release schedule. While only 12 weeks have elapsed since the previous release, it feels like a few key investments have started to pay …
Life of a Vitess Cluster
This post goes into the details of what goes on behind the scenes when a cluster is brought up, for example using helm or the local installation guide. This can be used both as a learning tool and troubleshooting guide. We assume that you have …
Announcing the Release of Vitess 5.0
On behalf of the Vitess maintainers team, I am pleased to announce the immediate release of Vitess 5.0. Vitess 5.0 is largely a clean up release, where we have both deprecated and removed some minor features, and improved both the installation …
Vitess Graduation Retrospective
Last November, Vitess became the eighth CNCF project to reach graduation, joining a host of amazing projects such as Kubernetes, Prometheus, Envoy, CoreDNS, containerd, Fluentd, and Jaeger. To contextualize this milestone, I picked some tidbits from …
Vitess 4.0 has been released!
Head to the release notes for an overview of functionality added or changed, as well as important changes for those upgrading from earlier releases. We wanted to use this post as an opportunity to reflect on three aspects of Vitess’ development, as …
Why does Vitess recommend 250GB per MySQL server?
Vitess has an opinionated approach to database scalability. Some of those opinions have minimal controversy such as how durability should be provided via replication, but the one I find interesting is the 250GB per MySQL server recommendation. Is …
The Benefits of Unsharded Vitess
For many large companies seeking help with horizontal scaling, Vitess' value proposition is easily understood; running stateful workloads at astronomical scale is a hard problem that Vitess has boldly solved in the past. However, for businesses that …
2019 MySQL Community Contributor Award Program
Building the Vitess community has been our pride and joy. Being able to contribute to the MySQL community, even more so. Vitess' Sugu Sougoumarane has been nominated by the MySQL group for Oracle’s 2019 MySQL Community Contributor Award …
Vitess at GoSV
When Vitess started at YouTube back in 2010, it was designed to work in Google’s Borg. As a result of that interesting bit of history (and the Google origin story), Vitess wound up being one of the earliest adopters of (a) Go and (b) Kubernetes. At …
Vitess Security Audit Results
We are happy to announce that Vitess recently underwent a security assessment, funded by CNCF / The Linux Foundation. In February 2019, the team from Cure53 performed tests in the following areas: system complexity cloud infrastructure source code …
Choosing a Primary Vindex
When we talk to Vitess, it appears as if we are talking to a single unit, so what sets up this seemingly magical feature? This is achieved through a VSchema, the beautiful mind that sends all of your queries to the correct shard. When Vitess shards …
Introducing Vitess 3.0
We are pleased to announce Vitess 3.0, a major upgrade from Vitess 2.2. Every major release of Vitess brings new features and improvements for our community, and also sometimes introduces new ways of doing things. Vitess 3.0 is built using “pure” go …
Vitess Weekly Digest - Nov 12 2018
We continue the digest from the Slack discussions for Sep 22 2018 to Oct 5 2018. We’ve fallen slightly behind on this, but will catch up again soon. Enable VtGateExecute in vtctld # Arsalan [Sep 22nd] Hi, I want to query vitess on vtgate but I …
Vitess Weekly Digest - Sep 24 2018
This week, we continue the digest from the Slack discussions for Sep 1 2018 to Sep 21 2018. As of this post, we are fully caught up on our backlog. Tracking progress of resharding # jk [Sep 5th] In the SplitClone Stage of resharding, how can i get …
Vitess Weekly Digest - Sep 10 2018
This week, we continue the digest from the Slack discussions for Aug 3 2018 to Aug 31 2018. Secondary Vindexes # raj.veerappan [Aug 3 9:27 AM] how do secondary vindexes work? would they result in further sharding? weitzman [9:32 AM] If you have an …
Vitess Weekly Digest - Aug 24 2018
This week, we continue the digest from the Slack discussions. Update stream # Jian [Jul 25th at 1:27 PM] hi there, I’m new to Vitess, now I’m following the user-guide from vitess.io to explore vitess, in update stream section, I notice …
Vitess Weekly Digest - Aug 5 2018
This week, we kick off our new weekly blog updates — bringing you the best of Vitess questions and topics on our Slack discussions. The goal is to show the most interesting topics and requests so those of you just getting started can see highlights …
Custom Sharding With Vitess
Vitess supports a variety of predefined sharding algorithms that can suit different needs. This is achieved by associating a Vindex with your main sharding column. A Vindex essentially provides a mapping function that converts your column value to a …
Vitess releases version 2.1
The Vitess project is proud to announce the release of version 2.1. This version comes packed with new features that improve usability, availability and resilience of the overall system. The release coincides with the Percona Live 2017 Conference, …
Distributed Transactions in Vitess
With Vitess introducing sharding and allowing you to create cross-shard indexes, distributed transactions become unavoidable for certain workloads. Currently, Vitess only supports best-effort distributed transactions. So, it’s possible that a …
Vitess V2: Now with more V3
Starting with Vitess v2.0.0-beta.2, the VTGate V3 API can route complex single-shard queries (containing joins, subqueries, aggregation, sorting, and any combination thereof) as well as perform cross-shard joins. That means you no longer need to tell …
Percona Live featured talk with Sugu Sougoumarane – Vitess: The Complete Story
Cross-posted from Percona Blog. Welcome to the next installment of our talks with Percona Live Data Performance Conference 2016 speakers! In this series of blogs, we’ll highlight some of the speakers that will be at this year’s conference, as well as …
Vitess 2.0 is now beta!
That means we’ve accomplished all our planned overhauls of client APIs and backward-incompatible protocol changes. See the release notes for what’s new. We’re now working closely with several users who are evaluating Vitess and …
Cloud Native MySQL Sharding with Vitess and Kubernetes
Cross-posted on Google Cloud Platform Blog. Cloud native technologies like Kubernetes help you compose scalable services out of a sea of small logical units. In our last post, we introduced Vitess(an open-source project that powers YouTube’s …
Scaling MySQL in the cloud with Vitess and Kubernetes
Cross-posted on Google Cloud Platform Blog. Your new website is growing exponentially. After a few rounds of high fives, you start scaling to meet this unexpected demand. While you can always add more front-end servers, eventually your database …