core scalability techniques - yahoo7

13
Core Scalability Techniques Artur Ejsmont

Upload: artur-ejsmont

Post on 07-Dec-2014

95 views

Category:

Technology


2 download

DESCRIPTION

Presentation about core scalability techniques relevant to web applications. Vertical scalability, Horizontal Scalability, Scalability Cube, scaling by adding clones, functional partitioning, data partitioning, examples and challenges.

TRANSCRIPT

Page 1: Core Scalability Techniques - Yahoo7

Core Scalability TechniquesArtur Ejsmont

Page 2: Core Scalability Techniques - Yahoo7

What is scalability?

● Ability to adjusting capacity - UP and DOWN● Doing it in cost-effective way

Page 3: Core Scalability Techniques - Yahoo7

Types of scalability

Page 4: Core Scalability Techniques - Yahoo7

Three underlying techniques

1. Adding Clones2. Functional Partitioning3. Data Partitioning

Page 5: Core Scalability Techniques - Yahoo7

1. Adding Clones

How it works:● All nodes are interchangeable

Benefits:● You can scale by adding/removing nodes● Losing a node reduces capacity (no downtime)

Page 6: Core Scalability Techniques - Yahoo7

Example 1

Page 7: Core Scalability Techniques - Yahoo7

How it works:● Isolate and split functionality● Monolithic V.S SOA

Benefits:● Each partition becomes a “product”

2. Functional Partitioning

Page 8: Core Scalability Techniques - Yahoo7

Example 2

Page 9: Core Scalability Techniques - Yahoo7

How it works:● Nodes are responsible for subsets of data● Ideally they share nothing

Benefits:● Supports endless data growth

3. Data Partitioning

Page 10: Core Scalability Techniques - Yahoo7

Example 3

Page 11: Core Scalability Techniques - Yahoo7
Page 12: Core Scalability Techniques - Yahoo7

Adding Clones:● Either STATELESS on requires SYNCHRONIZATION

Functional partitioning: ● Difficult to add later on● Limited number of partitions

Data Partitioning:● You always need the “Sharding Key”● Difficult to work across shards

Challenges

Page 13: Core Scalability Techniques - Yahoo7

Questions?