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?...
Simplified Drupal Architecture                                     Drupal 7                                               ...
Anonymous users and Authenticated Users                             Anonymous                                             ...
Anonymous users and Authenticated Users                                                                         • The deat...
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...
• What is ParElastic?      – Elastic Database Virtualization for Standard Relational Databases        • Makes multiple dat...
Our Solution: Flex Your DatabaseTM ParElastic Database Virtualization Engine™ The only solution that brings flexibility to...
Flex Your Database™Scales Out Your Database On Demand.               what Drupal sees                           what Drupa...
Your current configuration                                                           Your Existing MySQL Database         ...
How It Works—Patented Architecture                                                                     ParElastic         ...
How It Works—Patented Architecture                                                                     ParElastic         ...
How It Works—Patented Architecture                                                                     ParElastic         ...
How It Works—Patented Architecture                                                                     ParElastic         ...
Drupal multi-site with ParElastic                                                                  Drupal                 ...
High Availability                                                                     ParElastic                          ...
High Availability                                                                     ParElastic                          ...
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 ParElastic...
Flex Your Database™Use ParElastic with Drupal. No Risk or Disruption.     Time Spent     on Drupal     Time Spent     on I...
PerformanceOct 23, 2012   How to Scale MySQL in Support of Drupal   24
Performance: On Amazon AWS                                                                        Performance: 6x         ...
Benefits—ParElastic Delivers•     No Drupal modifications!•     Unprecedented flexibility•     Outstanding user experience...
Useful links and additional information Visit our website                                       www.parelastic.com Downloa...
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%’                                ...
How It Works—Simple Query SELECT n.nid, n.title from node n   where n.title like %cloud%’Oct 3, 2012   ParElastic Overview...
How It Works—Query by Shard Key SELECT n.nid, n.title from node n        where n.nid=20                                   ...
How It Works—Query by Shard Key SELECT n.nid, n.title from node n        where n.nid=20Oct 3, 2012   ParElastic Overview  ...
How It Works—Ordered Result SELECT n.nid, n.title from node n  where n.nid<20 order by n.title                            ...
How It Works—Ordered Result SELECT n.nid, n.title from node n  where n.nid<20 order by n.titleOct 3, 2012   ParElastic Ove...
How It Works—Parallel JoinSELECT n.nid, n.title, f.body_value from node n,field_data_body f where n.title like %bigdata%  ...
How It Works—Parallel JoinSELECT n.nid, n.title, f.body_value from node n,field_data_body f where n.title like %bigdata%  ...
How It Works—Local JoinSELECT n.nid, n.title, s.comment_count from node  n, node_comment_statistics s where title like    ...
How It Works—Local JoinSELECT n.nid, n.title, s.comment_count from node  n, node_comment_statistics s where title like    ...
Upcoming SlideShare
Loading in...5
×

How to Scale MySQL in Support of Drupal

8,378

Published on

Published in: Technology
1 Comment
10 Likes
Statistics
Notes
  • 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.
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
No Downloads
Views
Total Views
8,378
On Slideshare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
74
Comments
1
Likes
10
Embeds 0
No embeds

No notes for slide

How to Scale MySQL in Support of Drupal

  1. 1. Flex Your Database™How to Scale MySQL in Support of DrupalOct 23, 2012
  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?Oct 23, 2012 How to Scale MySQL in Support of Drupal 2
  3. 3. 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
  4. 4. Anonymous users and Authenticated Users Anonymous Authenticated CDN Varnish Memcached MySQLOct 23, 2012 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 MySQLOct 23, 2012 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!Oct 23, 2012 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 supportOct 23, 2012 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 SlaveOct 23, 2012 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 MarketOct 23, 2012 How to Scale MySQL in Support of Drupal 9
  10. 10. • 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
  11. 11. 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
  12. 12. 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
  13. 13. Your current configuration Your Existing MySQL Database Standard Interfaces DrupalOct 23, 2012 How to Scale MySQL in Support of Drupal 13
  14. 14. How It Works—Patented Architecture ParElastic Database Virtualization Engine Standard Interfaces DrupalOct 23, 2012 How to Scale MySQL in Support of Drupal 14
  15. 15. 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
  16. 16. 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
  17. 17. 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
  18. 18. 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
  19. 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 Off-the-Shelf MySQL Databases (dynamic) (persistent)Oct 23, 2012 How to Scale MySQL in Support of Drupal 19
  20. 20. 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
  21. 21. 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
  22. 22. 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
  23. 23. 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
  24. 24. PerformanceOct 23, 2012 How to Scale MySQL in Support of Drupal 24
  25. 25. 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
  26. 26. 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
  27. 27. 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
  28. 28. Questions and AnswersOct 23, 2012 How to Scale MySQL in Support of Drupal 28
  29. 29. Query Execution & ScreenshotsOct 23, 2012 How to Scale MySQL in Support of Drupal 29
  30. 30. 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
  31. 31. How It Works—Simple Query SELECT n.nid, n.title from node n where n.title like %cloud%’Oct 3, 2012 ParElastic Overview 31
  32. 32. 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
  33. 33. How It Works—Query by Shard Key SELECT n.nid, n.title from node n where n.nid=20Oct 3, 2012 ParElastic Overview 33
  34. 34. 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
  35. 35. 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
  36. 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 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
  37. 37. 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
  38. 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 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
  39. 39. 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
  1. A particular slide catching your eye?

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

×