Inexpensive Scalable Information Access Many Internet applications need to access data for millions of concurrent users Relational DBMS technology cannot.

Slides:



Advertisements
Similar presentations
Introduction to cloud computing Jiaheng Lu Department of Computer Science Renmin University of China
Advertisements

Tomcy Thankachan  Introduction  Data model  Building Blocks  Implementation  Refinements  Performance Evaluation  Real applications  Conclusion.
CS525: Special Topics in DBs Large-Scale Data Management HBase Spring 2013 WPI, Mohamed Eltabakh 1.
Data Management in the Cloud Paul Szerlip. The rise of data Think about this o For the past two decades, the largest generator of data was humans -- now.
Sanjay Ghemawat, Howard Gobioff and Shun-Tak Leung
The google file system Cs 595 Lecture 9.
The Google File System Authors : Sanjay Ghemawat, Howard Gobioff, Shun-Tak Leung Presentation by: Vijay Kumar Chalasani 1CS5204 – Operating Systems.
Dynamo: Amazon's Highly Available Key-value Store Distributed Storage Systems CS presented by: Hussam Abu-Libdeh.
PNUTS: Yahoo’s Hosted Data Serving Platform Jonathan Danaparamita jdanap at umich dot edu University of Michigan EECS 584, Fall Some slides/illustrations.
CSE 486/586, Spring 2012 CSE 486/586 Distributed Systems Google Chubby Lock Service Steve Ko Computer Sciences and Engineering University at Buffalo.
Homework 1: Common Mistakes Memory Leak Storing of memory pointers instead of data.
Bigtable: A Distributed Storage System for Structured Data Presenter: Guangdong Liu Jan 24 th, 2012.
Lecture 6 – Google File System (GFS) CSE 490h – Introduction to Distributed Computing, Winter 2008 Except as otherwise noted, the content of this presentation.
Lecture 7 – Bigtable CSE 490h – Introduction to Distributed Computing, Winter 2008 Except as otherwise noted, the content of this presentation is licensed.
Overview Distributed vs. decentralized Why distributed databases
Google Bigtable A Distributed Storage System for Structured Data Hadi Salimi, Distributed Systems Laboratory, School of Computer Engineering, Iran University.
7/2/2015EECS 584, Fall Bigtable: A Distributed Storage System for Structured Data Jing Zhang Reference: Handling Large Datasets at Google: Current.
Distributed storage for structured data
Bigtable: A Distributed Storage System for Structured Data
BigTable CSE 490h, Autumn What is BigTable? z “A BigTable is a sparse, distributed, persistent multidimensional sorted map. The map is indexed by.
Google Distributed System and Hadoop Lakshmi Thyagarajan.
Gowtham Rajappan. HDFS – Hadoop Distributed File System modeled on Google GFS. Hadoop MapReduce – Similar to Google MapReduce Hbase – Similar to Google.
Sanjay Ghemawat, Howard Gobioff, and Shun-Tak Leung Google∗
Bigtable: A Distributed Storage System for Structured Data F. Chang, J. Dean, S. Ghemawat, W.C. Hsieh, D.A. Wallach M. Burrows, T. Chandra, A. Fikes, R.E.
1 The Google File System Reporter: You-Wei Zhang.
Distributed Systems Tutorial 11 – Yahoo! PNUTS written by Alex Libov Based on OSCON 2011 presentation winter semester,
CSC 456 Operating Systems Seminar Presentation (11/13/2012) Leon Weingard, Liang Xin The Google File System.
Google Bigtable Fay Chang, Jeffrey Dean, Sanjay Ghemawat, Wilson C. Hsieh, Deborah A. Wallach, Mike Burrows, Tushar Chandra, Andrew Fikes, Robert E. Gruber.
SOFTWARE SYSTEMS DEVELOPMENT MAP-REDUCE, Hadoop, HBase.
SaaS 傅汝緯 李碩元 林子驥 1. What is SaaS?  Definition :Software as a service  a software delivery model in which software and associated data are centrally.
Database Design – Lecture 16
Hadoop/MapReduce Computing Paradigm 1 Shirish Agale.
Molecular Transactions G. Ramalingam Kapil Vaswani Rigorous Software Engineering, MSRI.
Google’s Big Table 1 Source: Chang et al., 2006: Bigtable: A Distributed Storage System for Structured Data.
Google Bigtable Fay Chang, Jeffrey Dean, Sanjay Ghemawat, Wilson C. Hsieh, Deborah A. Wallach, Mike Burrows, Tushar Chandra, Andrew Fikes, Robert E. Gruber.
1 Dennis Kafura – CS5204 – Operating Systems Big Table: Distributed Storage System For Structured Data Sergejs Melderis 1.
Google Bigtable Fay Chang, Jeffrey Dean, Sanjay Ghemawat, Wilson C. Hsieh, Deborah A. Wallach, Mike Burrows, Tushar Chandra, Andrew Fikes, Robert E. Gruber.
Big Table - Slides by Jatin. Goals wide applicability Scalability high performance and high availability.
Bigtable: A Distributed Storage System for Structured Data Fay Chang, Jeffrey Dean, Sanjay Ghemawat, Wilson C. Hsieh, Deborah A. Wallach, Mike Burrows,
Introduction. Readings r Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edn. 3 m Note: All figures from this book.
MapReduce and GFS. Introduction r To understand Google’s file system let us look at the sort of processing that needs to be done r We will look at MapReduce.
Presenters: Rezan Amiri Sahar Delroshan
Introduction to Hbase. Agenda  What is Hbase  About RDBMS  Overview of Hbase  Why Hbase instead of RDBMS  Architecture of Hbase  Hbase interface.
GFS. Google r Servers are a mix of commodity machines and machines specifically designed for Google m Not necessarily the fastest m Purchases are based.
Authors Brian F. Cooper, Raghu Ramakrishnan, Utkarsh Srivastava, Adam Silberstein, Philip Bohannon, Hans-Arno Jacobsen, Nick Puz, Daniel Weaver, Ramana.
CSE 486/586, Spring 2014 CSE 486/586 Distributed Systems Google Chubby Lock Service Steve Ko Computer Sciences and Engineering University at Buffalo.
CS525: Big Data Analytics MapReduce Computing Paradigm & Apache Hadoop Open Source Fall 2013 Elke A. Rundensteiner 1.
CSC590 Selected Topics Bigtable: A Distributed Storage System for Structured Data Fay Chang, Jeffrey Dean, Sanjay Ghemawat, Wilson C. Hsieh, Deborah A.
Dynamo: Amazon’s Highly Available Key-value Store DAAS – Database as a service.
Bigtable : A Distributed Storage System for Structured Data Fay Chang, Jeffrey Dean, Sanjay Ghemawat, Wilson C. Hsieh, Deborah A. Wallach Mike Burrows,
{ Tanya Chaturvedi MBA(ISM) Hadoop is a software framework for distributed processing of large datasets across large clusters of computers.
Bigtable: A Distributed Storage System for Structured Data
GPFS: A Shared-Disk File System for Large Computing Clusters Frank Schmuck & Roger Haskin IBM Almaden Research Center.
Bigtable: A Distributed Storage System for Structured Data Google Inc. OSDI 2006.
Department of Computer Science, Johns Hopkins University EN Instructor: Randal Burns 24 September 2013 NoSQL Data Models and Systems.
The Google File System Sanjay Ghemawat, Howard Gobioff, and Shun-Tak Leung Presenter: Chao-Han Tsai (Some slides adapted from the Google’s series lectures)
Bigtable A Distributed Storage System for Structured Data.
Google Cloud computing techniques (Lecture 03) 18th Jan 20161Dr.S.Sridhar, Director, RVCT, RVCE, Bangalore
From Coulouris, Dollimore, Kindberg and Blair Distributed Systems: Concepts and Design Chapter 3 System Models.
Hadoop Aakash Kag What Why How 1.
HBase Mohamed Eltabakh
CSE-291 (Cloud Computing) Fall 2016
Google Filesystem Some slides taken from Alan Sussman.
NOSQL databases and Big Data Storage Systems
Replication Middleware for Cloud Based Storage Service
آزمايشگاه سيستمهای هوشمند علی کمالی زمستان 95
Cloud Computing Storage Systems
THE GOOGLE FILE SYSTEM.
by Mikael Bjerga & Arne Lange
Presentation transcript:

Inexpensive Scalable Information Access Many Internet applications need to access data for millions of concurrent users Relational DBMS technology cannot scale to these workloads using commodity hardware Need for low cost scalable DBMSs resulted in the advent of the key-value stores (e.g., Google’s Bigtable, Yahoo!’s PNUTS, and Amazon’s Dynamo)

Key-value Stores Scalability and availability is more important than rich functionality Scalability: Scale out to thousands of commodity servers Availability: Data replicated across data centers to ensure high availability of user data in the presence of failures

Key-value Data Model Primary abstraction is a table of rows or key-value pair Each row is identified by a unique key, and the value can vary in its structure – Keys are arbitrary strings which can be up to 64K bytes – Arbitrary number of columns per row – Arbitrary data type for each column (i.e., data validation done by applications) An interpreted binary string, i.e., a Blob Columns with their own attribute as in relational DBMSs Multiple versions of each row can be maintained and accessed through timestamps

From Needs to Constraints Retrieval – (row, column, timestamp) lookup only – In some systems, simple relational operations are supported such as selection and projection Update – Updates and deletes need to specify the primary key Atomicity – Atomic Read and write only possible at row level

Scalability & Fault Tolerance Consideration Logical entity can be effectively represented as a single row Each row typically resides in a single server, and data access is restricted to a single key  Application-level data manipulation is restricted to a single computer obviating the need for multi-server coordination and synchronization Rationale: (1) requests generally distributed throughout the data set, (2) impact of failure limited to the rows served by the failed server

Cluster Management – Master-based A centralized master server keeps track of all data servers using a highly fault-tolerant (FT) service This FT service keeps track of the data stored at the different servers When a data server fails, FT service reports this failure and the master can reassign the data to other servers If the master fails, a new master is elected to take over

Cluster Management – Decentralized Typically based on gossip messages exchanged among the servers continuously These messages contain relevant performance measurements The failure of a server is detected when a gossip message from that server is missing This approach is more fault tolerant; but it incurs message overhead

Google’s Bigtable Master Chubby node Tablet Server i Tablet Server j Tablet 1Tablet 2Tablet 3 GFS Chunk Server SSTable 1 SSTable 2 SSTable 3 SSTable 4 (replica) Tablet 4Tablet 5Tablet 6 GFS Chunk Server SSTable 4 SSTable 5 SSTable 6 SSTable 2 (replica) A table is a set of tablets A master server allocates tablets among tabet servers and is responsible for load balancing Logical view Physical layout A tablet is stored as a collection of SSTable files Tablet, logically represented as a key range, is the unit of distribution and load balancing Distributed file system

Tablets A logical table is divided into multiple tablets, each hold an interval of table rows Each tablet is stored in one or more SSTable files When a tablet grows beyond a certain size, it is split into two new tablets

Google’s Bigtable - Chubby Master Chubby node Tablet Server i Tablet Server j Tablet 1Tablet 2Tablet 3 GFS Chunk Server SSTable 1 SSTable 2 SSTable 3 SSTable 4 (replica) Tablet 4Tablet 5Tablet 6 GFS Chunk Server SSTable 4 SSTable 5 SSTable 6 SSTable 2 (replica) Logical view Physical layout A tablet is stored as a collection of SSTables Highly fault tolerant - consisting of five active replicas. Service is live when majority of replicas are running It is used for managing the tablet servers Replication is handled by GFS Determines which server to hold a tablet

Google’s Bigtable - Column Families Related columns stored in fixed number of families (the unit for data colocation and access at the storage layer) Permissions can be applied at family level to grant access to different applications

Google’s Bigtable - Chubby The master and every tablet server obtains a timed lease with Chubby that must be periodically renewed A server can carry out its responsibilities only if it has an active lease Every tablet server periodically reports to the master using heartbeat messages (that also contain the load statistics) Master detects failures based on the heartbeat messages and uses the statistics for load balancing

Google’s Bigtable – Server Failure Master Chubby node Tablet Server i Tablet Server j Tablet 1Tablet 2Tablet 3 GFS Chunk Server SSTable 1 SSTable 2 SSTable 3 SSTable 4 (replica) Tablet 4Tablet 5Tablet 6 GFS Chunk Server SSTable 4 SSTable 5 SSTable 6 SSTable 2 (replica) Logical view Physical layout If this server fails Tablet 4 Informs Server i to take over Tablet 4