How to Scale MySQL in Support of Drupal [April 3, 2013]
Upcoming SlideShare
Loading in...5
×
 

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

on

  • 1,631 views

 

Statistics

Views

Total Views
1,631
Views on SlideShare
1,594
Embed Views
37

Actions

Likes
1
Downloads
16
Comments
0

3 Embeds 37

http://www.marceldoorn.nl 19
http://www.acquia.com 17
http://newsblur.com 1

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

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

  • 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? – 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
  • 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
  • Anonymous users and Authenticated Users Anonymous Authenticated CDN Varnish Memcached MySQLApril 3, 2013 How to Scale MySQL in Support of Drupal 4
  • 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
  • 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
  • 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
  • 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
  • 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
  • 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
  • Configuring Drupal with ParElasticApril 3, 2013 How to Scale MySQL in Support of Drupal 11
  • How It Works Your Existing MySQL Database Native MySQL protocols ApplicationApril 3, 2013 How to Scale MySQL in Support of Drupal 12
  • 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
  • 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
  • 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
  • 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
  • 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
  • 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
  • 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
  • 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
  • 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
  • PerformanceApril 3, 2013 How to Scale MySQL in Support of Drupal 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
  • Performance: On Amazon AWS Non linear degradation Linear ScalabilityApril 3, 2013 How to Scale MySQL in Support of Drupal 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
  • Questions and AnswersApril 3, 2013 How to Scale MySQL in Support of Drupal 27