MySQL Scaling with Memcached

Presented by: Bill Takacs
              Director, Product Management


July 9th 2009
Agenda

  • M SQL overview
    MySQL      i


  • Memcached overview


  • What’s Memcached good for – and
    how does it...
About MySQL

     • 12 years old

     • 400+ employees
        00 e p oyees

     • 750 partners
           p

     • 60K...
Cache is King

                     Browser cache

                     Web
                     W b server cache
        ...
Memcached

         “A high performance, distributed memory object caching
              g p            ,                 ...
More on Memcached

     • Takes advantage of available DRAM

     • Open source
       Ope sou ce

     • Distributed unde...
Why Memcached with MySQL?

     • Scale-out of dynamic web sites
                     y

     • Page loads

     • Efficie...
How Does Memcached Work?

                                • Client - Server

                                • H h Functio...
Memcached Server

     • Slab allocator

     • Libevent based

     • Simple Protocol (no xml)

     • Server has interna...
Memcached Server

     • Limits
           » Key size = (250 bytes)
           » 1MB Limit
           » 32bit/64bit (maxim...
Memcached Clients

     • Client hashes key to server list

     • Serializes t e object
       Se a es the

     • Many c...
What about…..

     • Redundancy

     • Failover




12 : Copyright 2009 Gear6 Inc.
Consistent Hashing
     • Why?

     • How does it work?
           » Libk t
             Libketama
           » http://ww...
Commands

     • Storage commands:
           » Set / Add / Replace /
             Append / Prepend / CAS


     • Retriev...
Memcached UDFs for MySQL

     • Suite of functions that work
       with Memcached and MySQL

     • Leverage power of SQ...
Putting it all together

                         Client 1
                         Client-1     Client 2
                ...
Some Architectures
Memcached and Single MySQL
                      Read          Write


                                                Web...
MySQL Replication Scale-Out

Web / Application Servers              MySQL
            +                            +
  Mem...
Memcached and MySQL Replication
  Read from cache                Write   Read from slave
                                 ...
Memcached and MySQL Replication
  Read from cache                          Write   Read from slave
                       ...
About Gear6
  • First and leading provider
    of Memcached solutions

  • Memcached solution including

          • High ...
Credits and References
     • Designing and Implementing Scalable Applications with Memcached and MySQL, Monty
        Tay...
Thank You!




                    For more information
                             information:

             www.gear6....
Upcoming SlideShare
Loading in...5
×

Gear6 Webinar - MySQL Scaling with Memcached

5,085

Published on

Published in: Technology, Business
0 Comments
8 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
5,085
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
149
Comments
0
Likes
8
Embeds 0
No embeds

No notes for slide

Gear6 Webinar - MySQL Scaling with Memcached

  1. 1. MySQL Scaling with Memcached Presented by: Bill Takacs Director, Product Management July 9th 2009
  2. 2. Agenda • M SQL overview MySQL i • Memcached overview • What’s Memcached good for – and how does it help me scale MySQL? • Example architectures • Customer examples 2 : Copyright 2009 Gear6 Inc.
  3. 3. About MySQL • 12 years old • 400+ employees 00 e p oyees • 750 partners p • 60K downloads/day • Customers across every major operating system, hardware vendor, geography, industry, and application h d d h i d t d li ti type 3 : Copyright 2009 Gear6 Inc.
  4. 4. Cache is King Browser cache Web W b server cache h Memcached cache MySQL database cache – query cache Disk 4 : Copyright 2009 Gear6 Inc.
  5. 5. Memcached “A high performance, distributed memory object caching g p , y j g system, generic in nature, but intended for use in speeding up dynamic web applications by alleviating database load” Ref: http://www.danga.com/memcached/ • Big hash table • Created by Danga Interactive for Live Journal • Significantly reduced database load • Perfect for web sites with high database load • In use by Facebook, Twitter, MyYearBook, others 5 : Copyright 2009 Gear6 Inc.
  6. 6. More on Memcached • Takes advantage of available DRAM • Open source Ope sou ce • Distributed under BSD license • Server - Current version is 1.2.8 » http://www.danga.com/memcached/download.bml • M Many Clients Cli t » http://code.google.com/p/memcached/wiki/Clients 6 : Copyright 2009 Gear6 Inc.
  7. 7. Why Memcached with MySQL? • Scale-out of dynamic web sites y • Page loads • Efficient resource utilization • Support for dozens to hundreds of nodes • Open source 7 : Copyright 2009 Gear6 Inc.
  8. 8. How Does Memcached Work? • Client - Server • H h Function Hash F ti • Memcached » Two stage » Key / value p y pair 8 : Copyright 2009 Gear6 Inc.
  9. 9. Memcached Server • Slab allocator • Libevent based • Simple Protocol (no xml) • Server has internal hash table • Servers are dumb – they don’t know about each other 9 : Copyright 2009 Gear6 Inc.
  10. 10. Memcached Server • Limits » Key size = (250 bytes) » 1MB Limit » 32bit/64bit (maximum size of process) • LRU » Least recently accessed items are cycled out » One LRU exists per “slab class” slab class » LRU “evictions” need not be common • Threads? Yes 10 : Copyright 2009 Gear6 Inc.
  11. 11. Memcached Clients • Client hashes key to server list • Serializes t e object Se a es the • Many client libraries y • Authentication 11 : Copyright 2009 Gear6 Inc.
  12. 12. What about….. • Redundancy • Failover 12 : Copyright 2009 Gear6 Inc.
  13. 13. Consistent Hashing • Why? • How does it work? » Libk t Libketama » http://www.last.fm/user/RJ/journal/2007/04/10/rz_libketama_- _a_consistent_hashing_algo_for_memcache_clients • Reference: http://www.lexemetech.com/2007/11/consistent-hashing.html p g http://www8.org/w8-papers/2a- webserver/caching/paper2.htmlhttp://www.last.fm/user/RJ/jo urnal/2007/04/10/rz_libketama_- _a_consistent_hashing_algo_for_memcache_clients a consistent hashing algo for memcache clients 13 : Copyright 2009 Gear6 Inc.
  14. 14. Commands • Storage commands: » Set / Add / Replace / Append / Prepend / CAS • Retrieval commands: » Get / Gets • Delete / increment / decrement • Stats 14 : Copyright 2009 Gear6 Inc.
  15. 15. Memcached UDFs for MySQL • Suite of functions that work with Memcached and MySQL • Leverage power of SQL Engine • Combine tasks • O Open source 15 : Copyright 2009 Gear6 Inc.
  16. 16. Putting it all together Client 1 Client-1 Client 2 Client-2 Client 3 Client-3 C Server X Server Y Server Z Key = value y Foo = seattle 16 : Copyright 2009 Gear6 Inc.
  17. 17. Some Architectures
  18. 18. Memcached and Single MySQL Read Write Web Servers Application Servers Memcached Clients Memcached Servers Cache Update MySQL 18 : Copyright 2009 Gear6 Inc.
  19. 19. MySQL Replication Scale-Out Web / Application Servers MySQL + + Memached Clients Memcached Servers Writes MySQL Replication Reads Reads 19 : Copyright 2009 Gear6 Inc.
  20. 20. Memcached and MySQL Replication Read from cache Write Read from slave Application Severs + Memcached Clients Memcached Servers Cache Update MySQL Master MySQL Slaves 20 : Copyright 2009 Gear6 Inc.
  21. 21. Memcached and MySQL Replication Read from cache Write Read from slave Application Severs + Memcached Clients Shard1 Cust_id 0-999 Shard1 Cust_id 1000 -1999 Cache Update Cache Update MySQL MySQL Replication Replication 21 : Copyright 2009 Gear6 Inc.
  22. 22. About Gear6 • First and leading provider of Memcached solutions • Memcached solution including • High density • High Availability • Advanced memory management • Enhanced reporting capabilities biliti • Support for multi-tenancy • Disruption free software upgrades • 100% c e t co pat b e 00% client compatible 22 : Copyright 2009 Gear6 Inc.
  23. 23. Credits and References • Designing and Implementing Scalable Applications with Memcached and MySQL, Monty Taylor http://www.mysql.com/why-mysql/white-papers/mysql_wp_memcached.php • Memcached Study, Brian Acker http://download.tangent.org/talks/Memcached%20Study.pdf htt //d l dt t /t lk /M h d%20St d df • A Bunch of Great Strategies for Using Memcached and MySQL Better Together, Todd Hoff http://highscalability.com/bunch great strategies using memcached and mysql better together http://highscalability.com/bunch-great-strategies-using-memcached-and-mysql-better-together • Memcached Functions for MySQL: Seamless Caching for MySQL, Patrick Galbraith http://www.scribd.com/doc/15014678/memcached-Functions-for-MySQL-Seemless-Caching-in- MySQL • Memcached Protocol http://code.sixapart.com/svn/memcached/trunk/server/doc/protocol.txt http://code sixapart com/svn/memcached/trunk/server/doc/protocol txt 23 : Copyright 2009 Gear6 Inc.
  24. 24. Thank You! For more information information: www.gear6.com www gear6 com 24 : Copyright 2009 Gear6 Inc.
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×