13
Core Scalability Techniques Artur Ejsmont

Core Scalability Techniques - Yahoo7

Embed Size (px)

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.

Citation preview

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?