Big Table. Google s Storage Choice for Structured Data. Presented by Group E - Dawei Yang - Grace Ramamoorthy - Patrick O Sullivan - Rohan Singla

Similar documents
Bigtable: A Distributed Storage System for Structured Data By Fay Chang, et al. OSDI Presented by Xiang Gao

BigTable. CSE-291 (Cloud Computing) Fall 2016

Bigtable: A Distributed Storage System for Structured Data. Andrew Hon, Phyllis Lau, Justin Ng

Bigtable: A Distributed Storage System for Structured Data by Google SUNNIE CHUNG CIS 612

CSE 444: Database Internals. Lectures 26 NoSQL: Extensible Record Stores

Bigtable. A Distributed Storage System for Structured Data. Presenter: Yunming Zhang Conglong Li. Saturday, September 21, 13

References. What is Bigtable? Bigtable Data Model. Outline. Key Features. CSE 444: Database Internals

BigTable. Chubby. BigTable. Chubby. Why Chubby? How to do consensus as a service

Distributed File Systems II

Bigtable. Presenter: Yijun Hou, Yixiao Peng

Introduction Data Model API Building Blocks SSTable Implementation Tablet Location Tablet Assingment Tablet Serving Compactions Refinements

CSE 544 Principles of Database Management Systems. Magdalena Balazinska Winter 2009 Lecture 12 Google Bigtable

CS November 2017

CSE-E5430 Scalable Cloud Computing Lecture 9

Big Data Infrastructure CS 489/698 Big Data Infrastructure (Winter 2017)

Big Data Infrastructure CS 489/698 Big Data Infrastructure (Winter 2016)

BigTable: A Distributed Storage System for Structured Data (2006) Slides adapted by Tyler Davis

ΕΠΛ 602:Foundations of Internet Technologies. Cloud Computing

Bigtable: A Distributed Storage System for Structured Data

Extreme Computing. NoSQL.

CS November 2018

Bigtable: A Distributed Storage System for Structured Data

Structured Big Data 1: Google Bigtable & HBase Shiow-yang Wu ( 吳秀陽 ) CSIE, NDHU, Taiwan, ROC

BigTable: A Distributed Storage System for Structured Data

7680: Distributed Systems

big picture parallel db (one data center) mix of OLTP and batch analysis lots of data, high r/w rates, 1000s of cheap boxes thus many failures

Bigtable: A Distributed Storage System for Structured Data

Distributed Systems [Fall 2012]

Distributed Database Case Study on Google s Big Tables

BigTable A System for Distributed Structured Storage

BigTable: A System for Distributed Structured Storage

CS5412: OTHER DATA CENTER SERVICES

Lecture: The Google Bigtable

CS5412: DIVING IN: INSIDE THE DATA CENTER

W b b 2.0. = = Data Ex E pl p o l s o io i n

CA485 Ray Walshe NoSQL

Outline. Spanner Mo/va/on. Tom Anderson

18-hdfs-gfs.txt Thu Oct 27 10:05: Notes on Parallel File Systems: HDFS & GFS , Fall 2011 Carnegie Mellon University Randal E.

CS /29/18. Paul Krzyzanowski 1. Question 1 (Bigtable) Distributed Systems 2018 Pre-exam 3 review Selected questions from past exams

Design & Implementation of Cloud Big table

Distributed Systems Pre-exam 3 review Selected questions from past exams. David Domingo Paul Krzyzanowski Rutgers University Fall 2018

Google File System and BigTable. and tiny bits of HDFS (Hadoop File System) and Chubby. Not in textbook; additional information

The Google File System

Distributed Data Management. Christoph Lofi Institut für Informationssysteme Technische Universität Braunschweig

Infrastructure system services

11 Storage at Google Google Google Google Google 7/2/2010. Distributed Data Management

18-hdfs-gfs.txt Thu Nov 01 09:53: Notes on Parallel File Systems: HDFS & GFS , Fall 2012 Carnegie Mellon University Randal E.

