Flex Your Database™How to Scale MySQL in Support of DrupalApril 3, 2013
Agenda•     How and Why database scalability impacts Drupal sites•     What are some alternatives to reduce database load?...
Simplified Drupal Architecture                                      Drupal 7                                              ...
Anonymous users and Authenticated Users                              Anonymous                                            ...
Anonymous users and Authenticated Users                                                                          • The dea...
Alternatives: Reduce the database load•     Alternatives      – Content Delivery Networks (CDN’s)                         ...
Scaling the database tier – some options                               $                                                  ...
Scaling the database tier - Replication                                                               Client              ...
Scaling the database – summary of options•     The options presented thus far      – Replication; Reads targeted at slaves...
There’s another way: ParElastic•     A database virtualization product•     Zero lines of code change in your Drupal site•...
Configuring Drupal with ParElasticApril 3, 2013   How to Scale MySQL in Support of Drupal   11
How It Works                                                              Your Existing MySQL Database                    ...
How It Works                                                                       ParElastic                             ...
Scalability in the Application TierClientBrowsers                                                                Load Bala...
Scalability & Availability with ParElasticClientBrowsers                                                                Lo...
Flex Your Database™Scales Out Your Database On Demand.                what Drupal sees                           what Drup...
Key Features•     Adaptive provisioning•     Automated data distribution•     Scale reads AND writes•     Optimized for Dr...
Flex Your Database™Dynamically Adds Storage and Processing. Pay Only for What You Use.                   without ParElasti...
Flex Your Database™Use ParElastic with Drupal. No Risk or Disruption.     Time Spent     on Drupal     Time Spent     on I...
Benefits—ParElastic Delivers•     No Drupal modifications!•     Unprecedented flexibility•     Outstanding user experience...
Deploying ParElastic is EASY!•     No Drupal modifications!      – For new sites        • Create the database with ParElas...
PerformanceApril 3, 2013   How to Scale MySQL in Support of Drupal   23
Performance: On Amazon AWS                                                                          Performance: 6x       ...
Performance: On Amazon AWS                                                               Non linear                       ...
Useful links and additional information Visit our website                                        www.parelastic.com Downlo...
Questions and AnswersApril 3, 2013   How to Scale MySQL in Support of Drupal   27
Upcoming SlideShare
Loading in...5
×

How to Scale MySQL in Support of Drupal [April 3, 2013]

2,657

Published on

