Google Cloud Platform Blog
Product updates, customer stories, and tips and tricks on Google Cloud Platform
Scaling MySQL in the cloud with Vitess and Kubernetes
Friday, March 20, 2015
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 becomes a bottleneck, which leads you to . . .
Add more replicas for better read throughput and data durability
Introduce sharding to scale your write throughput and let your data set grow beyond a single machine
Create separate replica pools for batch jobs and backups, to isolate them from live traffic
Clone the whole deployment into multiple datacenters worldwide for disaster recovery and lower latency
At YouTube, we went on that
journey
as we scaled our MySQL deployment, which today handles the metadata for billions of daily video views and
300 hours of new video uploads per minute
. To do this, we developed the
Vitess
platform, which addresses scaling challenges while hiding the associated complexity from the application layer.
Vitess is available as an
open-source project
and runs best in a containerized environment. With
Kubernetes
and
Google Container Engine
as your
container cluster manager
, it's now a lot easier to get started. We’ve created a single deployment configuration for Vitess that works on
any platform that Kubernetes supports
.
In addition to being easy to deploy in a container cluster, Vitess also takes full advantage of the benefits offered by a container cluster manager, in particular:
Horizontal scaling
– add capacity by launching additional nodes rather than making one huge node
Dynamic placement
– let the cluster manager schedule Vitess containers wherever it wants
Declarative specification
– describe your desired end state, and let the cluster manager create it
Self-healing components
– recover automatically from machine failures
In this environment, Vitess provides a MySQL storage layer with improved durability, scalability, and manageability.
We're just getting started with this integration, but you can already
run Vitess on Kubernetes
yourself. For more on Vitess, check out our
website
, ask questions on our
forum
, or join us on
GitHub
. In particular, take a look at our overview to understand the trade-offs of Vitess versus NoSQL solutions and fully-managed MySQL solutions like
Google Cloud SQL
.
-Posted by Anthony Yeh, Software Engineer, YouTube
Free Trial
GCP Blogs
Big Data & Machine Learning
Kubernetes
GCP Japan Blog
Firebase Blog
Apigee Blog
Popular Posts
Understanding Cloud Pricing
World's largest event dataset now publicly available in BigQuery
A look inside Google’s Data Center Networks
New in Google Cloud Storage: auto-delete, regional buckets and faster uploads
Enter the Andromeda zone - Google Cloud Platform’s latest networking stack
Labels
Announcements
193
Big Data & Machine Learning
134
Compute
271
Containers & Kubernetes
92
CRE
27
Customers
107
Developer Tools & Insights
151
Events
38
Infrastructure
44
Management Tools
87
Networking
43
Open
1
Open Source
135
Partners
102
Pricing
28
Security & Identity
85
Solutions
24
Stackdriver
24
Storage & Databases
164
Weekly Roundups
20
Feed
Subscribe by email
Demonstrate your proficiency to design, build and manage solutions on Google Cloud Platform.
Learn More
Technical questions? Check us out on
Stack Overflow
.
Subscribe to
our monthly newsletter
.
Google
on
Follow @googlecloud
Follow
Follow