• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
Database Scalability Patterns
 

Database Scalability Patterns

on

  • 3,105 views

This is a copy of the slides for my talk "Database Scalability Patterns", given in March at PGEast 2010.

This is a copy of the slides for my talk "Database Scalability Patterns", given in March at PGEast 2010.

Statistics

Views

Total Views
3,105
Views on SlideShare
2,628
Embed Views
477

Actions

Likes
3
Downloads
0
Comments
0

5 Embeds 477

http://www.techgig.com 328
http://www.slideshare.net 142
http://xiusiyan.blogspot.com 5
http://xiusiyan.blogspot.jp 1
http://fiddle.jshell.net 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

    Database Scalability Patterns Database Scalability Patterns Presentation Transcript

    • Database Scalability {Patterns} / Robert Treat Thursday, April 8, 2010
    • robert treat omniti postgres oracle - mysql mssql - sqlite -nosql Thursday, April 8, 2010
    • What are “Database Scalability Patterns?” Thursday, April 8, 2010
    • Part Design Patterns Part Application Life-Cycle Thursday, April 8, 2010
    • MyFirstDatabase Thursday, April 8, 2010
    • Vertical Partitioning Thursday, April 8, 2010
    • Vertical Scaling Thursday, April 8, 2010
    • Vertical Scaling Thursday, April 8, 2010
    • Federated Data Storage “sharding” Horizontal Partitioning Read Slaves Multi-Master Horizontal Scaling Thursday, April 8, 2010
    • Read Slaves / Master - Slave Scale Read Load Thursday, April 8, 2010
    • Read Slaves / Master - Slave Scale Read Load • Typically • Full Copy of Data On Each Node • Asynchronous Thursday, April 8, 2010
    • Read Slaves / Master - Slave Scale Read Load • Typically • Consider • Full Copy of Data • Partial Copy On Each Node • Synchronous • Asynchronous • Don’t use a RDBMS? Thursday, April 8, 2010
    • Read Slaves / Master - Slave Scale Read Load • Typically • Consider • Full Copy of Data • Partial Copy On Each Node • Synchronous • Asynchronous • Don’t use a RDBMS? Requires Application Changes Thursday, April 8, 2010
    • Read Slaves / Master - Slave Scale Read Load • Typically • Consider • Full Copy of Data • Partial Copy On Each Node • Synchronous • Asynchronous • Don’t use a RDBMS? Requires Application Changes “easy” Thursday, April 8, 2010
    • Scaling Writes “not easy” Thursday, April 8, 2010
    • Multi-Master many different ways to implement this, few that actually work in production Thursday, April 8, 2010
    • Multi-Master many different ways to implement this, few that actually work in production write to any node, database syncs data Thursday, April 8, 2010
    • Multi-Master many different ways to implement this, few that actually work in production write to any node, database syncs data can reduce cpu, doesn’t reduce i/o Thursday, April 8, 2010
    • Multi-Master many different ways to implement this, few that actually work in production write to any node, database syncs data can reduce cpu, doesn’t reduce i/o failover solution not a scalability solution Thursday, April 8, 2010
    • Horizontal Partitioning • Divide schema by job operations • Move each piece to own server • Duplicate some data as needed Thursday, April 8, 2010
    • Horizontal Partitioning • Divide schema by job operations • Move each piece to own server • Duplicate some data as needed • You must separate dependencies in the app code first! Thursday, April 8, 2010
    • Horizontal Partitioning • Divide schema by job operations • Move each piece to own server • Duplicate some data as needed • You must separate dependencies in the app code first! Each node is a new instance of vertical scaling Thursday, April 8, 2010
    • Horizontal Scaling • data split across servers based on algorithm • data dropped into buckets (multiple?) • someone must keep track of data, and provide lookup services Thursday, April 8, 2010
    • Universal Truths of Scaling Databases Vertical Scalability is Helpful for Every Pattern Even in a horizontally scaled, fully distributed database, the number of nodes needed is affected by vertical scalability Thursday, April 8, 2010
    • Universal Truths of Scaling Databases New Nodes Are Never Free • Add points of failure • Add management costs • Add complexity to architecture • Add complexity to your app code Thursday, April 8, 2010
    • MyFirstDB V Vertical Partitioning V Vertical Scaling V Read Slaves V Horizontal Partitioning Thursday, April 8, 2010
    • plan for layered data sources read / write connections in code use schemas to separate services Thursday, April 8, 2010
    • plan for layered data sources read / write connections in code use schemas to separate services use postgres :-) Thursday, April 8, 2010
    • THANKS! more: xzilla.net @robtreat2 omniti.com Thursday, April 8, 2010