0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
2,657
On Slideshare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
19
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Transcript of "How to Scale MySQL in Support of Drupal [April 3, 2013]"

  1. 1. Flex Your Database™How to Scale MySQL in Support of DrupalApril 3, 2013
  2. 2. Agenda• How and Why database scalability impacts Drupal sites• What are some alternatives to reduce database load? – Are these options sufficient?• What are some options to scale my database? – What are the challenges?• What is ParElastic? – How does it help scale Drupal?April 3, 2013 How to Scale MySQL in Support of Drupal 2
  3. 3. Simplified Drupal Architecture Drupal 7 MySQL (The Database) PHP Apache Operating System Operating SystemApril 3, 2013 How to Scale MySQL in Support of Drupal 3
  4. 4. Anonymous users and Authenticated Users Anonymous Authenticated CDN Varnish Memcached MySQLApril 3, 2013 How to Scale MySQL in Support of Drupal 4
  5. 5. Anonymous users and Authenticated Users • The death of the anonymous user! • Facebook as a ‘de-facto’ Anonymous single sign-on Authenticated CDN Varnish Memcached MySQLApril 3, 2013 How to Scale MySQL in Support of Drupal 5
  6. 6. Alternatives: Reduce the database load• Alternatives – Content Delivery Networks (CDN’s) CDN • E.g., Akamai Accelerator – Web application accelerators Apache • E.g., Varnish – Object caching PHP • E.g., Memcached Cache MySQL• Shortcomings – Works for anonymous user; not as good for authenticated users – Works for ‘read’; no good for interaction!April 3, 2013 How to Scale MySQL in Support of Drupal 6
  7. 7. Scaling the database tier – some options $ NoSQL NewSQLBuy bigger and bigger Sharding NoSQL and NewSQLservers • Extremely complex • Requires rewrites to• Easy • Time and resource intensive application• But very expensive • Fragile • Non-standard• Restrictive • Unproven and risky • Costly to implement Implications for Drupal • Custom code • Module supportApril 3, 2013 How to Scale MySQL in Support of Drupal 7
  8. 8. Scaling the database tier - Replication Client Implications for Drupal • Custom code • Module support Drupal Cache reads reads & writes reads MySQL Master MySQL MySQL Slave replication replication SlaveApril 3, 2013 How to Scale MySQL in Support of Drupal 8
  9. 9. Scaling the database – summary of options• The options presented thus far – Replication; Reads targeted at slaves, Writes at Master – Sharding – Scale UP to larger hardware – NoSQL or NewSQL databases• All of these options are some combination of – High Operation Cost – High Maintenance Cost – Non-Standard – Increased Risk – Delay Time to MarketApril 3, 2013 How to Scale MySQL in Support of Drupal 9
  10. 10. There’s another way: ParElastic• A database virtualization product• Zero lines of code change in your Drupal site• Just point your site at ParElastic• That’s all!April 3, 2013 How to Scale MySQL in Support of Drupal 10
  11. 11. Configuring Drupal with ParElasticApril 3, 2013 How to Scale MySQL in Support of Drupal 11
  12. 12. How It Works Your Existing MySQL Database Native MySQL protocols ApplicationApril 3, 2013 How to Scale MySQL in Support of Drupal 12
  13. 13. How It Works ParElastic Database Virtualization Engine Native MySQL protocols Application Multiple database servers act as one Processing Storage Elastic database processing capacity Transparent partitioning, Add storage without (add and remove as needed) sharding and replication moving existing data Off-the-Shelf MySQL Databases Off-the-Shelf MySQL Databases (dynamic) (persistent)April 3, 2013 How to Scale MySQL in Support of Drupal 13
  14. 14. Scalability in the Application TierClientBrowsers Load BalancerApp / PE App App App App App App App AppServers Processing StorageOff the ShelfMySQL serversApril 3, 2013 How to Scale MySQL in Support of Drupal 14
  15. 15. Scalability & Availability with ParElasticClientBrowsers Load BalancerApp / PE App App App App App App App AppServers Processing StorageOff the ShelfMySQL servers ReplicasApril 3, 2013 How to Scale MySQL in Support of Drupal 15
  16. 16. Flex Your Database™Scales Out Your Database On Demand. what Drupal sees what Drupal feelsApril 3, 2013 How to Scale MySQL in Support of Drupal 17
  17. 17. Key Features• Adaptive provisioning• Automated data distribution• Scale reads AND writes• Optimized for Drupal Multi-Site• “Cross-Shard” operationsApril 3, 2013 How to Scale MySQL in Support of Drupal 18
  18. 18. Flex Your Database™Dynamically Adds Storage and Processing. Pay Only for What You Use. without ParElastic: with ParElastic: provision for peak demand only pay for what you useApril 3, 2013 How to Scale MySQL in Support of Drupal 19
  19. 19. Flex Your Database™Use ParElastic with Drupal. No Risk or Disruption. Time Spent on Drupal Time Spent on Infrastructure without ParElastic with ParElasticApril 3, 2013 How to Scale MySQL in Support of Drupal 20
  20. 20. Benefits—ParElastic Delivers• No Drupal modifications!• Unprecedented flexibility• Outstanding user experiences• Lower operational costs• No risk• Faster time to marketApril 3, 2013 How to Scale MySQL in Support of Drupal 21
  21. 21. Deploying ParElastic is EASY!• No Drupal modifications! – For new sites • Create the database with ParElastic • Point Drupal at ParElastic – For existing sites • Create the database with ParElastic • ‘mysqldump’ existing database • Load ParElastic • Point Drupal at ParElasticApril 3, 2013 How to Scale MySQL in Support of Drupal 22
  22. 22. PerformanceApril 3, 2013 How to Scale MySQL in Support of Drupal 23
  23. 23. Performance: On Amazon AWS Performance: 6x Cost: < 2x MySQL (Native) ParElastic Test Driver • m1.xlarge • 5x m1.large • m1.xlarge • MySQL 5.5 • MySQL 5.5 • 1TB EBS • 5x 200GB EBSApril 3, 2013 How to Scale MySQL in Support of Drupal 24
  24. 24. Performance: On Amazon AWS Non linear degradation Linear ScalabilityApril 3, 2013 How to Scale MySQL in Support of Drupal 25
  25. 25. Useful links and additional information Visit our website www.parelastic.com Download our whitepaper and data www.parelastic.com/resources sheet View a short video about ParElastic www.parelastic.com/video Contact us info@parelastic.com Michael Aubin, maubin@parelastic.com VP Sales & Business Development +1-781-832-0007 Amrith Kumar, amrith@parelastic.com CTO See the product in action; request a www.parelastic.com/request-demo demo with Drupal Sign up for a trial www.parelastic.com/apply-for-trialApril 3, 2013 How to Scale MySQL in Support of Drupal 26
  26. 26. Questions and AnswersApril 3, 2013 How to Scale MySQL in Support of Drupal 27
  1. A particular slide catching your eye?

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

×