usenix | the advanced computing systems association ......elastras: an elastic transactional data...

18
Sudipto Das, Divy Agrawal, Amr El Abbadi Department of Computer Science University of California at Santa Barbara

Upload: others

Post on 09-Aug-2020

5 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: USENIX | The Advanced Computing Systems Association ......ElasTraS: An Elastic Transactional Data Store in the Cloud Cloud Computing Software as a Service (SaaS) Platform as a Service

Sudipto Das, Divy Agrawal, Amr El Abbadi Department of Computer Science  University of California at Santa Barbara 

Page 2: USENIX | The Advanced Computing Systems Association ......ElasTraS: An Elastic Transactional Data Store in the Cloud Cloud Computing Software as a Service (SaaS) Platform as a Service

ElasTraS: An Elastic Transactional Data Store in the Cloud 

Paradigm Shift in Computing 

6/30/09 

Page 3: USENIX | The Advanced Computing Systems Association ......ElasTraS: An Elastic Transactional Data Store in the Cloud Cloud Computing Software as a Service (SaaS) Platform as a Service

ElasTraS: An Elastic Transactional Data Store in the Cloud 

Cloud Computing 

  Software as a Service (SaaS)   Platform as a Service (PaaS)   Infrastructure as a Service (IaaS)   Utility Computing: pay‐as‐you‐go computing 

  No up‐front cost   Elasticity and illusion of infinite resources   Transfer of risks 

  Scalable and Elastic infrastructure for hosting applications and services 

6/30/09 

Page 4: USENIX | The Advanced Computing Systems Association ......ElasTraS: An Elastic Transactional Data Store in the Cloud Cloud Computing Software as a Service (SaaS) Platform as a Service

ElasTraS: An Elastic Transactional Data Store in the Cloud 

Typical Software Stack 

6/30/09 

Client Site 

Load Balancer 

Web Server/ Applica6on Server 

DB Server 

Page 5: USENIX | The Advanced Computing Systems Association ......ElasTraS: An Elastic Transactional Data Store in the Cloud Cloud Computing Software as a Service (SaaS) Platform as a Service

ElasTraS: An Elastic Transactional Data Store in the Cloud 

Apache + App Server 

Apache + App Server 

Apache + App Server 

Scaling in the Cloud 

6/30/09 

HAProxy (Load Balancer) 

Apache + App Server 

MySQL Master DB 

MySQL Slave DB 

