Upload
james-cutts
View
219
Download
0
Embed Size (px)
Citation preview
7/28/2019 Shared Nothing Architectures
1/19
7/28/2019 Shared Nothing Architectures
2/19
Introduction
Concepts of shared nothing architectures
Comparison to N-Tier Architectures Common patterns
Mapreduce
Database sharding
Prerequisites
Conclusions
Shared Nothing Architectures J. Cutts & A. Munro 14/07/2013
2
A
7/28/2019 Shared Nothing Architectures
3/19
CONCEPTS OFSHARED NOTHING
ARCHITECTURES
Shared Nothing Architectures J. Cutts & A. Munro 14/07/2013
3
A
7/28/2019 Shared Nothing Architectures
4/19
What are Shared
Nothing Architectures Servers operate independently
Perform all tasks
Called nodes
Do not share resources
Database servers etc.
Requests are load balanced Appropriate node
Node with highest capacity
Shared Nothing Architectures J. Cutts & A. Munro 14/07/2013
4A
7/28/2019 Shared Nothing Architectures
5/19
5
How does this work? Each node
contains all
required functions Web server Database server
Requests arebalanced betweennodes
Nodes are easilyduplicated
14/07/2013Shared Nothing Architectures J. Cutts & A. Munro
Load
Balancing
Node 3
Node 1
Node 2
7/28/2019 Shared Nothing Architectures
6/19
Typical N-Tier
Architecture
Read/Write Request
Read/Write Request
Load
Balancing
Request/Response
Web Servers
User Submits
Request /
Receives
Response
Request/Response
Request/
Response
Application Servers Database Servers
Data
Processing
Shared Nothing Architectures J. Cutts & A. Munro 14/07/2013
6
7/28/2019 Shared Nothing Architectures
7/19
7/28/2019 Shared Nothing Architectures
8/19
7/28/2019 Shared Nothing Architectures
9/19
DESIGNING SHARED NOTHING
ARCHITECTURES
14/07/2013Shared Nothing Architectures J. Cutts & A. Munro
9
7/28/2019 Shared Nothing Architectures
10/19
10
Single Server Nodes Information Stays
within server Highly Responsive
Infinitely Scalable
Google's approach
Ten of thousands oflow cost servers
$700 each
14/07/2013Shared Nothing Architectures J. Cutts & A. Munro
Load
Balancing
Node 3
Node 1
Node 2
7/28/2019 Shared Nothing Architectures
11/19
Hybrid Shared Nothing
Architecture
Read/
Write
Request
Master Database
Load
Balancing
Request/Response
Web Servers
User Submits
Request /
Receives
Response
Request/Response
Request/
Response
Application Servers Database Servers
Data
Processing Push/
Update
Master
Shared Nothing Architectures J. Cutts & A. Munro 14/07/2013
11
A
7/28/2019 Shared Nothing Architectures
12/19
COMMON
PATTERNSShared Nothing Architectures J. Cutts & A. Munro 14/07/2013
12
A
7/28/2019 Shared Nothing Architectures
13/19
Map Reduce
Breaks a problem down into sections and sendseach section toa different machine
Sections are solved and the solution is sentback and reassembled.
Allows a problem to be solved in parallel acrossmultiple amchines, thus improving responsetime.
Shared Nothing Architectures J. Cutts & A. Munro 14/07/2013
13
A
7/28/2019 Shared Nothing Architectures
14/19
Database Sharding Split database into partitions.
Each machine has one shard Enables database partitioning across multiple
machines
Increase a systems performance
Storing rows rather than columns
Technique used by google
Shared Nothing Architectures J. Cutts & A. Munro 14/07/2013
14
A
7/28/2019 Shared Nothing Architectures
15/19
PREREQUISITESof Shared Nothing Architectures
Shared Nothing Architectures J. Cutts & A. Munro 14/07/2013
15
A
7/28/2019 Shared Nothing Architectures
16/19
Prerequisites Large quantities of low cost computing power
Reliant on server rather than network security Harder to implement DMZ and firewalls
High bandwidth LAN
Well designed Data Architecture
Load Balancing
Taking into account load on nodes
Database information on nodes
Shared Nothing Architectures J. Cutts & A. Munro 14/07/2013
16
A
7/28/2019 Shared Nothing Architectures
17/19
Conclusions Suited to expanding architectures and demand
When redundancy is needed Low cost scalability
Lower Database integrity
More difficult load balancing
Suited to larger networks
Shared Nothing Architectures J. Cutts & A. Munro 14/07/2013
17
7/28/2019 Shared Nothing Architectures
18/19
Further Reading Various Authors: How to Build a High-Performance Data Warehouse http://db.csail.mit.edu/madden/high_perf.pdf Document that covers creating data warehouses with a focus of high performance,
recommending shared nothing as the most appropriate architecture and also giving a briefsummary of what a shared nothing architecture consists of. The document also covers the typeof hardware that is generally used in such as system, particularly mentioning the techniquesused by Google and other large data providers.
M Stonebraker: The Case for Shared Nothing, 1986 An interesting document on shared nothing architectures in general that covers the
advantages of shared nothing and the disadvantages a system using the pattern. Predatingthe modern web it provides a useful insight in to concept without the distraction of a webbased environment. It is also one of the first documents to use the term shared nothing.
CodeFutures: The Rise of Database Sharding http://www.codefutures.com/database-sharding/ Further reading on database sharding. Mike Hogan: Shared-Disk vs. Shared-Nothing https://docs.google.com/viewer?url=http://www.scaledb.com/pdfs/WP_SDvSN.pdf&pli=1
Further reading for comparing shared nothing and shared disk architectures. http://it.toolbox.com/wiki/index.php/Shared_Nothing_Architecture Aleksandr Tsertkov: Scalable Web Architecture , 2010 http://www.slideshare.net/s6urik/scalable-web-architecture-2950852 Interesting presentation into creating scalable web architecture using a shared noting
approach and amazon web services.
14/07/2013Shared Nothing Architectures J. Cutts & A. Munro
18
http://db.csail.mit.edu/madden/high_perf.pdfhttp://www.codefutures.com/database-sharding/https://docs.google.com/viewer?url=http://www.scaledb.com/pdfs/WP_SDvSN.pdf&pli=1http://it.toolbox.com/wiki/index.php/Shared_Nothing_Architecturehttp://www.slideshare.net/s6urik/scalable-web-architecture-2950852http://www.slideshare.net/s6urik/scalable-web-architecture-2950852http://www.slideshare.net/s6urik/scalable-web-architecture-2950852http://www.slideshare.net/s6urik/scalable-web-architecture-2950852http://www.slideshare.net/s6urik/scalable-web-architecture-2950852http://www.slideshare.net/s6urik/scalable-web-architecture-2950852http://www.slideshare.net/s6urik/scalable-web-architecture-2950852http://www.slideshare.net/s6urik/scalable-web-architecture-2950852http://it.toolbox.com/wiki/index.php/Shared_Nothing_Architecturehttps://docs.google.com/viewer?url=http://www.scaledb.com/pdfs/WP_SDvSN.pdf&pli=1http://www.codefutures.com/database-sharding/http://www.codefutures.com/database-sharding/http://www.codefutures.com/database-sharding/http://db.csail.mit.edu/madden/high_perf.pdf7/28/2019 Shared Nothing Architectures
19/19
Any Questions?14/07/2013Shared Nothing Architectures J. Cutts & A. Munro
19