Scalable Data Management in the Cloud: Research Challenges ...comad/2010/pdf/Keynotes/Key Note...

63
Scalable Data Management in the Scalable Data Management in the Scalable Data Management in the Scalable Data Management in the Cloud: Research Challenges & Cloud: Research Challenges & Cloud: Research Challenges & Cloud: Research Challenges & New Opportunities New Opportunities New Opportunities New Opportunities Divyakant Agrawal Department of Computer Science UC Santa Barbara Collaborators: Amr El Abbadi, Sudipto Das, Aaron Elmore 12/9/2010 COMAD'2010 Keynote Address

Transcript of Scalable Data Management in the Cloud: Research Challenges ...comad/2010/pdf/Keynotes/Key Note...

Page 1: Scalable Data Management in the Cloud: Research Challenges ...comad/2010/pdf/Keynotes/Key Note 2.pdf · Apache Apache Apache Scaling in the Cloud HAProxy(Load Balancer) Apache Elastic

Scalable Data Management in the Scalable Data Management in the Scalable Data Management in the Scalable Data Management in the

Cloud: Research Challenges & Cloud: Research Challenges & Cloud: Research Challenges & Cloud: Research Challenges &

New OpportunitiesNew OpportunitiesNew OpportunitiesNew Opportunities

Divyakant Agrawal

Department of Computer Science

UC Santa Barbara

Collaborators: Amr El Abbadi, Sudipto Das, Aaron Elmore

12/9/2010COMAD'2010 Keynote Address

Page 2: Scalable Data Management in the Cloud: Research Challenges ...comad/2010/pdf/Keynotes/Key Note 2.pdf · Apache Apache Apache Scaling in the Cloud HAProxy(Load Balancer) Apache Elastic

A Voice from the Above

…Cloud Computing? What are you

talking about? Cloud Computing is

nothing but a computer attached to

a network.

-- Larry Ellison, Excerpts from an interview

COMAD'2010 Keynote Address 12/9/2010

Page 3: Scalable Data Management in the Cloud: Research Challenges ...comad/2010/pdf/Keynotes/Key Note 2.pdf · Apache Apache Apache Scaling in the Cloud HAProxy(Load Balancer) Apache Elastic

Outline

� Infrastructure Disruption� Enterprise owned � Commodity shared infrastructures

� Disruptive transformations: Software and Service Infrastructure

� Clouded Data Management� State of the Art lacks “cloud” features

� Transactional systems (Application Development)� Transactional systems (Application Development)

� Decision support system (Data Analysis)

� Cloudy Application Landscape

� Gen-next Data Management (UCSB)� Design Principles

� Data Fusion and Fission

� Elasticity

COMAD'2010 Keynote Address 12/9/2010

Page 4: Scalable Data Management in the Cloud: Research Challenges ...comad/2010/pdf/Keynotes/Key Note 2.pdf · Apache Apache Apache Scaling in the Cloud HAProxy(Load Balancer) Apache Elastic

WEB is replacing the Desktop

COMAD'2010 Keynote Address 12/9/2010

Page 5: Scalable Data Management in the Cloud: Research Challenges ...comad/2010/pdf/Keynotes/Key Note 2.pdf · Apache Apache Apache Scaling in the Cloud HAProxy(Load Balancer) Apache Elastic

Paradigm Shift in Computing

COMAD'2010 Keynote Address 12/9/2010

Page 6: Scalable Data Management in the Cloud: Research Challenges ...comad/2010/pdf/Keynotes/Key Note 2.pdf · Apache Apache Apache Scaling in the Cloud HAProxy(Load Balancer) Apache Elastic

Cloud Computing: Why Now?

� Experience with very large datacenters

� Unprecedented economies of scale

� Transfer of risk

� Technology factors

� Pervasive broadband Internet

� Maturity in Virtualization Technology

� Business factors

� Minimal capital expenditure

� Pay-as-you-go billing model

COMAD'2010 Keynote Address 12/9/2010

Page 7: Scalable Data Management in the Cloud: Research Challenges ...comad/2010/pdf/Keynotes/Key Note 2.pdf · Apache Apache Apache Scaling in the Cloud HAProxy(Load Balancer) Apache Elastic

Economics of Data Centers

• Risk of over-provisioning: underutilization

CapacityMoney & Time

Questions:

Static data center

Demand

Time

Resources

12/9/2010

1. How much?

2. How Long?

Page 8: Scalable Data Management in the Cloud: Research Challenges ...comad/2010/pdf/Keynotes/Key Note 2.pdf · Apache Apache Apache Scaling in the Cloud HAProxy(Load Balancer) Apache Elastic

Economics of Internet Users

• Heavy penalty for under-provisioning

Re

sou

rce

s

Demand

Capacity

1 2 3

Re

sou

rce

s

Capacity

Lost revenue

Lost users

Re

sou

rce

s

Demand

Capacity

Time (days)1 2 3

Time (days)1 2 3

Re

sou

rce

s

Demand

Capacity

Time (days)1 2 3

12/9/2010