CS5412: DIVING IN: INSIDE THE DATA CENTER

Cassandra Design Patterns

MapReduce & BigTable

CSE 124: Networked Services Lecture-16

Programming model and implementation for processing and. Programs can be automatically parallelized and executed on a large cluster of machines

Distributed Filesystem

CA485 Ray Walshe Google File System

The Google File System

CSE 124: Networked Services Fall 2009 Lecture-19

The Google File System (GFS)

The Google File System

Google File System 2

Big Table. Dennis Kafura CS5204 Operating Systems

CLOUD-SCALE FILE SYSTEMS

Recap. CSE 486/586 Distributed Systems Google Chubby Lock Service. Paxos Phase 2. Paxos Phase 1. Google Chubby. Paxos Phase 3 C 1

DIVING IN: INSIDE THE DATA CENTER

! Design constraints. " Component failures are the norm. " Files are huge by traditional standards. ! POSIX-like

Google File System. Arun Sundaram Operating Systems

goals monitoring, fault tolerance, auto-recovery (thousands of low-cost machines) handle appends efficiently (no random writes & sequential reads)

Distributed Systems 16. Distributed File Systems II

Google Data Management

Google File System. By Dinesh Amatya

The Google File System

Goal of the presentation is to give an introduction of NoSQL databases, why they are there.

Google File System. Sanjay Ghemawat, Howard Gobioff, and Shun-Tak Leung Google fall DIP Heerak lim, Donghun Koo

CS 138: Google. CS 138 XVII 1 Copyright 2016 Thomas W. Doeppner. All rights reserved.

Scaling Up HBase. Duen Horng (Polo) Chau Assistant Professor Associate Director, MS Analytics Georgia Tech. CSE6242 / CX4242: Data & Visual Analytics

The Google File System

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

CS 138: Google. CS 138 XVI 1 Copyright 2017 Thomas W. Doeppner. All rights reserved.

NPTEL Course Jan K. Gopinath Indian Institute of Science

Recap. CSE 486/586 Distributed Systems Google Chubby Lock Service. Recap: First Requirement. Recap: Second Requirement. Recap: Strengthening P2

Data Storage in the Cloud

Ghislain Fourny. Big Data 5. Wide column stores

Georgia Institute of Technology ECE6102 4/20/2009 David Colvin, Jimmy Vuong

Google big data techniques (2)

The Google File System

Distributed Systems. Fall 2017 Exam 3 Review. Paul Krzyzanowski. Rutgers University. Fall 2017

The Google File System

PebblesDB: Building Key-Value Stores using Fragmented Log Structured Merge Trees

Authors : Sanjay Ghemawat, Howard Gobioff, Shun-Tak Leung Presentation by: Vijay Kumar Chalasani

COSC 6339 Big Data Analytics. NoSQL (II) HBase. Edgar Gabriel Fall HBase. Column-Oriented data store Distributed designed to serve large tables

CS555: Distributed Systems [Fall 2017] Dept. Of Computer Science, Colorado State University

Distributed Systems. 05r. Case study: Google Cluster Architecture. Paul Krzyzanowski. Rutgers University. Fall 2016

HBASE INTERVIEW QUESTIONS

Map-Reduce. Marco Mura 2010 March, 31th

Data Informatics. Seon Ho Kim, Ph.D.

DISTRIBUTED SYSTEMS [COMP9243] Lecture 9b: Distributed File Systems INTRODUCTION. Transparency: Flexibility: Slide 1. Slide 3.

Cluster-Level Google How we use Colossus to improve storage efficiency

Distributed System. Gang Wu. Spring,2018

Lessons Learned While Building Infrastructure Software at Google

Distributed computing: index building and use

Applications of Paxos Algorithm

Transcription:

