The Cloud Trade Off IBM Haifa Research Storage Systems



Similar documents
Eventually Consistent

Distributed Data Stores

Although research on distributed database systems. Consistency Tradeoffs in Modern Distributed Database System Design COVER FEATURE

Introduction to NOSQL

Data Consistency on Private Cloud Storage System

NoSQL Databases. Institute of Computer Science Databases and Information Systems (DBIS) DB 2, WS 2014/2015

The CAP theorem and the design of large scale distributed systems: Part I

Introduction to NoSQL

Brewer s Conjecture and the Feasibility of Consistent, Available, Partition-Tolerant Web Services

Cassandra A Decentralized, Structured Storage System

Structured Data Storage

BENCHMARKING CLOUD DATABASES CASE STUDY on HBASE, HADOOP and CASSANDRA USING YCSB

Tree-Based Consistency Approach for Cloud Databases

Highly available, scalable and secure data with Cassandra and DataStax Enterprise. GOTO Berlin 27 th February 2014

Finding a needle in Haystack: Facebook s photo storage IBM Haifa Research Storage Systems

A Review of Column-Oriented Datastores. By: Zach Pratt. Independent Study Dr. Maskarinec Spring 2011

DISTRIBUTED SYSTEMS [COMP9243] Lecture 9a: Cloud Computing WHAT IS CLOUD COMPUTING? 2

Web DNS Peer-to-peer systems (file sharing, CDNs, cycle sharing)

High Throughput Computing on P2P Networks. Carlos Pérez Miguel

NoSQL Databases. Nikos Parlavantzas

Consistency Models for Cloud-based Online Games: the Storage System s Perspective

SQL VS. NO-SQL. Adapted Slides from Dr. Jennifer Widom from Stanford

A programming model in Cloud: MapReduce

The NoSQL Ecosystem, Relaxed Consistency, and Snoop Dogg. Adam Marcus MIT CSAIL

Consistency Trade-offs for SDN Controllers. Colin Dixon, IBM February 5, 2014

Transactions and ACID in MongoDB

Lecture Data Warehouse Systems

Geo-Replication in Large-Scale Cloud Computing Applications

Big Data & Scripting storage networks and distributed file systems

Windows Azure Storage Scaling Cloud Storage Andrew Edwards Microsoft

Dynamo: Amazon s Highly Available Key-value Store

The CAP-Theorem & Yahoo s PNUTS

Distributed Systems. Tutorial 12 Cassandra

NoSQL Data Base Basics

Cloud Computing with Microsoft Azure

Distributed File System. MCSN N. Tonellotto Complements of Distributed Enabling Platforms

Storage Systems Autumn Chapter 6: Distributed Hash Tables and their Applications André Brinkmann

Distributed Data Management with VMware vfabric GemFire. Real-Time Data Correlation: Latency and Sustained Operations

Memory-to-memory session replication

High Availability with Postgres Plus Advanced Server. An EnterpriseDB White Paper

Designing Apps for Amazon Web Services

The CAP theorem explores tradeoffs between consistency, Overcoming CAP with Consistent Soft-State Replication COVER FEATURE

MASTER PROJECT. Resource Provisioning for NoSQL Datastores

AMAZON S3: ARCHITECTING FOR RESILIENCY IN THE FACE OF FAILURES Jason McHugh

Report Data Management in the Cloud: Limitations and Opportunities

Not Relational Models For The Management of Large Amount of Astronomical Data. Bruno Martino (IASI/CNR), Memmo Federici (IAPS/INAF)

Cloud Computing Is In Your Future

Cluster Computing. ! Fault tolerance. ! Stateless. ! Throughput. ! Stateful. ! Response time. Architectures. Stateless vs. Stateful.

This paper defines as "Classical"

1. Comments on reviews a. Need to avoid just summarizing web page asks you for:

Hadoop Distributed File System. Jordan Prosch, Matt Kipps

A Distributed Network Security Analysis System Based on Apache Hadoop-Related Technologies. Jeff Springer, Mehmet Gunes, George Bebis

Distributed Systems (5DV147) What is Replication? Replication. Replication requirements. Problems that you may find. Replication.

Introduction to Big Data Training

LARGE-SCALE DATA STORAGE APPLICATIONS


ECE 7650 Scalable and Secure Internet Services and Architecture ---- A Systems Perspective

RAMCloud and the Low- Latency Datacenter. John Ousterhout Stanford University

Berkeley Ninja Architecture

Introduction to NoSQL

A Brief Analysis on Architecture and Reliability of Cloud Based Data Storage

Cassandra A Decentralized Structured Storage System

Distributed Data Parallel Computing: The Sector Perspective on Big Data

No-SQL Databases for High Volume Data

Eventual Consistent Databases: State of the Art

Overview of Databases On MacOS. Karl Kuehn Automation Engineer RethinkDB

Making Sense ofnosql A GUIDE FOR MANAGERS AND THE REST OF US DAN MCCREARY MANNING ANN KELLY. Shelter Island

Cloud Storage over Multiple Data Centers

Database high availability

IBM WebSphere Distributed Caching Products

Lecture 3: Scaling by Load Balancing 1. Comments on reviews i. 2. Topic 1: Scalability a. QUESTION: What are problems? i. These papers look at

Design Patterns for Distributed Non-Relational Databases

So What s the Big Deal?

Massive Data Storage

Cloud Computing at Google. Architecture

Distributed File Systems

High Availability Storage

