How to Scale MySQL in Support of Drupal
Upcoming SlideShare
Loading in...5
×
 

How to Scale MySQL in Support of Drupal

on

  • 4,366 views

 

Statistics

Views

Total Views
4,366
Views on SlideShare
4,049
Embed Views
317

Actions

Likes
8
Downloads
60
Comments
1

4 Embeds 317

http://www.acquia.com 311
https://twitter.com 4
https://si0.twimg.com 1
http://sys3.search.km 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

11 of 1

  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
  • I have seen your all video presentation of Drupal which is nicely presented and generally I choose to read any topic graphically than the lengthy content.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    How to Scale MySQL in Support of Drupal How to Scale MySQL in Support of Drupal Presentation Transcript

    • Flex Your Database™How to Scale MySQL in Support of DrupalOct 23, 2012
    • 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?Oct 23, 2012 How to Scale MySQL in Support of Drupal 2
    • Simplified Drupal Architecture Drupal 7 MySQL (The Database) PHP Apache Operating System Operating SystemOct 23, 2012 How to Scale MySQL in Support of Drupal 3
    • Anonymous users and Authenticated Users Anonymous Authenticated CDN Varnish Memcached MySQLOct 23, 2012 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 MySQLOct 23, 2012 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!Oct 23, 2012 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 supportOct 23, 2012 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 SlaveOct 23, 2012 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 MarketOct 23, 2012 How to Scale MySQL in Support of Drupal 9
    • • What is ParElastic? – Elastic Database Virtualization for Standard Relational Databases • Makes multiple database instances appear to Drupal as a single database server• Who is it for? – Interactive web scale applications such as digital gaming, eCommerce, and social networks – Multi-tenant and SaaS applications (e.g. Drupal Multisite) – Service providers (public or private cloud) who wish to offer DBaaS• Why do they need it? – Database scalability is a significant impediment to innovation and growth – Existing solutions increase cost & risk: • Non-standard, Complex to implement and manage, Expensive to acquire, InelasticOct 23, 2012 How to Scale MySQL in Support of Drupal 10
    • Our Solution: Flex Your DatabaseTM ParElastic Database Virtualization Engine™ The only solution that brings flexibility to all dimensions of your database. • Scale Out Your Database On Demand • Dynamically Add Storage or Processing. Pay Only for What You Use. • Uses Your Existing Database and Application. No Risk or Disruption.Oct 23, 2012 How to Scale MySQL in Support of Drupal 11
    • Flex Your Database™Scales Out Your Database On Demand. what Drupal sees what Drupal feelsOct 23, 2012 How to Scale MySQL in Support of Drupal 12
    • Your current configuration Your Existing MySQL Database Standard Interfaces DrupalOct 23, 2012 How to Scale MySQL in Support of Drupal 13
    • How It Works—Patented Architecture ParElastic Database Virtualization Engine Standard Interfaces DrupalOct 23, 2012 How to Scale MySQL in Support of Drupal 14
    • How It Works—Patented Architecture ParElastic Database Virtualization Engine Standard Interfaces Drupal Multiple database servers act as one Storage Transparent partitioning, and replication Off-the-Shelf MySQL Databases (persistent)Oct 23, 2012 How to Scale MySQL in Support of Drupal 15
    • How It Works—Patented Architecture ParElastic Database Virtualization Engine Standard Interfaces Drupal Multiple database servers act as one USPTO Publication 2012/0041976 Storage Transparent partitioning, Add storage without and replication moving existing data Off-the-Shelf MySQL Databases (persistent)Oct 23, 2012 How to Scale MySQL in Support of Drupal 16
    • How It Works—Patented Architecture ParElastic Database Virtualization Engine Standard Interfaces Drupal US Patent 8214356 Multiple database servers act as one Processing Storage Elastic database processing capacity Transparent partitioning, Add storage without (add and remove as needed) and replication moving existing data Off-the-Shelf MySQL Databases Off-the-Shelf MySQL Databases (dynamic) (persistent)Oct 23, 2012 How to Scale MySQL in Support of Drupal 17
    • Drupal multi-site with ParElastic Drupal Drupal Drupal Drupal Drupal ParElastic Database Virtualization Engine: Multiple database servers act as one Processing Storage Off-the-Shelf MySQL Databases Off-the-Shelf MySQL Databases (dynamic) (persistent)Oct 23, 2012 How to Scale MySQL in Support of Drupal 18
    • High Availability ParElastic Database Virtualization Engine Standard Interfaces Drupal Multiple database servers act as one Processing Storage Elastic database processing capacity Transparent partitioning, Add storage without (add and remove as needed) and replication moving existing data Off-the-Shelf MySQL Databases Off-the-Shelf MySQL Databases (dynamic) (persistent)Oct 23, 2012 How to Scale MySQL in Support of Drupal 19
    • High Availability ParElastic Database Virtualization Engine Standard Interfaces Drupal Multiple database servers act as one Processing Storage Elastic database processing capacity Transparent partitioning, Add storage without (add and remove as needed) and replication moving existing data Off-the-Shelf MySQL Databases (dynamic) Off-the-Shelf MySQL Databases (persistent)Oct 23, 2012 How to Scale MySQL in Support of Drupal 20
    • Key Features• Adaptive provisioning• Automated data distribution• Scale reads AND writes• Optimized for Drupal Multi-Site• “Cross-Shard” operationsOct 23, 2012 How to Scale MySQL in Support of Drupal 21
    • 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 useOct 23, 2012 How to Scale MySQL in Support of Drupal 22
    • Flex Your Database™Use ParElastic with Drupal. No Risk or Disruption. Time Spent on Drupal Time Spent on Infrastructure without ParElastic with ParElasticOct 23, 2012 How to Scale MySQL in Support of Drupal 23
    • PerformanceOct 23, 2012 How to Scale MySQL in Support of Drupal 24
    • 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 EBSOct 23, 2012 How to Scale MySQL in Support of Drupal 25
    • Benefits—ParElastic Delivers• No Drupal modifications!• Unprecedented flexibility• Outstanding user experiences• Lower operational costs• No risk• Faster time to marketOct 23, 2012 How to Scale MySQL in Support of Drupal 26
    • 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 Sign up for a beta www.parelastic.com/apply-for-betaOct 23, 2012 How to Scale MySQL in Support of Drupal 27
    • Questions and AnswersOct 23, 2012 How to Scale MySQL in Support of Drupal 28
    • Query Execution & ScreenshotsOct 23, 2012 How to Scale MySQL in Support of Drupal 29
    • How It Works—Simple Select SELECT n.nid, n.title from node n where n.title like %cloud%’ ParElastic Database Virtualization Engine Standard Interfaces Application Processing Storage Off-the-Shelf MySQL Databases Off-the-Shelf MySQL Databases (dynamic) (persistent)Oct 3, 2012 ParElastic Overview 30
    • How It Works—Simple Query SELECT n.nid, n.title from node n where n.title like %cloud%’Oct 3, 2012 ParElastic Overview 31
    • How It Works—Query by Shard Key SELECT n.nid, n.title from node n where n.nid=20 ParElastic Database Virtualization Engine Standard Interfaces Application Processing Storage Off-the-Shelf MySQL Databases Off-the-Shelf MySQL Databases (dynamic) (persistent)Oct 3, 2012 ParElastic Overview 32
    • How It Works—Query by Shard Key SELECT n.nid, n.title from node n where n.nid=20Oct 3, 2012 ParElastic Overview 33
    • How It Works—Ordered Result SELECT n.nid, n.title from node n where n.nid<20 order by n.title ParElastic Database Virtualization Engine Standard Interfaces Application Processing Storage Off-the-Shelf MySQL Databases Off-the-Shelf MySQL Databases (dynamic) (persistent)Oct 3, 2012 ParElastic Overview 34
    • How It Works—Ordered Result SELECT n.nid, n.title from node n where n.nid<20 order by n.titleOct 3, 2012 ParElastic Overview 35
    • How It Works—Parallel JoinSELECT n.nid, n.title, f.body_value from node n,field_data_body f where n.title like %bigdata% and f.entity_id=n.nid ParElastic Database Virtualization Engine Standard Interfaces Application Processing Storage Off-the-Shelf MySQL Databases Off-the-Shelf MySQL Databases (dynamic) (persistent) Oct 3, 2012 ParElastic Overview 36
    • How It Works—Parallel JoinSELECT n.nid, n.title, f.body_value from node n,field_data_body f where n.title like %bigdata% and f.entity_id=n.nid Oct 3, 2012 ParElastic Overview 37
    • How It Works—Local JoinSELECT n.nid, n.title, s.comment_count from node n, node_comment_statistics s where title like %bigdata% and s.nid=n.nid ParElastic Database Virtualization Engine Standard Interfaces Application Processing Storage Off-the-Shelf MySQL Databases Off-the-Shelf MySQL Databases (dynamic) (persistent) Oct 3, 2012 ParElastic Overview 38
    • How It Works—Local JoinSELECT n.nid, n.title, s.comment_count from node n, node_comment_statistics s where title like %bigdata% and s.nid=n.nid Oct 3, 2012 ParElastic Overview 39