Page 9: Scalable Data Management in the Cloud: Research Challenges ...comad/2010/pdf/Keynotes/Key Note 2.pdf · Apache Apache Apache Scaling in the Cloud HAProxy(Load Balancer) Apache Elastic

Economics of Cloud Computing

• Pay by use instead of provisioning for peak

Capacity

Resources

Resources

Static data center Data center in the cloud

Demand

Capacity

Time

Resources

Demand

Capacity

TimeResources

COMAD'2010 Keynote Address 12/9/2010

Page 10: Scalable Data Management in the Cloud: Research Challenges ...comad/2010/pdf/Keynotes/Key Note 2.pdf · Apache Apache Apache Scaling in the Cloud HAProxy(Load Balancer) Apache Elastic

Cloud Computing Spectrum

� Infrastructure-as-a-Service (IaaS)

� Platform-as-a-Service (PaaS)

� Software-as-a-Service (SaaS)

EC2 Azure AppEngine Force.com

Lower-level,

Less management

Higher-level,

More management

12/9/2010

Page 11: Scalable Data Management in the Cloud: Research Challenges ...comad/2010/pdf/Keynotes/Key Note 2.pdf · Apache Apache Apache Scaling in the Cloud HAProxy(Load Balancer) Apache Elastic

The Big Picture

� Unlike the earlier attempts:

� Distributed Computing, Distributed Databases, Grid Computing

� Cloud Computing is REAL:� Cloud Computing is REAL:

� Organic growth: Google, Yahoo, Microsoft, and Amazon

� IT Infrastructure Automation

� Economies-of-scale

� Fault-tolerance: automatically deal with failures

� Time-to-market: no upfront invesment

COMAD'2010 Keynote Address 12/9/2010

Page 12: Scalable Data Management in the Cloud: Research Challenges ...comad/2010/pdf/Keynotes/Key Note 2.pdf · Apache Apache Apache Scaling in the Cloud HAProxy(Load Balancer) Apache Elastic

Cloud Reality

� Facebook Generation of Application Developers

� Animoto.com:

� Started with 50 servers on Amazon EC2

� Growth of 25,000 users/hour� Growth of 25,000 users/hour

� Needed to scale to 3,500 servers in 2 days (RightScale@SantaBarbara)

� Many similar stories:

� RightScale

� Joyent

� …

COMAD'2010 Keynote Address 12/9/2010

Page 13: Scalable Data Management in the Cloud: Research Challenges ...comad/2010/pdf/Keynotes/Key Note 2.pdf · Apache Apache Apache Scaling in the Cloud HAProxy(Load Balancer) Apache Elastic

Outline

� Infrastructure Disruption� Enterprise owned � Commodity shared infrastructures

� Disruptive transformations

� Clouded Data Management� State of the Art lacks “cloud” features

� Transactional systems� Transactional systems

� Decision support system

� Cloudy Application Landscape

� Gen-next Data Management systems� Design Principles

� Data Fusion and Fission

� Elasticity

COMAD'2010 Keynote Address 12/9/2010

Page 14: Scalable Data Management in the Cloud: Research Challenges ...comad/2010/pdf/Keynotes/Key Note 2.pdf · Apache Apache Apache Scaling in the Cloud HAProxy(Load Balancer) Apache Elastic

Current State

� Most enterprise solutions are based on RDBMS technology.

� Significant Operational Challenges:� Provisioning for Peak Demand

� Resource under-utilization� Resource under-utilization

� Capacity planning: too many variables

� Storage management: a massive challenge

� System upgrades: extremely time-consuming

� Complex mine-field of software and hardware licensing

� Unproductive use of people-resources from a company’s perspective

COMAD'2010 Keynote Address 12/9/2010

Page 15: Scalable Data Management in the Cloud: Research Challenges ...comad/2010/pdf/Keynotes/Key Note 2.pdf · Apache Apache Apache Scaling in the Cloud HAProxy(Load Balancer) Apache Elastic

Apache Apache Apache

Scaling in the Cloud

HAProxy (Load Balancer)

Apache

Elastic IP

Client Site

Apache

Client Site Client Site

Apache

+ App

Server

Apache

+ App

Server

Apache

+ App

Server

Apache

+ App

Server

MySQL

Master DBMySQL

Slave DB

ReplicationDatabase becomes the

Scalability Bottleneck

Cannot leverage elasticity

Apache

+ App

Server

COMAD'2010 Keynote Address 12/9/2010

Page 16: Scalable Data Management in the Cloud: Research Challenges ...comad/2010/pdf/Keynotes/Key Note 2.pdf · Apache Apache Apache Scaling in the Cloud HAProxy(Load Balancer) Apache Elastic

Apache Apache Apache

Scaling in the Cloud

HAProxy (Load Balancer)

Apache

Elastic IP

Client Site

Apache

Client Site Client Site

Apache

+ App

Server

Apache

+ App

Server

Apache

+ App

Server

Apache

+ App

Server

MySQL

Master DBMySQL

Slave DB

Replication

Apache

+ App

Server

