Shared Nothing Architectures
Shared Nothing Architectures
Shared Nothing Architectures
Introduction
Concepts of shared nothing architectures Comparison to N-Tier Architectures Common patterns
Mapreduce Database sharding
Prerequisites Conclusions 2
Shared Nothing Architectures J. Cutts & A. Munro 14/07/2013 A
4
A Shared Nothing Architectures J. Cutts & A. Munro 14/07/2013
Load Balancing
Node 2
Node 3
5
14/07/2013
Data Processing
Web Servers
Application Servers
Database Servers
6
Shared Nothing Architectures J. Cutts & A. Munro 14/07/2013
N-Tier
Data integrity Simple Implementation Smaller Scale Lower Initial costs 7
14/07/2013
Scalability is a concern
When will growth stop?
8
14/07/2013
Load Balancing
Node 2
Node 3
10
14/07/2013
Request/Response
Web Servers
Application Servers
Database Servers
Master Database
11
Shared Nothing Architectures J. Cutts & A. Munro 14/07/2013 A
COMMON PATTERNS
12
Shared Nothing Architectures J. Cutts & A. Munro 14/07/2013 A
Map Reduce
Breaks a problem down into sections and sends each section toa different machine Sections are solved and the solution is sent back and reassembled. Allows a problem to be solved in parallel across multiple amchines, thus improving response time. 13
Shared Nothing Architectures J. Cutts & A. Munro 14/07/2013 A
Database Sharding
Split database into partitions. Each machine has one shard Enables database partitioning across multiple machines
14
14/07/2013 A
PREREQUISITES
of Shared Nothing Architectures
15
Shared Nothing Architectures J. Cutts & A. Munro 14/07/2013 A
Prerequisites
Large quantities of low cost computing power Reliant on server rather than network security
Harder to implement DMZ and firewalls
16
14/07/2013 A
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 17
Shared Nothing Architectures J. Cutts & A. Munro 14/07/2013
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 brief summary of what a shared nothing architecture consists of. The document also covers the type of hardware that is generally used in such as system, particularly mentioning the techniques used 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. Predating the modern web it provides a useful insight in to concept without the distraction of a web based 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.
18
14/07/2013
Any Questions?
19
Shared Nothing Architectures J. Cutts & A. Munro 14/07/2013