Google Bigtable Fay Chang, Jeffrey Dean, Sanjay Ghemawat, Wilson C. Hsieh, Deborah A. Wallach, Mike Burrows, Tushar Chandra, Andrew Fikes, Robert E. Gruber.

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.
Homework 2 What is the role of the secondary database that we have to create? What is the role of the secondary database that we have to create?  A relational.
The google file system Cs 595 Lecture 9.
Big Table Alon pluda.
The Google File System Authors : Sanjay Ghemawat, Howard Gobioff, Shun-Tak Leung Presentation by: Vijay Kumar Chalasani 1CS5204 – Operating Systems.
CS5412: DIVING IN: INSIDE THE DATA CENTER Ken Birman 1 CS5412 Spring 2014 (Cloud Computing: Birman) Lecture V.
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.
The Google File System. Why? Google has lots of data –Cannot fit in traditional file system –Spans hundreds (thousands) of servers connected to (tens.
CS5412: OTHER DATA CENTER SERVICES Ken Birman 1 CS5412 Spring 2012 (Cloud Computing: Birman) Lecture IX.
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.
 Pouria Pirzadeh  3 rd year student in CS  PhD  Vandana Ayyalasomayajula  1 st year student in CS  Masters.
Authors Fay Chang Jeffrey Dean Sanjay Ghemawat Wilson Hsieh Deborah Wallach Mike Burrows Tushar Chandra Andrew Fikes Robert Gruber Bigtable: A Distributed.
Northwestern University 2007 Winter – EECS 443 Advanced Operating Systems The Google File System S. Ghemawat, H. Gobioff and S-T. Leung, The Google File.
BigTable: A Distributed Storage System for Structured Data Fay Chang, Jeffrey Dean, Sanjay Ghemawat, Wilson C. Hsieh, Deborah A. Wallach, Mike Burrows,
Distributed storage for structured data
Bigtable: A Distributed Storage System for Structured Data
BigTable A System for Distributed Structured Storage Yanen Li Department of Computer Science University of Illinois at Urbana-Champaign
BigTable CSE 490h, Autumn What is BigTable? z “A BigTable is a sparse, distributed, persistent multidimensional sorted map. The map is indexed by.
Inexpensive Scalable Information Access Many Internet applications need to access data for millions of concurrent users Relational DBMS technology cannot.
Google Distributed System and Hadoop Lakshmi Thyagarajan.
Author: Murray Stokely Presenter: Pim van Pelt Distributed Computing at Google.
Sanjay Ghemawat, Howard Gobioff, and Shun-Tak Leung Google∗
Advanced Topics: MapReduce ECE 454 Computer Systems Programming Topics: Reductions Implemented in Distributed Frameworks Distributed Key-Value Stores Hadoop.
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.
CSC 456 Operating Systems Seminar Presentation (11/13/2012) Leon Weingard, Liang Xin The Google File System.
Map Reduce for data-intensive computing (Some of the content is adapted from the original authors’ talk at OSDI 04)
Bigtable: A Distributed Storage System for Structured Data Google’s NoSQL Solution 2013/4/1Title1 Chao Wang Fay Chang, Jeffrey Dean, Sanjay.
BigTable and Accumulo CMSC 461 Michael Wilson. BigTable  This was Google’s original distributed data concept  Key value store  Meant to be scaled up.
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.
Hypertable Doug Judd Zvents, Inc.. hypertable.org Background.
Bigtable: A Distributed Storage System for Structured Data 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,
Large-scale Incremental Processing Using Distributed Transactions and Notifications Daniel Peng and Frank Dabek Google, Inc. OSDI Feb 2012 Presentation.
Key/Value Stores CMSC 491 Hadoop-Based Distributed Computing Spring 2015 Adam Shook.
Large Scale Machine Translation Architectures Qin Gao.
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.
Eduardo Gutarra Velez. Outline Distributed Filesystems Motivation Google Filesystem Architecture The Metadata Consistency Model File Mutation.
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.
Distributed Systems GFS/HDFS.
CSC590 Selected Topics Bigtable: A Distributed Storage System for Structured Data Fay Chang, Jeffrey Dean, Sanjay Ghemawat, Wilson C. Hsieh, Deborah A.
Bigtable : A Distributed Storage System for Structured Data Fay Chang, Jeffrey Dean, Sanjay Ghemawat, Wilson C. Hsieh, Deborah A. Wallach Mike Burrows,
Bigtable: A Distributed Storage System for Structured Data
Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition, Lecture 24: GFS.
Bigtable: A Distributed Storage System for Structured Data Google Inc. OSDI 2006.
Apache Accumulo CMSC 491 Hadoop-Based Distributed Computing Spring 2016 Adam Shook.
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.
Big Data Infrastructure Week 10: Mutable State (1/2) This work is licensed under a Creative Commons Attribution-Noncommercial-Share Alike 3.0 United States.
From Coulouris, Dollimore, Kindberg and Blair Distributed Systems: Concepts and Design Chapter 3 System Models.
Bigtable: A Distributed Storage System for Structured Data Written By: Fay Chang, Jeffrey Dean, Sanjay Ghemawat, Wilson C. Hsieh, Deborah A. Wallach, Mike.
CSCI5570 Large Scale Data Processing Systems
Bigtable A Distributed Storage System for Structured Data
Lecture 7 Bigtable Instructor: Weidong Shi (Larry), PhD
Bigtable: A Distributed Storage System for Structured Data
GFS and BigTable (Lecture 20, cs262a)
Data Management in the Cloud
CSE-291 (Cloud Computing) Fall 2016
Google Filesystem Some slides taken from Alan Sussman.
Cloud Computing Storage Systems
A Distributed Storage System for Structured Data
by Mikael Bjerga & Arne Lange
Presentation transcript:

Google Bigtable Fay Chang, Jeffrey Dean, Sanjay Ghemawat, Wilson C. Hsieh, Deborah A. Wallach, Mike Burrows, Tushar Chandra, Andrew Fikes, Robert E. Gruber Google, Inc. OSDI 2006 Adapted by S. Sudarshan from a talk by Erik Paulson, UW Madison

2 Google Scale Lots of data  Copies of the web, satellite data, user data, and USENET, Subversion backing store Many incoming requests No commercial system big enough  Couldn’t afford it if there was one  Might not have made appropriate design choices Firm believers in the End-to-End argument 450,000 machines (NYTimes estimate, June 14 th 2006

3 Building Blocks Scheduler (Google WorkQueue) Google Filesystem Chubby Lock service Two other pieces helpful but not required  Sawzall  MapReduce (despite what the Internet says) BigTable: build a more application-friendly storage service using these parts

4 Google File System Large-scale distributed “filesystem” Master: responsible for metadata Chunk servers: responsible for reading and writing large chunks of data Chunks replicated on 3 machines, master responsible for ensuring replicas exist OSDI ’04 Paper

5 Chubby {lock/file/name} service Coarse-grained locks, can store small amount of data in a lock 5 replicas, need a majority vote to be active Also an OSDI ’06 Paper

6 Data model: a big map triple for key - lookup, insert, and delete API Arbitrary “columns” on a row-by-row basis  Column family:qualifier. Family is heavyweight, qualifier lightweight  Column-oriented physical store- rows are sparse! Does not support a relational model  No table-wide integrity constraints  No multirow transactions

7 SSTable Immutable, sorted file of key-value pairs Chunks of data plus an index  Index is of block ranges, not values Index 64K block SSTable

8 Tablet Contains some range of rows of the table Built out of multiple SSTables Index 64K block SSTable Index 64K block SSTable Tablet Start:aardvarkEnd:apple

9 Table Multiple tablets make up the table SSTables can be shared Tablets do not overlap, SSTables can overlap SSTable Tablet aardvark apple Tablet apple_two_E boat

10 Finding a tablet Stores: Key: table id + end row, Data: location Cached at clients, which may detect data to be incorrect  in which case, lookup on hierarchy performed Also prefetched (for range queries)

11 Servers Tablet servers manage tablets, multiple tablets per server. Each tablet is MB  Each tablet lives at only one server  Tablet server splits tablets that get too big Master responsible for load balancing and fault tolerance

12 Master’s Tasks Use Chubby to monitor health of tablet servers, restart failed servers  Tablet server registers itself by getting a lock in a specific directory chubby Chubby gives “lease” on lock, must be renewed periodically Server loses lock if it gets disconnected  Master monitors this directory to find which servers exist/are alive If server not contactable/has lost lock, master grabs lock and reassigns tablets GFS replicates data. Prefer to start tablet server on same machine that the data is already at

13 Master’s Tasks (Cont) When (new) master starts  grabs master lock on chubby Ensures only one master at a time  Finds live servers (scan chubby directory)  Communicates with servers to find assigned tablets  Scans metadata table to find all tablets Keeps track of unassigned tablets, assigns them Metadata root from chubby, other metadata tablets assigned before scanning.

14 Metadata Management Master handles  table creation, and merging of tablet Tablet servers directly update metadata on tablet split, then notify master  lost notification may be detected lazily by master

15 Editing a table Mutations are logged, then applied to an in-memory memtable  May contain “deletion” entries to handle updates  Group commit on log: collect multiple updates before log flush SSTable Tablet apple_two_E boat Insert Delete Insert Delete Insert Memtable tablet log GFS Memory

16 Compactions Minor compaction – convert the memtable into an SSTable  Reduce memory usage  Reduce log traffic on restart Merging compaction  Reduce number of SSTables  Good place to apply policy “keep only N versions” Major compaction  Merging compaction that results in only one SSTable  No deletion records, only live data

17 Locality Groups Group column families together into an SSTable  Avoid mingling data, e.g. page contents and page metadata  Can keep some groups all in memory Can compress locality groups Bloom Filters on SSTables in a locality group  bitmap on keyvalue hash, used to overestimate which records exist  avoid searching SSTable if bit not set Tablet movement  Major compaction (with concurrent updates)  Minor compaction (to catch up with updates) without any concurrent updates  Load on new server without requiring any recovery action

18 Log Handling Commit log is per server, not per tablet (why?)  complicates tablet movement  when server fails, tablets divided among multiple servers can cause heavy scan load by each such server optimization to avoid multiple separate scans: sort log by (table, rowname, LSN), so logs for a tablet are clustered, then distribute GFS delay spikes can mess up log write (time critical)  solution: two separate logs, one active at a time  can have duplicates between these two

19 Immutability SSTables are immutable  simplifies caching, sharing across GFS etc  no need for concurrency control  SSTables of a tablet recorded in METADATA table  Garbage collection of SSTables done by master  On tablet split, split tables can start off quickly on shared SSTables, splitting them lazily Only memtable has reads and updates concurrent  copy on write rows, allow concurrent read/write

20 Microbenchmarks

21

22 Application at Google

23 Lessons learned Interesting point- only implement some of the requirements, since the last is probably not needed Many types of failure possible Big systems need proper systems-level monitoring Value simple designs