Replica(on 

Elas(c IP 

Client Site 

Database becomes the Scalability Bottleneck 

Cannot leverage elasticity 

Apache + App Server 

Client Site  Client Site 

Page 6: USENIX | The Advanced Computing Systems Association ......ElasTraS: An Elastic Transactional Data Store in the Cloud Cloud Computing Software as a Service (SaaS) Platform as a Service

ElasTraS: An Elastic Transactional Data Store in the Cloud 

Apache + App Server 

Apache + App Server 

Apache + App Server 

Scaling in the Cloud 

6/30/09 

HAProxy (Load Balancer) 

Apache + App Server 

MySQL Master DB 

MySQL Slave DB 

Replica(on 

Elas(c IP 

Client Site 

Apache + App Server 

Client Site  Client Site 

Page 7: USENIX | The Advanced Computing Systems Association ......ElasTraS: An Elastic Transactional Data Store in the Cloud Cloud Computing Software as a Service (SaaS) Platform as a Service

ElasTraS: An Elastic Transactional Data Store in the Cloud 

Key Value Stores 

Apache + App Server 

Apache + App Server 

Apache + App Server 

Scaling in the Cloud 

6/30/09 

HAProxy (Load Balancer) 

Apache + App Server 

Elas(c IP 

Client Site 

Apache + App Server 

Client Site  Client Site 

Scalable and Elastic But minimal consistency and 

operational flexibility 

Page 8: USENIX | The Advanced Computing Systems Association ......ElasTraS: An Elastic Transactional Data Store in the Cloud Cloud Computing Software as a Service (SaaS) Platform as a Service

ElasTraS: An Elastic Transactional Data Store in the Cloud 

Key Value Stores 

Apache + App Server 

Apache + App Server 

Apache + App Server 

Scaling in the Cloud 

6/30/09 

HAProxy (Load Balancer) 

Apache + App Server 

Elas(c IP 

Client Site 

Apache + App Server 

Client Site  Client Site 

Page 9: USENIX | The Advanced Computing Systems Association ......ElasTraS: An Elastic Transactional Data Store in the Cloud Cloud Computing Software as a Service (SaaS) Platform as a Service

ElasTraS: An Elastic Transactional Data Store in the Cloud 

Apache + App Server 

Apache + App Server 

Apache + App Server 

Scaling in the Cloud 

6/30/09 

HAProxy (Load Balancer) 

Apache + App Server 

Elas(c IP 

Client Site 

Apache + App Server 

Client Site  Client Site 

ElasTraS Better Scalability than Databases 

Higher Consistency than Key Value stores 

Page 10: USENIX | The Advanced Computing Systems Association ......ElasTraS: An Elastic Transactional Data Store in the Cloud Cloud Computing Software as a Service (SaaS) Platform as a Service

ElasTraS: An Elastic Transactional Data Store in the Cloud 

ElasTraS 

  Is it yet another Distributed Database?   ……   It’s a Lightweight Distributed Data Store   Scalable design principles borrowed from Bigtable 

  Transaction Management & Failure Recovery borrowed from Databases 

  An Elastic and Scalable Transactional Store 

6/30/09 

Page 11: USENIX | The Advanced Computing Systems Association ......ElasTraS: An Elastic Transactional Data Store in the Cloud Cloud Computing Software as a Service (SaaS) Platform as a Service

OTM1

Distributed Storage (S3)

OTM2 OTMn Owning TM 

Raw Storage 6/30/09 

  Exclusive access rights to database partitions   Executes client transactions for the partitions it owns 

  Aggressive caching of partitions locally   No interaction across OTMs   Interacts with Metadata Manager for obtaining leases 

Page 12: USENIX | The Advanced Computing Systems Association ......ElasTraS: An Elastic Transactional Data Store in the Cloud Cloud Computing Software as a Service (SaaS) Platform as a Service

OTM1

Metadata Manager

and Master

Distributed Storage (S3)

OTM2 OTMn Owning TM 

Raw Storage 6/30/09 

  Heart and Brain of the system   Distributed lease management for the partitions   Maintaining persistent mapping of partitions to owning transaction managers 

  Monitoring the health of the system   Synchronous replication of metadata for fault‐tolerance 

Page 13: USENIX | The Advanced Computing Systems Association ......ElasTraS: An Elastic Transactional Data Store in the Cloud Cloud Computing Software as a Service (SaaS) Platform as a Service

HTM1 HTM2 HTMm

OTM1

Metadata Manager

and Master

Distributed Storage (S3)

OTM2 OTMn Owning TM 

Raw Storage 6/30/09 

  Absorb read only query workload   Cache partial database contents   Answer queries from the database cache 

  Read‐only access to the entire database   No state associated with an HTM   Acts as coordinator for execution of minitransactions 

Page 14: USENIX | The Advanced Computing Systems Association ......ElasTraS: An Elastic Transactional Data Store in the Cloud Cloud Computing Software as a Service (SaaS) Platform as a Service

Load Balancer for DB Server

Applica.on and Web Servers 

HTM1 HTM2 HTMm

OTM1

Metadata Manager

and Master

Distributed Storage (S3)

OTM2 OTMn

Higher level TM 

Owning TM 

Raw Storage 6/30/09 

Page 15: USENIX | The Advanced Computing Systems Association ......ElasTraS: An Elastic Transactional Data Store in the Cloud Cloud Computing Software as a Service (SaaS) Platform as a Service

ElasTraS: An Elastic Transactional Data Store in the Cloud 

Digging into ElasTras 

  Partitioned database 

  Can be configured for static as well as dynamic partitioning 

  Limited transactional semantics 

  Support for minitransactions [Sinfonia] 

6/30/09 

Page 16: USENIX | The Advanced Computing Systems Association ......ElasTraS: An Elastic Transactional Data Store in the Cloud Cloud Computing Software as a Service (SaaS) Platform as a Service

ElasTraS: An Elastic Transactional Data Store in the Cloud 

Design Principles 

  Segregate System metadata from Application Specific data   Different semantics – different requirements 

  Limit Application Interaction to Single physical machine   Restricted transactional semantics 

  Limited Distributed synchronization is practical   Synchronous replication and Distributed consensus for consistent and fault tolerant storage of meta data 

6/30/09 

Page 17: USENIX | The Advanced Computing Systems Association ......ElasTraS: An Elastic Transactional Data Store in the Cloud Cloud Computing Software as a Service (SaaS) Platform as a Service

ElasTraS: An Elastic Transactional Data Store in the Cloud 

Concluding Remarks 

  Easy transition of partitioned Enterprise database systems into the cloud 

  Flexible schema for supporting a wide variety of applications 

  Static Partitioning: Can support transactions limited to partitions 

  Dynamic Partitioning: Can support only minitransactions 

  Elasticity through partitioning 6/30/09 

Page 18: USENIX | The Advanced Computing Systems Association ......ElasTraS: An Elastic Transactional Data Store in the Cloud Cloud Computing Software as a Service (SaaS) Platform as a Service

6/30/09