Learn Vitess (a scalable database platform for MySQL) from the fundamentals to production readiness: pre-requisites & environment setup, background history & why choose Vitess, core concepts & main architecture, installation & basic deployment, managing keyspaces & shards, query routing & VTGate, replication & failover, observability & debugging, schema management & vindexes, transaction & consistency models, schema change & online migrations, configuration management & secrets, secure connectivity, access control & audit, multi-region & disaster recovery, performance optimization, resharding & scaling workflows, hybrid workloads & OLAP integration, control plane & topology management, CI/CD & release management, disaster recovery & business continuity, observability at scale & SLOs, and production hardening & best practices — 23 episodes in total.
Before touching your first keyspace, you need to master relational database and MySQL concepts, the basics of sharding and replication, plus Kubernetes for modern deployment. In this episode you'll also set up kubectl, helm, vtctlclient, vtctld, and the mysql client.

This episode traces Vitess's journey from an internal MySQL sharding solution at YouTube to a CNCF-accredited open source project, then compares it with traditional MySQL, Galera Cluster, and managed cloud databases to find the use cases where it fits best.

This episode dissects the core Vitess architecture: VTGate as the query serving layer, VTTablet as the storage layer, Topology Service as the source of truth, and how keyspaces, shards, and vindexes work together to route queries to the right data.

This episode walks you through deploying a minimal Vitess setup on Kubernetes using the official Helm chart, configuring the first keyspace and shard, then verifying the service components and MySQL connectivity through VTGate.

This episode covers how to create a keyspace from scratch, choose the right sharding key and vindex, add shards, and apply partitioning best practices to ensure data is evenly distributed and queries stay fast.

This episode digs into how VTGate plans and routes queries to the right VTTablet, cross-shard query behavior with scatter-gather, SQL support and its limitations, and the failure modes you need to recognize.

This episode covers replica topology and the primary role in Vitess, automatic failover based on health monitoring, the role of pseudo-GTID in tracking replication position, and backup and recovery strategies for MySQL under Vitess.

This episode equips you to see inside the cluster: Prometheus metrics from VTGate, VTTablet, and Topology Service, reading logs and slow queries, tracing queries across components, and diagnosing shards and replication with vtctlclient.

This episode dissects vindexes as the key to routing in Vitess: configuring vindexes for a keyspace, the difference between global and local vindexes along with their trade-offs, and designing schemas for sharded and unsharded tables with VSchema.

This episode covers ACID in the Vitess context: fully guaranteed single-shard transactions, cross-shard transactions with their limitations, XA support, locking behavior, stale reads, and best practices for maintaining consistency in a distributed cluster.
