Engineering and Developers Blog
What's happening with engineering and developers at YouTube
Scaling MySQL in the cloud with Vitess and Kubernetes
Wednesday, April 1, 2015
[Cross-posted from the
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 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
vitess.io
, 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
No comments :
Post a Comment
Labels
.net
acceleration
access control
accessibility
actionscript
activities
activity
android
announcements
apis
app engine
appengine
apps script
as2
as3
atom
authentication
authorization
authsub
best practices
blackops
bootcamp
captions
categories
channels
charts
chrome
chromeless
client library
clientlibraries
clientlogin
code
color
comments
compositing
create
curation
custom player
decommission
default
deprecation
devs
direct
discovery
docs
Documentation RSS
dotnet
education
embed
embedding
events
extension
feeds
flash
format
friendactivity
friends
fun
gears
google developers live
google group
googlegamedev
googleio
html5
https
iframe
insight
io12
io2011
ios
iphone
irc
issue tracker
java
javascript
json
json-c
jsonc
knight
legacy
Live Streaming API
LiveBroadcasts API
logo
mashups
media:keywords keywords tags metadata
metadata
mobile
mozilla
news
oauth
oauth2
office hours
open source
partial
partial response
partial update
partners
patch
php
player
playlists
policy
previews
pubsubhubbub
push
python
quota
rails
releases
rendering
reports
responses
resumable
ruby
samples
sandbox
shortform
ssl https certificate staging stage
stack overflow
stage video
staging
standard feeds
storify
storyful
subscription
sup
survey
tdd
theme
tos
tutorials
updates
uploads
v2
v3
video
voting
watch history
watchlater
webvtt
youtube
youtube api
youtube developers live
youtube direct
ytd
Archive
2015
December
November
October
May
April
Bye-bye, YouTube Data API v2
Manage comments with the YouTube Data API v3
VP9: Faster, better, buffer-free YouTube videos
Scaling MySQL in the cloud with Vitess and Kubernetes
March
January
2014
October
September
August
May
March
2013
December
October
September
August
July
June
May
April
March
February
2012
December
November
September
August
July
June
May
April
March
February
January
2011
December
October
September
August
July
June
May
April
March
February
January
2010
December
November
October
September
July
June
May
April
March
February
January
2009
November
October
September
August
July
June
May
April
March
February
January
2008
December
November
October
September
August
July
June
May
April
March
February
2007
December
November
August
June
May
Feed
YouTube
on
Follow @youtubedev
No comments :
Post a Comment