Analytics March 2015 White paper. Why NoSQL? Your database options in the new non-relational world

How To Write A Key Value Database (Kvs) In Ruby On Rails (Ruby)

Why NoSQL? Your database options in the new non- relational world IBM Cloudant 1

How To Build Cloud Storage On Google.Com

INTRODUCTION TO CASSANDRA

Transcription:

The Cloud Trade Off IBM Haifa Research Storage Systems 1

Fundamental Requirements form Cloud Storage Systems The Google File System first design consideration: component failures are the norm rather than the exception We have seen problems caused by application bugs, operating system bugs, human errors, and the failures of disks, memory, connectors, networking, and power supplies. Therefore, constant monitoring, error detection, fault tolerance, and automatic recovery must be integral to the system Amazon Dymano Key-Value Store In this environment there is a particular need for storage technologies that are always available. For example, customers should be able to view and add items to their shopping cart even if disks are failing, network routes are flapping, or data centers are being destroyed by tornados. Therefore, the service responsible for managing shopping carts requires that it can always write to and read from its data store, and that its data needs to be available across multiple data centers. Facebook Photo Storage System (Haystack) In large scale systems, failures happen every day. Our users rely on their photos being available and should not experience errors despite the inevitable server crashes and hard drive failures. It may happen that an entire datacenter loses power or a cross-country link is severed. Haystack replicates each photo in geographically distinct locations. 2

The CAP Theorem Lets concentrate on being: Always Available Fault Tolerant (to many types of failure) - Requires replication across nodes/data centers Is that asking too much? Turns out that yes. The CAP Theorem (Eric Brewer): One can achieve at most two of the following: - Data Consistency - System Availability - Tolerance to network Partitions Was first made as a conjecture At PODC 2000 by Eric Brewer The Conjecture was formalized and confirmed by MIT researchers Seth Gilbert and Nancy Lynch in 2002 3

Consistency (Simplified) Update WAN Retrieve Replica A Replica B 4

Tolerance to Network Partitions / Availability Update WAN Update Replica A Replica B 5

Problems with CAP Daniel Abadi, Yale University Asymmetry of CAP properties C is a property of the system in general A is a property of the system only if there is a partition Effectively, there are two choices here: Be Consistent (C): - Make sure you have a good transaction protocol. But in the presence of a network partition, the protocol would fail and result in un-availability Be Available in the presence of partitions (PA): - This is where Cloud Storage typically lives. (Almost) - Always accept an update, no matter which replica got it. - But what with the consistency issue 6

Adding Latency to the Game Daniel Abadi, Yale University Consistency has its price even in the absence of network partitions Synchronization between replicas has its overhead No way to get around without at least one round-trip message 7

CAP Revised Daniel Abadi, Yale University PALEC In the case of a partition (P), does the system choose availability (A) or consistency (C)? Else (E), does the system choose latency (L) or consistency (C)? PA/EL Dynamo, SimpleDB, Cassandra, Riptano, CouchDB, Cloudant PC/EC Traditional database systems PA/EC GenieDB PC/EL Existence is debatable 8

Strong Vs. Weak Consistency Strong consistency after an update is committed, each subsequent access will return the updated value Weak consistency the systems does not guarantee that subsequent accesses will return the updated value a number of conditions might need to be met before the updated value is returned inconsistency window: period between update and the point in time when every access is guaranteed to return the updated value 9

Eventual Consistency A specific form of weak consistency The Literature Definition: The storage system guarantees that if no new updates are made to the data eventually (after the inconsistency window closes) all accesses will return the last updated value. In the absence of failures, the maximum size of the inconsistency window can be determined based on communication delays communication delays system load number of replicas Example: The most popular system that implements eventual consistency is DNS, the domain name system. Updates to a name are distributed according to a configured pattern and in combination with time controlled caches, eventually of client will see the update. 10

Models of Eventual Consistency Read your writes After updating a value, a process will always read the updated value, and will never see an older value Monotonic read consistency if a process has seen a particular value, any subsequent access will never return any previous value Monotonic write consistency system guarantees to serialize the writes of one process Many more Properties can be combined E.g. monotonic reads plus read-your-own-writes Applications should be written with the consistency model in mind. 11

The Consistency-Availability Trade-Off Some Definitions: N The number of replicas W The number of replicas that need to acknowledge the receipt of the update before the update completes R - The number of replicas that are contacted when a data object is accessed through a read operation If W+R > N then the write set and read set are always overlapped and so consistency can be guaranteed. If however, not all replicas can be contacted, the system is not available. Examples: - Systems that focus solely on fault-tolerance often use N=3 (with W=2 and R=2 configurations) - R=1,W=N. Optimized for read access. - W=1, R=N. Optimizes for write access If W+R <= N consistency cannot be guaranteed 12

The Trade-Off Granularity Which of the following are natural to the eventual consistency model? Write an object as a whole Append Rename ACL Setting Conclusion The Storage System can and should define different R, W settings for different operations. 13

References S. Gilbert and N. Lynch: Brewer s Conjecture and the Feasibility of Consistent, Available and Partition-Tolerant Web Services. SIGACT News 33(2), pp. 51-59, 2002. W. Vogels: Eventually Consistent. ACM Queue 6(6), pp. 14-19, 2008. Daniel Abadi, Yale University, Problems with CAP, http://dbmsmusings.blogspot.co.il/2010/04/problems-with-cap-and-yahooslittle.html 14