Big Table Google s Storage Choice for Structured Data Presented by Group E - Dawei Yang - Grace Ramamoorthy - Patrick O Sullivan - Rohan Singla

Bigtable: Introduction Resembles a database. Does not support a full relational data model. Treats data as uninterpreted string. Stores several hundred terabytes of data across thousands of servers. Allows the clients to control the locality of their data- out of memory or from disk.

Bigtable: Data Model Definition A Bigtable is a sparse, distributed, persistent multidimensional sorted map. The map is indexed by a row key, column key, and a timestamp; each value in the map is an uninterpreted array of bytes. (row:string, column:string, time:int64) -> string

Data Model: Column Families Grouped into sets called column families All data stored in a column family is usually of the same type A column family must be created before data can be stored under any column key in that family A column key is named using the following syntax: family:qualifier

DataModel: Row The row keys in a table are arbitrary strings Every read or write of data under a single row key is atomic Maintains data in lexicographic order by row key

Data Model: Timestamps Each cell in a Bigtable can contain multiple versions of the same data; these versions are indexed by timestamp (64-bit integers). Applications that need to avoid collisions must generate unique timestamps themselves. To make the management of versioned data less onerous, they support two per-column-family settings that tell Bigtable to garbage-collect cell versions automatically.

Big Table: Implementation Google WorkQueue (scheduler) GFS: large-scale distributed file system Chubby: lock/file/name service Coarse-grained locks; can store small amount of data in a lock 5 replicas

Implementation: SSTable Internal data type of Big Table Part of GFS Immutable, sorted file of key-value pairs Chunks of data and an index

Implementation: Tablet Design Large tables broken into tablets at row boundaries Tablets hold contiguous rows Approx 100-200 MB of data per tablet Approx 100 tablets per machine Fast recovery Load-balancing Built out of multiple SSTables

Implementation: Tablet Assignment Directory Chubby Gets an exclusive lock Tablet server Master Server Each tablet is assigned to one tablet server at a time. The tablet servers are responsible for the reads and writes of the tablet. When the tablet size increases the tablet server splits the tablet.

Implementation: Master Start Up When a Master starts up: It gets a unique master lock on Chubby. Scans the Chubby directory to find the live tablet servers. Communicates with all the live tablet servers to discover the tablets assigned. Scans the METADATA table to know the set of tablets. Creates a list of unassigned tablets.

Implementation: Tablet Location Like a B+-tree, but fixed at 3 levels To avoid bottleneck at the root: Aggressively cache tablet locations Lookup starts from leaf

Implementation: Tablet Serving Updates are logged Memtable (sorted by key) caches recent updates Each SSTable corresponds to a batch of updates or a snapshot of the tablet taken at some earlier time Reads consult both memtable and SSTables

Implementation: Compactions Minor compaction converts the memtable into an SSTable memtablel e memtable Merging compaction Memtable to SSTable memtable Reduces the number of SSTables Major compaction memtable Reduces the SSTables to one

Recap

Implementation: Refinements Group column families together into an SSTable. Segregating column families that are not typically accessed together into separate locality groups enables more efficient reads. Can compress locality groups, using Bentley and McIlroy s scheme and a fast compression algorithm that looks for repetitions. Bloom Filters on locality groups allows to ask whether an SSTable might contain any data for a specified row/column pair. Drastically reduces the number of disk seeks required for non-existent rows or columns do not need to touch disk.

Implementation: Refinements Caching for read performance ( two levels of caching) Scan Cache: higher-level cache that caches the key-value pairs returned by the SSTable interface to the tablet server code. Block Cache: lower-level cache that caches SSTables blocks that were read from GFS. Commit-log implementation Speeding up tablet recovery (log entries) Exploiting immutability

Performance of Bigtable

Scalability of Bigtable

The Size of Bigtable Tablet servers run on1 GB of memory, two 400GB hard drives and dual-core Opteron 2 GHz chips Enough physical memory to hold the working set of all running processes

Questions