COMAD'2010 Keynote Address 12/9/2010

Page 17: Scalable Data Management in the Cloud: Research Challenges ...comad/2010/pdf/Keynotes/Key Note 2.pdf · Apache Apache Apache Scaling in the Cloud HAProxy(Load Balancer) Apache Elastic

Apache Apache Apache

Scaling in the Cloud

HAProxy (Load Balancer)

Apache

Elastic IP

Client Site

Apache

Client Site Client Site

Key Value Stores

Apache

+ App

Server

Apache

+ App

Server

Apache

+ App

Server

Apache

+ App

Server

Apache

+ App

Server

Scalable and Elastic

But limited consistency and

operational flexibilityCOMAD'2010 Keynote Address 12/9/2010

Page 18: Scalable Data Management in the Cloud: Research Challenges ...comad/2010/pdf/Keynotes/Key Note 2.pdf · Apache Apache Apache Scaling in the Cloud HAProxy(Load Balancer) Apache Elastic

Cloud Computing Desiderata

� Scalability

� Elasticity

� Fault tolerance� Fault tolerance

� Self Manageability

� Sacrifice consistency?

� Foregone Conclusion!!!

COMAD'2010 Keynote Address 12/9/2010

Page 19: Scalable Data Management in the Cloud: Research Challenges ...comad/2010/pdf/Keynotes/Key Note 2.pdf · Apache Apache Apache Scaling in the Cloud HAProxy(Load Balancer) Apache Elastic

Outline

� Infrastructure Disruption� Enterprise owned => Commodity shared infrastructures

� Disruptive transformations

� Clouded Data Management� State of the Art lacks “cloud” features

� Transactional systems� Transactional systems

� Decision support system

� Cloudy Application Landscape

� Gen-next Data Management(UCSB)� Design Principles

� Data Fusion and Fission

� Elasticity

COMAD'2010 Keynote Address 12/9/2010

Page 20: Scalable Data Management in the Cloud: Research Challenges ...comad/2010/pdf/Keynotes/Key Note 2.pdf · Apache Apache Apache Scaling in the Cloud HAProxy(Load Balancer) Apache Elastic

Internet Chatter

COMAD'2010 Keynote Address 12/9/2010

Page 21: Scalable Data Management in the Cloud: Research Challenges ...comad/2010/pdf/Keynotes/Key Note 2.pdf · Apache Apache Apache Scaling in the Cloud HAProxy(Load Balancer) Apache Elastic

BLOG Wisdom

� “If you want vast, on-demand scalability, you need a non-relational database.” Since scalability requirements:� Can change very quickly and,

� Can grow very rapidly.

� Difficult to manage with a single in-house RDBMS server.

� Although RDBMS scale well:� When limited to a single node (scale-up NOT scale-

out).

� Overwhelming complexity to scale on multiple servers.

COMAD'2010 Keynote Address 12/9/2010

Page 22: Scalable Data Management in the Cloud: Research Challenges ...comad/2010/pdf/Keynotes/Key Note 2.pdf · Apache Apache Apache Scaling in the Cloud HAProxy(Load Balancer) Apache Elastic

Application Complexity

public void confirm_friend_request(user1, user2)

{

begin_transaction();

update_friend_list(user1, user2, status.confirmed);

//user1@Palo Alto Data Center

COMAD'2010 Keynote Address

//user1@Palo Alto Data Centerupdate_friend_list(user2, user1, status.confirmed);

//user2 @London Data Centerend_transaction();

}

12/9/2010

Page 23: Scalable Data Management in the Cloud: Research Challenges ...comad/2010/pdf/Keynotes/Key Note 2.pdf · Apache Apache Apache Scaling in the Cloud HAProxy(Load Balancer) Apache Elastic

public void confirm_friend_request_A(user1, user2){

try{ update_friend_list(user1, user2, status.confirmed); //palo

alto }

catch(exceptione){ report_error(e); return; }

try{ update_friend_list(user2, user1, status.confirmed); //london

}

catch(exceptione) { revert_friend_list(user1, user2);

report_error(e); return; }

COMAD'2010 Keynote Address

report_error(e); return; }}

12/9/2010

Page 24: Scalable Data Management in the Cloud: Research Challenges ...comad/2010/pdf/Keynotes/Key Note 2.pdf · Apache Apache Apache Scaling in the Cloud HAProxy(Load Balancer) Apache Elastic

public void confirm_friend_request_B(user1, user2){

try{ update_friend_list(user1, user2, status.confirmed); //palo

alto }catch(exceptione){ report_error(e); add_to_retry_queue(op

eration.updatefriendlist, user1, user2, current_time()); }

try{ update_friend_list(user2, user1, status.confirmed); //london

}catch(exceptione)

{ report_error(e); add_to_retry_queue(operation.updatefriendlist,

user2, user1, current_time()); }}

COMAD'2010 Keynote Address

user2, user1, current_time()); }}

12/9/2010

Page 25: Scalable Data Management in the Cloud: Research Challenges ...comad/2010/pdf/Keynotes/Key Note 2.pdf · Apache Apache Apache Scaling in the Cloud HAProxy(Load Balancer) Apache Elastic

