CSE-291 (Cloud Computing) Fall 2016

Slides:



Advertisements
Similar presentations
Introduction to cloud computing
Advertisements

Introduction to cloud computing Jiaheng Lu Department of Computer Science Renmin University of China
Tomcy Thankachan  Introduction  Data model  Building Blocks  Implementation  Refinements  Performance Evaluation  Real applications  Conclusion.
Bigtable: A Distributed Storage System for Structured Data Fay Chang et al. (Google, Inc.) Presenter: Kyungho Jeon 10/22/2012 Fall.
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.
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.
Big Table Alon pluda.
Bigtable: A Distributed Storage System for Structured Data Presenter: Guangdong Liu Jan 24 th, 2012.
Lecture 7 – Bigtable CSE 490h – Introduction to Distributed Computing, Winter 2008 Except as otherwise noted, the content of this presentation is licensed.
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.
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 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.
Sanjay Ghemawat, Howard Gobioff, and Shun-Tak Leung Google∗
BigTable and Google File System
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.
Google Bigtable Fay Chang, Jeffrey Dean, Sanjay Ghemawat, Wilson C. Hsieh, Deborah A. Wallach, Mike Burrows, Tushar Chandra, Andrew Fikes, Robert E. Gruber.
HBase A column-centered database 1. Overview An Apache project Influenced by Google’s BigTable Built on Hadoop ▫A distributed file system ▫Supports Map-Reduce.
Google’s Big Table 1 Source: Chang et al., 2006: Bigtable: A Distributed Storage System for Structured Data.
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,
VICTORIA UNIVERSITY OF WELLINGTON Te Whare Wananga o te Upoko o te Ika a Maui SWEN 432 Advanced Database Design and Implementation Cloud Data Models Lecturer.
Key/Value Stores CMSC 491 Hadoop-Based Distributed Computing Spring 2015 Adam Shook.
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.
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
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.
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.
Bigtable: A Distributed Storage System for Structured Data Written By: Fay Chang, Jeffrey Dean, Sanjay Ghemawat, Wilson C. Hsieh, Deborah A. Wallach, Mike.
Sanjay Ghemawat, Howard Gobioff, Shun-Tak Leung
CSCI5570 Large Scale Data Processing Systems
Bigtable A Distributed Storage System for Structured Data
Lecture 7 Bigtable Instructor: Weidong Shi (Larry), PhD
Column-Based.
HBase Mohamed Eltabakh
Bigtable: A Distributed Storage System for Structured Data
How did it start? • At Google • • • • Lots of semi structured data
GFS and BigTable (Lecture 20, cs262a)
Data Management in the Cloud
Informatica PowerCenter Performance Tuning Tips
CSE-291 Cloud Computing, Fall 2016 Kesden
Gowtham Rajappan.
Google Filesystem Some slides taken from Alan Sussman.
Google File System CSE 454 From paper by Ghemawat, Gobioff & Leung.
The Google File System Sanjay Ghemawat, Howard Gobioff and Shun-Tak Leung Google Presented by Jiamin Huang EECS 582 – W16.
Data-Intensive Distributed Computing
آزمايشگاه سيستمهای هوشمند علی کمالی زمستان 95
Cloud Computing Storage Systems
A Distributed Storage System for Structured Data
THE GOOGLE FILE SYSTEM.
Presentation transcript:

CSE-291 (Cloud Computing) Fall 2016 BigTable CSE-291 (Cloud Computing) Fall 2016

Data Model Sparse, distributed persistent, multi-dimensional sorted map Indexed by a row key, column key, and timestamp Values are uninterpreted arrays of bytes (row:string, column:string, time:int64)  string

Slice of an Example Table

Rows Arbitrary strings Reads and writes of rows are atomic (even across columns) Makes it easier to reason about results Data is lexicographically sorted by row Row range partitioned into tablets Used for distribution and load balancing Reads of short row ranges are efficient If data has good locality w.r.t. tablets, efficiency boost

Column Families Not columns, groups of columns Unit of access control, disk and memory accounting Column families group column keys Data within column family is usually same type, compressed together Columns within column family rarely change Relatively few column families

Timestamps Cells are versioned Timestamps are times in microseconds Or, alternately, user can assign, e.g. version number, etc Need user-assigned unique timestamps, if want to avoid collisions Automated garbage collection Most recent n Within m amount of time

API Create and destroy tables and column families Change metadata, e.g. access control, etc Write or delete values Iterate across rows Iterate over subset of data Single row transactions (read-update-write) Cells to be used as counters Client-provided server-side scripts for transformation, filtering, summarizationetc.

Building blocks Uses GFS for log and data files Shares servers with other applications

Building blocks: SSTables SSTable file format used to store tables Sorted String Table Key-value pairs, sorted by key Blocks of data followed by binary-searchable index at end Index in memory, one seek to data Or, load all into memory Lookup value by key, iterate over key/value pairs in range

Building Blocks: Chubby Distributed lock service 5 active replicas, one is master Only master serves requests Needs majority to work Paxos based Namespace is directories and tiny files Directories and files can be used as locks Locks are leased and callbacks can be requested Used to ensure one active master, location of tablet servers, schema information, access control lists

Master Server Master server Assigns tablets to tablet servers Detecting and managing changes to tablet servers Load balancing across tablet servers

Tablet Server Tablet server Can be dynamically added and removed Manages read and writes Split tablets that are too large

BigTable Cluster Cluster stores Tables Tables store Tablets Tablets store Row Range Initially, one Tablet per Table, then split with growth

Tablet Location

Tablet Assignment Each tablet lives on one server at a time Master keeps track of live tablet servers and assignments Chubby used to keep track of tablet servers Master monitors Chubby directory Tablet servers can’t serve if they lose exclusive lock on tablet Tablets reassigned when not reachable Notify master if lost lock Master heartbeats (asks for status of lock from tablet server)

Tablet Serving Persistent stores redo record stored in GFS Commit log Recent updates in in-memory memtable Older updates in sstable

Locality Groups Grouping of multiple column families together Separate SSTable for each locality group Makes it faster to access data that is accessed together

Compression Per block or across blocks Sometimes 2 pass schemes Per block enables small portions to be read without decompression of larger block Sometimes 2 pass schemes Want to emphasize speed over compression

Read Caching Scan cache Block cache Key-value pairs from sstable Sstable blocks read from GFS

Bloom Filters Reads need to read from all SStables that make up table Bloom filters reduce the number that are accessed by don’t have matching row/column pair. Ditto for non-existent pairs

Commit Log Logs are written concurrently Different purposes Different files would mean different locations on disk Use one per tablet server, not one per tablet Reduces the number of files written, improves seek locality, reduces overhead, etc. Complicates recovery Few log entries relate to any one tablet server Parallel sort by key first, then entries for one server are together.

Tablet Migration Process Compact Freeze Migrate Log is clean for move with only a short freeze time

Immutability Only memtable allows reads and writes Everything else is versioned Allows asynchronous deletes Mitigates need for locking.