18
Vitess {mike|sougou}@youtube code.google.com/p/vitess

Vitess percona 2012

Embed Size (px)

Citation preview

Page 1: Vitess percona 2012

Vitess

{mike|sougou}@youtube

code.google.com/p/vitess

Page 2: Vitess percona 2012

Briefly

● introduction & motivation● long term vision● implementation strategy●current tools●questions, answers?

Page 3: Vitess percona 2012

Begin at the end

●MySQL-esque*●Self-managing without magic**● Increased efficiency***○memory usage, throughput

●External replication

Page 4: Vitess percona 2012

Labor vs Management

●Automated reparenting●Online schema apply*○alters, rebuilds

●Auto-sharding○ incremental provisioning

Page 5: Vitess percona 2012

Assumptions/Constraints

●keyspaces / keyspace_id●range-based shards● "shards x replicas" structure●no cross-shard transactions*●eventual consistency

Page 6: Vitess percona 2012

The Tao of Youtube

"choose the simplest solution with the

loosest guarantees that are practical"

Page 7: Vitess percona 2012

Implementation Strategy

●minimal changes to MySQL●external query shaper●external tablet manager●coordinate in Zookeeper*

Page 8: Vitess percona 2012

One Machine

Page 9: Vitess percona 2012

One Cluster

Page 10: Vitess percona 2012

Elephants

●Why is this in Go?●Why isn't this inside of MySQL?

Page 11: Vitess percona 2012

vtocc

 

Page 12: Vitess percona 2012
Page 13: Vitess percona 2012

vtocc

●First usable piece of vitess●RPC front-end to MySQL●Connection pooling●Transaction management●DML annotations●SQL parser

Page 14: Vitess percona 2012

Production ready

●Serves all of YouTube's MySQL queries

●Months of crash-free & leak-free operation

●Zero downtime restarts●Configuration, Logging &

Statistics

Page 15: Vitess percona 2012

Fail-safes

●Query consolidation●Row count limit●Transaction limit●Query and transaction timeouts●Easy to add more

Page 16: Vitess percona 2012

Row Cache

●vs Buffer Cache●CPU usage●Primary Key fetches●Results merging using subqueries●Code complete, benchmark in

progress

Page 17: Vitess percona 2012

Other Upcoming features

●vtqsd●Update stream●Multi-user●Reserved connections

Page 18: Vitess percona 2012

Questions?