/* get_friends() method has to reconcile results returned by get_friends() because there may be

data inconsistency due to a conflict because a change that was applied from the message

queue is contradictory to a subsequent change by the user. In this case, status is a bitflag

where all conflicts are merged and it is up to app developer to figure out what to do. */

public list get_friends(user1){ list actual_friends = new list(); list friends = get_friends(); foreach (friend in friends){ if(friend.status ==

friendstatus.confirmed){ //no conflict actual_friends.add(friend); }else

if((friend.status&= friendstatus.confirmed) and !(friend.status&= friendstatus.deleted)){ // assume friend is confirmed as long as it wasn’t also

COMAD'2010 Keynote Address

friendstatus.deleted)){ // assume friend is confirmed as long as it wasn’t also

deleted friend.status =

friendstatus.confirmed; actual_friends.add(friend); update_friends_list(user1, friend, status.confirmed); }else{ //assume deleted if there is a conflict

with a delete update_friends_list( user1, friend,

status.deleted) } }//foreach return actual_friends;}

12/9/2010

Page 26: Scalable Data Management in the Cloud: Research Challenges ...comad/2010/pdf/Keynotes/Key Note 2.pdf · Apache Apache Apache Scaling in the Cloud HAProxy(Load Balancer) Apache Elastic

Perspectives James Hamilton

I love eventual consistency but there are some

applications that are much easier to implement with applications that are much easier to implement with

strong consistency. Many like eventual consistency

because it allows us to scale-out nearly without bound

but it does come with a cost in programming model

complexity.

February 24, 2010

COMAD'2010 Keynote Address 12/9/2010

Page 27: Scalable Data Management in the Cloud: Research Challenges ...comad/2010/pdf/Keynotes/Key Note 2.pdf · Apache Apache Apache Scaling in the Cloud HAProxy(Load Balancer) Apache Elastic

Recent work

� Building a database on Amazon S3 [Brantner

2008]

� Consistency Rationing in a Cloud Database

[Kraska 2009]

� Unbundling Transactions in the Cloud [Lomet� Unbundling Transactions in the Cloud [Lomet

2009a, 2009b]

� Supporting large number of small applications

[Yang 2009]

� ePIC project at NUS [VLDB’2010 papers]

COMAD'2010 Keynote Address 12/9/2010

Page 28: Scalable Data Management in the Cloud: Research Challenges ...comad/2010/pdf/Keynotes/Key Note 2.pdf · Apache Apache Apache Scaling in the Cloud HAProxy(Load Balancer) Apache Elastic

Outline

� Infrastructure Disruption� Enterprise owned => Commodity shared infrastructures

� Disruptive transformations

� Cloudy Application Landscape

� Clouded Data Management� Clouded Data Management� State of the Art lacks “cloud” features

� Transactional systems

� Decision support system

� Gen-next Data Management (UCSB)� Design Principles

� Data Fusion and Fission

� Elasticity

COMAD'2010 Keynote Address 12/9/2010

Page 29: Scalable Data Management in the Cloud: Research Challenges ...comad/2010/pdf/Keynotes/Key Note 2.pdf · Apache Apache Apache Scaling in the Cloud HAProxy(Load Balancer) Apache Elastic

Design Principles

� Separate System and Application State

� System metadata is critical but small

� Application data has varying needs

� Separation allows use of different class of protocols

� Limit Application interactions to a single node

� Allows systems to scale horizontally

� Graceful degradation during failures

� Obviate the need for distributed synchronization

COMAD'2010 Keynote Address 12/9/2010

Page 30: Scalable Data Management in the Cloud: Research Challenges ...comad/2010/pdf/Keynotes/Key Note 2.pdf · Apache Apache Apache Scaling in the Cloud HAProxy(Load Balancer) Apache Elastic

Design Principles (contd.)

� Decouple Ownership from Data Storage

� Ownership refers to exclusive read/write access to data

� Partition ownership – effectively partitions data

� Decoupling allows light weight ownership transfer

� Limited distributed synchronization is practical

� Maintenance of metadata

� Provide strong guarantees only for data that needs it

COMAD'2010 Keynote Address 12/9/2010

Page 31: Scalable Data Management in the Cloud: Research Challenges ...comad/2010/pdf/Keynotes/Key Note 2.pdf · Apache Apache Apache Scaling in the Cloud HAProxy(Load Balancer) Apache Elastic

Scalability & Elasticity in the Cloud

� Data Fusion

� Enrich Key Value stores

� GStore: Efficient Transactional Multi-key access [ACM SOCC’2010]

� Data Fission

� Cloud enabled relational databases

� ElasTraS: Elastic TranSactional Database [HotClouds2009;Tech. Report’2010]

� Elasticity of Data Services

COMAD'2010 Keynote Address 12/9/2010

Page 32: Scalable Data Management in the Cloud: Research Challenges ...comad/2010/pdf/Keynotes/Key Note 2.pdf · Apache Apache Apache Scaling in the Cloud HAProxy(Load Balancer) Apache Elastic

Data Fusion: Data Fusion: Data Fusion: Data Fusion: GStoreGStoreGStoreGStore

12/9/2010COMAD'2010 Keynote Address

Page 33: Scalable Data Management in the Cloud: Research Challenges ...comad/2010/pdf/Keynotes/Key Note 2.pdf · Apache Apache Apache Scaling in the Cloud HAProxy(Load Balancer) Apache Elastic

Atomic Multi-key Access

� Key value stores:

� Atomicity guarantees on single keys

� Suitable for majority of current web applications

� Many other applications warrant multi-key accesses:accesses:

� Online multi-player games

� Collaborative applications

� Enrich functionality of the Key value stores [Google AppEngine&MegaStore]

COMAD'2010 Keynote Address 12/9/2010

Page 34: Scalable Data Management in the Cloud: Research Challenges ...comad/2010/pdf/Keynotes/Key Note 2.pdf · Apache Apache Apache Scaling in the Cloud HAProxy(Load Balancer) Apache Elastic

Key Group Abstraction

� Define a granule of on-demand transactional

access

� Applications select any set of keys

� Data store provides transactional access to

the group

� Non-overlapping groups

COMAD'2010 Keynote Address 12/9/2010

Page 35: Scalable Data Management in the Cloud: Research Challenges ...comad/2010/pdf/Keynotes/Key Note 2.pdf · Apache Apache Apache Scaling in the Cloud HAProxy(Load Balancer) Apache Elastic

Horizontal Partitions of the Keys

Key

s lo

cate

d o

n d

iffe

rent nodes

Key

Group

A single node gains

ownership of all keys

in a KeyGroupKey

s lo

cate

d o

n d

iffe

rent nodes

Group Formation PhaseCOMAD'2010 Keynote Address 12/9/2010

Page 36: Scalable Data Management in the Cloud: Research Challenges ...comad/2010/pdf/Keynotes/Key Note 2.pdf · Apache Apache Apache Scaling in the Cloud HAProxy(Load Balancer) Apache Elastic

Key Grouping Protocol

� Conceptually akin to “locking”

� Allows collocation of ownership

� Transfer key ownership from “followers” to

“leader”

� Guarantee “safe transfer” in the presence of

system dynamics:

� Dynamic migration of data and its control

� Failures

COMAD'2010 Keynote Address 12/9/2010

Page 37: Scalable Data Management in the Cloud: Research Challenges ...comad/2010/pdf/Keynotes/Key Note 2.pdf · Apache Apache Apache Scaling in the Cloud HAProxy(Load Balancer) Apache Elastic

Implementing GStore

Application

Clients

Transactional Multi-Key Access

Grouping

Layer

Key-Value Store Logic

Distributed Storage

G-Store

Transaction

Manager

Grouping

Layer

Key-Value Store Logic

Transaction

Manager

Grouping

Layer

Key-Value Store Logic

Transaction

Manager

Grouping Middleware Layer resident on top of a Key-Value Store

COMAD'2010 Keynote Address 12/9/2010

Page 38: Scalable Data Management in the Cloud: Research Challenges ...comad/2010/pdf/Keynotes/Key Note 2.pdf · Apache Apache Apache Scaling in the Cloud HAProxy(Load Balancer) Apache Elastic

G-Store Experimental Setup

� Performed in Amazon EC2

� Application benchmark simulating an Online

multi-player game

� Cluster size: 10 nodes

� Number of concurrent clients: 20 to 200

� Number of keys in a group: 10 to 100

� Data size: ~1T

� Each node in the cluster: 8 cores, 7G RAM,

1.7T disk

COMAD'2010 Keynote Address 12/9/2010

Page 39: Scalable Data Management in the Cloud: Research Challenges ...comad/2010/pdf/Keynotes/Key Note 2.pdf · Apache Apache Apache Scaling in the Cloud HAProxy(Load Balancer) Apache Elastic

Group Creation Latency

200

250

300

350

400

Latency (ms)

Group Creation Latency (100 keys)

0

50

100

150

200

0 50 100 150 200

Latency (ms)

# of Concurrent Clients

Clientbased-Contiguous Clientbased-Random

Middleware-Contiguous Middleware-Random

COMAD'2010 Keynote Address12/9/2010

Page 40: Scalable Data Management in the Cloud: Research Challenges ...comad/2010/pdf/Keynotes/Key Note 2.pdf · Apache Apache Apache Scaling in the Cloud HAProxy(Load Balancer) Apache Elastic

Group Creation Throughput

10000

100000

# Groups created per sec

Group Creation Throughput (100 keys)

COMAD'2010 Keynote Address

100

1000

20 40 60 80 100 120 140 160 180 200

# Groups created per sec

# of Concurrent Clients

Clientbased-Contiguous Clientbased-Random

Middleware-Contiguous Middleware-Random

12/9/2010

Page 41: Scalable Data Management in the Cloud: Research Challenges ...comad/2010/pdf/Keynotes/Key Note 2.pdf · Apache Apache Apache Scaling in the Cloud HAProxy(Load Balancer) Apache Elastic

Latency for Group

Operations

40

50

60

Latency (ms)

Average Group Operation Latency (100 Opns/100 Keys)

0

10

20

30

0 20 40 60 80 100 120 140 160 180 200

Latency (ms)

# of Concurrent Clients

GStore - Clientbased GStore - Middleware HBase

COMAD'2010 Keynote Address12/9/2010

Page 42: Scalable Data Management in the Cloud: Research Challenges ...comad/2010/pdf/Keynotes/Key Note 2.pdf · Apache Apache Apache Scaling in the Cloud HAProxy(Load Balancer) Apache Elastic

Data Fission: Data Fission: Data Fission: Data Fission: ElasTraSElasTraSElasTraSElasTraS

12/9/2010COMAD'2010 Keynote Address

Page 43: Scalable Data Management in the Cloud: Research Challenges ...comad/2010/pdf/Keynotes/Key Note 2.pdf · Apache Apache Apache Scaling in the Cloud HAProxy(Load Balancer) Apache Elastic

Elastic Transaction Management

� Designed to make RDBMS cloud-friendly

� Database viewed as a collection of partitions

� Suitable for:

� Large single tenant database instance

� Database partitioned at the schema level

� Multi-tenant database with large number of small

databases

� Each partition is a self contained database

COMAD'2010 Keynote Address 12/9/2010

Page 44: Scalable Data Management in the Cloud: Research Challenges ...comad/2010/pdf/Keynotes/Key Note 2.pdf · Apache Apache Apache Scaling in the Cloud HAProxy(Load Balancer) Apache Elastic

Elastic Transaction Management

� Elastic to deal with workload changes

� Load balance partitions

� Recover from node failures

� Dynamic partition management

� Transactional access to database partitions

COMAD'2010 Keynote Address 12/9/2010

Page 45: Scalable Data Management in the Cloud: Research Challenges ...comad/2010/pdf/Keynotes/Key Note 2.pdf · Apache Apache Apache Scaling in the Cloud HAProxy(Load Balancer) Apache Elastic

TM MasterMetadata

Manager

Application ClientsApplication Logic

ElasTraS Client

Master Proxy MM Proxy

Health and Load

Management

Lease

Management

DB Read/Write

Workload

OTMOTM

Distributed Fault-tolerant Storage

OTM P1 P2 Pn

Txn Manager

DB Partitions

Master Proxy MM Proxy

Log

Manager

Durable Writes

COMAD'2010 Keynote Address 12/9/2010

Page 46: Scalable Data Management in the Cloud: Research Challenges ...comad/2010/pdf/Keynotes/Key Note 2.pdf · Apache Apache Apache Scaling in the Cloud HAProxy(Load Balancer) Apache Elastic

ElasTraS Experimental Setup

� Performed in Amazon EC2

� Used TPC-C for evaluation

� Cluster size: 10 to 30 nodes

� Number of concurrent clients: 100 to 1800

� Number of warehouses: 1000 to 3000

� Data size: ~1T

� Each node in the cluster: 8 cores, 7G

RAM, 1.7T disk

COMAD'2010 Keynote Address 12/9/2010

Page 47: Scalable Data Management in the Cloud: Research Challenges ...comad/2010/pdf/Keynotes/Key Note 2.pdf · Apache Apache Apache Scaling in the Cloud HAProxy(Load Balancer) Apache Elastic

Latency of Transactions

100

150

200

250

Latency in ms

Latency (10 Nodes, 1000 Warehouses)

Latency (30 Nodes, 3000 Warehouses)

0

50

100

100 200 300 400 500 600

Latency in ms

#of Concurrent Clients

NewOrder Payment NO + Sleep Payment + Sleep

0

50

100

150

200

250

300

300 500 700 900 1100 1300 1500 1700

Latency in ms

#of Concurrent Clients

NewOrder Payment NO + Sleep Payment + Sleep

COMAD'2010 Keynote Address 12/9/2010

Page 48: Scalable Data Management in the Cloud: Research Challenges ...comad/2010/pdf/Keynotes/Key Note 2.pdf · Apache Apache Apache Scaling in the Cloud HAProxy(Load Balancer) Apache Elastic

Throughput

90000

100000

110000

120000

130000

Througput (tpmC)

Throughput for 10 Nodes, 1000 Warehouses

220000

240000

Throughput for 30 Nodes, 3000 Warehouses

60000

70000

80000

90000

0 100 200 300 400 500 600 700

Througput (tpmC)

# of Concurrent Clients

Throughput Througput with Sleep

60000

80000

100000

120000

140000

160000

180000

200000

0 200 400 600 800 1000 1200 1400 1600 1800 2000

Througput (tpmC)

# of Concurrent Clients

Throughput Througput with Sleep

COMAD'2010 Keynote Address 12/9/2010

Page 49: Scalable Data Management in the Cloud: Research Challenges ...comad/2010/pdf/Keynotes/Key Note 2.pdf · Apache Apache Apache Scaling in the Cloud HAProxy(Load Balancer) Apache Elastic

Elasticity in the Cloud: Elasticity in the Cloud: Elasticity in the Cloud: Elasticity in the Cloud:

Live Data MigrationLive Data MigrationLive Data MigrationLive Data Migration

12/9/2010COMAD'2010 Keynote Address

Page 50: Scalable Data Management in the Cloud: Research Challenges ...comad/2010/pdf/Keynotes/Key Note 2.pdf · Apache Apache Apache Scaling in the Cloud HAProxy(Load Balancer) Apache Elastic

Elasticity

� A database system built over a pay-per-use

infrastructure

� Infrastructure as a Service for instance

� Scale up and down system size on demand� Scale up and down system size on demand

� Utilize peaks and troughs in load

� Minimize operating cost while ensuring good

performance

12/9/2010COMAD'2010 Keynote Address

Page 51: Scalable Data Management in the Cloud: Research Challenges ...comad/2010/pdf/Keynotes/Key Note 2.pdf · Apache Apache Apache Scaling in the Cloud HAProxy(Load Balancer) Apache Elastic

Elasticity in the Database Layer

DBMS

12/9/2010COMAD'2010 Keynote Address

Page 52: Scalable Data Management in the Cloud: Research Challenges ...comad/2010/pdf/Keynotes/Key Note 2.pdf · Apache Apache Apache Scaling in the Cloud HAProxy(Load Balancer) Apache Elastic

Elasticity in the Database Layer

Capacity expansion to deal with high load –

Guarantee good performance

DBMS

12/9/2010COMAD'2010 Keynote Address

Page 53: Scalable Data Management in the Cloud: Research Challenges ...comad/2010/pdf/Keynotes/Key Note 2.pdf · Apache Apache Apache Scaling in the Cloud HAProxy(Load Balancer) Apache Elastic

Elasticity in the Database Layer

Consolidation during periods of low load –

Cost Minimization

DBMS

12/9/2010COMAD'2010 Keynote Address

Page 54: Scalable Data Management in the Cloud: Research Challenges ...comad/2010/pdf/Keynotes/Key Note 2.pdf · Apache Apache Apache Scaling in the Cloud HAProxy(Load Balancer) Apache Elastic

Live Database Migration

� All Elasticity induced dynamics in a Live

system

� Minimal service interruption for migrating

data fragments

� Minimize operations failing� Minimize operations failing

� Minimize unavailability window, if any

� Negligible performance impact

� No overhead during normal operation

� Guaranteed safety and correctness

12/9/2010COMAD'2010 Keynote Address

Page 55: Scalable Data Management in the Cloud: Research Challenges ...comad/2010/pdf/Keynotes/Key Note 2.pdf · Apache Apache Apache Scaling in the Cloud HAProxy(Load Balancer) Apache Elastic

Live Database MigrationCurrent State – A teaser

� Shared storage architecture

� Proactive state migration

� No need to migrate persistent data

� Migrate database cache and transaction state proactively

� Ensures low performance impact� Ensures low performance impact

� Shared nothing architecture

� Reactive state migration

� Migrate minimal database state

� Persistent image migrated asynchronously on demand

� More details to follow in the near future

� A long presentation in its own merit

12/9/2010COMAD'2010 Keynote Address

Page 56: Scalable Data Management in the Cloud: Research Challenges ...comad/2010/pdf/Keynotes/Key Note 2.pdf · Apache Apache Apache Scaling in the Cloud HAProxy(Load Balancer) Apache Elastic

Pre Migration

Phase

T , T , …, T

Prepare

Phase

T , …, T

Handover

T1m+1,.., T1n

Post Migration

Phase

T , T , …, T

Owning

DBMS NodeSource DBMS Node (Nsrc) Destination DBMS Node

(Ndst)

Migration in Shared Storage

T01, T02, …, T0k T11, …, T1m 1n T21, T22, …, T2p

1a. Begin Migration

�Snapshot state at Nsrc�Initialize Cmigr at

Ndst

1c. Atomic Handover

Phase

�Stop serving Cmigr at

Nsrc�Synchronize remaining

state

2. Post Migration

Phase

�Start serving Cmigrat Ndst�Resume normal

operation

1. Migration Phase0. Normal Database

Operation

2. Normal Database

Operation

1b.

Synchronize

and Catch-up

Time

12/9/2010COMAD'2010 Keynote Address

Page 57: Scalable Data Management in the Cloud: Research Challenges ...comad/2010/pdf/Keynotes/Key Note 2.pdf · Apache Apache Apache Scaling in the Cloud HAProxy(Load Balancer) Apache Elastic

Controll

er

Sourc

e

Destinati

onInitiate

Initiali

ze

Route

r

Handover

NORMAL

INITTime

TS1, …, TSk

Migration in Shared Nothing

DUAL

FINISH

NORMAL

Time

TD1, …, TDm

TDm+1, …, TDn

TDn+1, …, TDpTerminate Migratio

n Modes

TSk+1, …, TSlOn Demand

Pull

Asynchronous

Push

12/9/2010COMAD'2010 Keynote Address

Page 58: Scalable Data Management in the Cloud: Research Challenges ...comad/2010/pdf/Keynotes/Key Note 2.pdf · Apache Apache Apache Scaling in the Cloud HAProxy(Load Balancer) Apache Elastic

Cloud Computing at UCSB & Cloud Computing at UCSB & Cloud Computing at UCSB & Cloud Computing at UCSB &

Santa BarbaraSanta BarbaraSanta BarbaraSanta Barbara

12/9/2010COMAD'2010 Keynote Address

Page 59: Scalable Data Management in the Cloud: Research Challenges ...comad/2010/pdf/Keynotes/Key Note 2.pdf · Apache Apache Apache Scaling in the Cloud HAProxy(Load Balancer) Apache Elastic

Research Activities

� Cloud Computing Infrastructures:� Rich Wolski, UCSB

� Cloud Programming Models, Applications and Languages:� ChadraKrintz, UCSB� ChadraKrintz, UCSB

� Data Management in Clouds:� Divy Agrawal &Amr El Abbadi, UCSB

� Security & Privacy Models in Clouds:� Giovanni Vigna& Christopher Kruegel, UCSB

COMAD'2010 Keynote Address 12/9/2010

Page 60: Scalable Data Management in the Cloud: Research Challenges ...comad/2010/pdf/Keynotes/Key Note 2.pdf · Apache Apache Apache Scaling in the Cloud HAProxy(Load Balancer) Apache Elastic

Industrial Start-ups

� Cloud Computing Infrastructures:

� Eucalyptus: Rich Wolski

� Cloud Computing Management:

� RightScale: Thurston von Eicken

� Application Hosting in the Cloud:

� AppFolio: Klaus Schauser

COMAD'2010 Keynote Address 12/9/2010

Page 61: Scalable Data Management in the Cloud: Research Challenges ...comad/2010/pdf/Keynotes/Key Note 2.pdf · Apache Apache Apache Scaling in the Cloud HAProxy(Load Balancer) Apache Elastic

Concluding Remarks

� Data Management for Cloud Computing poses a fundamental challenges:� Scalability

� Reliability

� Elasticity

� Payment Model

� Data Consistency� Data Consistency

� Cloud Computing in Emerging Markets:� Leveling the playing field in the context of IT

� Finally, the computing substrate will also evolve:� Multiple Data Centers

� Leveraging the Network Edge (beyond content caching)

COMAD'2010 Keynote Address 12/9/2010

Page 62: Scalable Data Management in the Cloud: Research Challenges ...comad/2010/pdf/Keynotes/Key Note 2.pdf · Apache Apache Apache Scaling in the Cloud HAProxy(Load Balancer) Apache Elastic

References

� [Helland 2007] Life Beyond Distributed Transactions: An Apostate’s Opinion by P. Helland, CIDR’07

� [Brantner 2008] Building a Database on S3 by M. Brartner, D. Florescu, D. Graf, D. Kossman, T. Kraska, SIGMOD’08

� [Kraska 2009] Consistency Rationing in the Cloud: Pay only when it matters, T. Kraska, M. Hentschel, G. Alonso, and D. Kossmann, VLDB 2009

� [Lomet 2009a] Unbundling Transaction Services in the Cloud by D. Lomet, A. Fekete, G. Weikum, M. Zwilling, CIDR’09

� [Lomet 2009b] Locking Key Ranges with Unbundled Transaction Services, D. B. Lomet and M. F. Mokbel, VLDB 2009Mokbel, VLDB 2009

� [Armbrust 2009a] Above the Clouds: A Berkeley View of Cloud Computing by M. Armbrust, A. Fox, R. Griffith, A. D. Joseph, R. H. Katz, A. Knowinski, G. Lee, D. A. Patterson, A. Rabkin, I. Stoica, M. Zaharia

� [Yang 2009] A scalable data platform for a large number of small applications, F. Yang, J. Shanmugasundaram, and R. Yerneni, CIDR, 2009

� [Das 2009]ElasTraS: An Elastic Transactional Data Store in the Cloud, S. Das, D. Agrawal, and A. El Abbadi, USENIX HotCloud, 2009

� [Das 2010a] G-Store: A Scalable Data Store for Transactional Multi key Access in the Cloud, S. Das, D. Agrawal, and A. El Abbadi, ACM SOCC, 2010.

� [Das 2010b]ElasTraS: An Elastic, Scalable, and Self Managing Transactional Database for the Cloud, S. Das, S. Agarwal, D. Agrawal, and A. El Abbadi, UCSB Tech Report CS 2010-04

COMAD'2010 Keynote Address 12/9/2010

Page 63: Scalable Data Management in the Cloud: Research Challenges ...comad/2010/pdf/Keynotes/Key Note 2.pdf · Apache Apache Apache Scaling in the Cloud HAProxy(Load Balancer) Apache Elastic

An Alternative View

COMAD'2010 Keynote Address 12/9/2010