Vitess percona 2012

1,708 views

Published on

Published in: Technology, Real Estate
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
1,708
On SlideShare
0
From Embeds
0
Number of Embeds
153
Actions
Shares
0
Downloads
17
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Vitess percona 2012

  1. 1. Vitess{mike|sougou}@youtubecode.google.com/p/vitess
  2. 2. Briefly● introduction & motivation● long term vision● implementation strategy● current tools● questions, answers?
  3. 3. Begin at the end● MySQL-esque*● Self-managing without magic**● Increased efficiency*** ○ memory usage, throughput● External replication
  4. 4. Labor vs Management● Automated reparenting● Online schema apply* ○ alters, rebuilds● Auto-sharding ○ incremental provisioning
  5. 5. Assumptions/Constraints● keyspaces / keyspace_id● range-based shards● "shards x replicas" structure● no cross-shard transactions*● eventual consistency
  6. 6. The Tao ofYoutube "choose the simplest solution with the loosest guarantees that are practical"
  7. 7. Implementation Strategy● minimal changes to MySQL● external query shaper● external tablet manager● coordinate in Zookeeper*
  8. 8. One Machine
  9. 9. One Cluster
  10. 10. Elephants● Why is this in Go?● Why isnt this inside of MySQL?
  11. 11. vtocc  
  12. 12. vtocc● First usable piece of vitess● RPC front-end to MySQL● Connection pooling● Transaction management● DML annotations● SQL parser
  13. 13. Production ready● Serves all of YouTubes MySQL queries● Months of crash-free & leak-free operation● Zero downtime restarts● Configuration, Logging & Statistics
  14. 14. Fail-safes● Query consolidation● Row count limit● Transaction limit● Query and transaction timeouts● Easy to add more
  15. 15. Row Cache● vs Buffer Cache● CPU usage● Primary Key fetches● Results merging using subqueries● Code complete, benchmark in progress
  16. 16. Other Upcoming features● vtqsd● Update stream● Multi-user● Reserved connections
  17. 17. Questions? 

×