CS 440 Database Management Systems Parallel DB & Map/Reduce Some slides due to Kevin Chang 1.

Slides:



Advertisements
Similar presentations
Lecture 12: MapReduce: Simplified Data Processing on Large Clusters Xiaowei Yang (Duke University)
Advertisements

MAP REDUCE PROGRAMMING Dr G Sudha Sadasivam. Map - reduce sort/merge based distributed processing Best for batch- oriented processing Sort/merge is primitive.
CS 245Notes 71 CS 245: Database System Principles Notes 7: Query Optimization Hector Garcia-Molina.
Overview of MapReduce and Hadoop
Based on the text by Jimmy Lin and Chris Dryer; and on the yahoo tutorial on mapreduce at index.html
MapReduce Online Created by: Rajesh Gadipuuri Modified by: Ying Lu.
Parallel Computing MapReduce Examples Parallel Efficiency Assignment
Query Execution, Concluded Zachary G. Ives University of Pennsylvania CIS 550 – Database & Information Systems November 18, 2003 Some slide content may.
HadoopDB Inneke Ponet.  Introduction  Technologies for data analysis  HadoopDB  Desired properties  Layers of HadoopDB  HadoopDB Components.
CS347: MapReduce CS Motivation for Map-Reduce Distribution makes simple computations complex Communication Load balancing Fault tolerance … What.
Distributed Computations
CS 245Notes 71 CS 245: Database System Principles Notes 7: Query Optimization Hector Garcia-Molina.
MapReduce Dean and Ghemawat. MapReduce: Simplified Data Processing on Large Clusters. Communications of the ACM, Vol. 51, No. 1, January Shahram.
Homework 2 In the docs folder of your Berkeley DB, have a careful look at documentation on how to configure BDB in main memory. In the docs folder of your.
Distributed Computations MapReduce
Evaluation of Relational Operations. Relational Operations v We will consider how to implement: – Selection ( ) Selects a subset of rows from relation.
7/14/2015EECS 584, Fall MapReduce: Simplied Data Processing on Large Clusters Yunxing Dai, Huan Feng.
L22: SC Report, Map Reduce November 23, Map Reduce What is MapReduce? Example computing environment How it works Fault Tolerance Debugging Performance.
MapReduce : Simplified Data Processing on Large Clusters Hongwei Wang & Sihuizi Jin & Yajing Zhang
PARALLEL DBMS VS MAP REDUCE “MapReduce and parallel DBMSs: friends or foes?” Stonebraker, Daniel Abadi, David J Dewitt et al.
Take An Internal Look at Hadoop Hairong Kuang Grid Team, Yahoo! Inc
Advanced Topics: MapReduce ECE 454 Computer Systems Programming Topics: Reductions Implemented in Distributed Frameworks Distributed Key-Value Stores Hadoop.
SIDDHARTH MEHTA PURSUING MASTERS IN COMPUTER SCIENCE (FALL 2008) INTERESTS: SYSTEMS, WEB.
MapReduce.
MapReduce. Web data sets can be very large – Tens to hundreds of terabytes Cannot mine on a single server Standard architecture emerging: – Cluster of.
Google MapReduce Simplified Data Processing on Large Clusters Jeff Dean, Sanjay Ghemawat Google, Inc. Presented by Conroy Whitney 4 th year CS – Web Development.
Map Reduce for data-intensive computing (Some of the content is adapted from the original authors’ talk at OSDI 04)
Parallel Programming Models Basic question: what is the “right” way to write parallel programs –And deal with the complexity of finding parallelism, coarsening.
MapReduce: Simplified Data Processing on Large Clusters Jeffrey Dean and Sanjay Ghemawat.
MapReduce – An overview Medha Atre (May 7, 2008) Dept of Computer Science Rensselaer Polytechnic Institute.
MapReduce: Hadoop Implementation. Outline MapReduce overview Applications of MapReduce Hadoop overview.
Introduction to Hadoop and HDFS
MAP REDUCE : SIMPLIFIED DATA PROCESSING ON LARGE CLUSTERS Presented by: Simarpreet Gill.
MapReduce How to painlessly process terabytes of data.
MapReduce M/R slides adapted from those of Jeff Dean’s.
MapReduce Kristof Bamps Wouter Deroey. Outline Problem overview MapReduce o overview o implementation o refinements o conclusion.
Chapter 5 Ranking with Indexes 1. 2 More Indexing Techniques n Indexing techniques:  Inverted files - best choice for most applications  Suffix trees.
CS525: Big Data Analytics MapReduce Computing Paradigm & Apache Hadoop Open Source Fall 2013 Elke A. Rundensteiner 1.
Topic Distributed DBMS Database Management Systems Fall 2012 Presented by: Osama Ben Omran.
Physical Database Design Purpose- translate the logical description of data into the technical specifications for storing and retrieving data Goal - create.
MapReduce Computer Engineering Department Distributed Systems Course Assoc. Prof. Dr. Ahmet Sayar Kocaeli University - Fall 2015.
IBM Research ® © 2007 IBM Corporation Introduction to Map-Reduce and Join Processing.
C-Store: MapReduce Jianlin Feng School of Software SUN YAT-SEN UNIVERSITY May. 22, 2009.
Query Execution. Where are we? File organizations: sorted, hashed, heaps. Indexes: hash index, B+-tree Indexes can be clustered or not. Data can be stored.
MapReduce: Simplified Data Processing on Large Clusters By Dinesh Dharme.
CS 440 Database Management Systems Lecture 5: Query Processing 1.
Implementation of Database Systems, Jarek Gryz1 Evaluation of Relational Operations Chapter 12, Part A.
CS 540 Database Management Systems
Query Execution Query compiler Execution engine Index/record mgr. Buffer manager Storage manager storage User/ Application Query update Query execution.
Database Management Systems 3ed, R. Ramakrishnan and J. Gehrke1 Evaluation of Relational Operations Chapter 14, Part A (Joins)
CPT-S Advanced Databases 11 Yinghui Wu EME 49.
Lecture 3 – MapReduce: Implementation CSE 490h – Introduction to Distributed Computing, Spring 2009 Except as otherwise noted, the content of this presentation.
CS 440 Database Management Systems
CS 540 Database Management Systems
CS 540 Database Management Systems
Distributed Programming in “Big Data” Systems Pramod Bhatotia wp
CS 440 Database Management Systems
Large-scale file systems and Map-Reduce
Parallel Databases.
Evaluation of Relational Operations
MapReduce Simplied Data Processing on Large Clusters
April 30th – Scheduling / parallel
Cse 344 May 2nd – Map/reduce.
February 26th – Map/Reduce
Cse 344 May 4th – Map/Reduce.
Akshay Tomar Prateek Singh Lohchubh
Lecture 13: Query Execution
Evaluation of Relational Operations: Other Techniques
5/7/2019 Map Reduce Map reduce.
MapReduce: Simplified Data Processing on Large Clusters
Presentation transcript:

CS 440 Database Management Systems Parallel DB & Map/Reduce Some slides due to Kevin Chang 1

Parallel vs. Distributed DB Fully integrated system, logically a single machine No notion of site autonomy Centralized schema All queries started at a well-defined “host”

Parallel data processing: performance metrics Speedup: constant problem, growing system small-system-elapsed-time big-system-elapsed-time – linear speedup if N-system yields N-speedup Scaleup: ability to grow both the system/problem 1-system-elapsed-time-on-1-problem N-system-elapsed-time-on-N-problem – linear if scaleup = 1

Natural parallelism: relations in and out Pipeline: – piping the output of one op into the next Partition: – N op-clones, each processes 1/N input Observation: – essentially sequential programming Any Sequential Program Any Sequential Program Sequential Any Sequential Program Any Sequential Program

Speedup & Scaleup barriers Startup: – time to start a parallel operation – e.g.: creating processes, opening files, … Interference: – slowdown for access shared resources – e.g.: hotspots, logs – communication cost more I/O access Skew: – if tuples are not uniformly distributed, some processors may have to do a lot more work – service time = slowest parallel step of the job – optimize partitioning, #workers, …

Speedup

Parallel Architectures Shared memory Shared disks Shared nothing ?? Pros and cons? – software development (programming)? – hardware development (system scalability)?

Architecture : comparison Shared MemoryShared DiskShared Nothing Easy to program Difficult to build Difficult to scaleup Hard to program Easy to build Easy to scaleup Winner will be hybrid of shared memory & shared nothing? e.g.: distributed shared memory (Encore, Spark) Oracle RAC Teradata, Tandem, Greenplum

(Horizontal) data partitioning Relation R split into P chunks R 0,..., R P-1, stored at the P nodes. Round robin – tuple ti to chunk (i mod P) Hash based on attribute A – Tuple t to chunk h(t.A) mod P Range based on attribute A – Tuple t to chunk i if vi-1 < t.A < vi Why not vertical? Load balancing? directed query? 9

Horizontal Data Partitioning Round robin – query: no direction. – load: uniform distribution. Hash based on attribute A – query: can direct equality – load: somehow randomized. Range based on attribute A – query: range queries, equijoin, group by. – load: depending on the query’s range of interest. Index: – created at all sites – primary index records where a tuple resides 10

Selection Selection(R) = Union (Selection R1, …, Selection Rn) Initiate selection operator at each relevant site – If predicate on partitioning attributes (range or hash) Send the operator to the overlapping sites. – Otherwise send to all sites. 11

12 Hash-join: centralized Partition relations R and S – R tuples in bucket i will only match S tuples in bucket i. Read in a partition of R. Scan matching partition of S, search for matches. Partitions of R & S Input buffer For Si Blocks of bucket Ri ( < M-1 pages) M main memory buffers Disk Output buffer Disk Join Result M main memory buffers Disk R OUTPUT 2 INPUT 1 hash function M-1 Partitions 1 2 M-1...

Parallel Hybrid Hash-Join R 11 R 1M M Joining Processors R 21 R N1 R 2k R Nk R1R1 RNRN Partition relation R to N logical buckets partitioning split table joining split table (later) K Disk Sites R2R2

Aggregate operations Aggregate functions: – Count, Sum, Avg, Max, Min, MaxN, MinN, Median – select Sum(sales) from Sales group by timeID Each site computes its piece in parallel Final results combined at a single site Example: Average(R) – what should each Ri return? – how to combine? Always can do “piecewise”?

Map/ Reduce Framework 15

Motivation Parallel databases leverage parallelism to process large data sets efficiently – the data should be relational format. – the data should be inside a database system. – some unwanted functionalities: logging, …. – one should buy and maintain a complex RDBMS Majority of data sets do not meet these conditions. – e.g., one wants to scan millions of text files and compute some statistics. 16

Cluster Large number (100 – 100,000) of servers, i.e. nodes – connected by a high speed network – many racks each rack has a small number of servers. If a node crashes once a year, #crashes in a cluster of 9000 nodes – every day? – every hour? Crash happens frequently – should handle crashes 17

Distributed File System (DFS) Manage large files: TBs, PBs, … – file is partitioned into chunks, e.g. 64MB – chunk is replicated multiple times over different racks Implementations: Google’s DFS (GFS), Hadoop’s DFS (HFS), … 18

Parallel data processing in cluster Data partitioning 1.partition (or repartition) the file across nodes 2.compute the output on each node 3.aggregate the results Other types of parallelism? Map/Reduce: – programming model and framework that supports parallel data processing – proposed by Google researchers; natural model for many problems – simple data model bag of (key, value) tuples – input: bag of (input_key, value) – output: bag of (output_key, value) 19

Map/reduce M/R program has two stages – map: input = (input_key, value) extract relevant information from each input tuple. output = bag of (intermediate_key, value) similar to Group By in SQL – reduce: input = (intermediate_key, bag of values) aggregate the information over a bag of tuples – summarize, filter, transform, … output = bag of (output_key, value) similar to aggregation function in SQL 20

Example Counting the number of occurrences of each word in a large collection of documents 21 map(String key, String value){ //key: document id //value: document content for each word w in value Output-interim(w, ‘1’); } reduce(String key, Iterator values){ //key: a word //values: a bag of counts for each v in values result += parseInt(v); Output(String.valueOf(result)); }

Example: word count DFS Local Storage DFS

Inside M/R framework 1.Master node: – partitions input file into M splits, by key. – assigns workers (nodes) to the M map tasks. usually: #workers < #map tasks – keeps track of their progress. 2.Workers write output to local disk, partition into R regions 3.Master assigns workers to the R reduce tasks. usually: #workers < #reduce tasks 4.Reduce workers read regions from the map workers’ local disks. 23

Fault tolerance Master pings workers periodically – If down then reassigns the task to another worker. Straggler node – takes unusually long time to complete one of the last tasks, because: the cluster scheduler has assigned other tasks on the node bad disk forces frequent correctable errors, … – stragglers are a main reason for slowdown M/R solution – backup execution of the last few remaining in-progress tasks 24

Optimizing M/R jobs is hard! Choice of #M and #R: – larger is better for load balancing – limitation: master overhead for control and fault tolerance – needs O(M×R) memory – typical choice: M: number of chunks R: much smaller; – rule of thumb: R=1.5 * number of nodes Over 100 other parameters: – partition function, sort factor,…. – around 50 of them affect running time. 25

Discussion Advantage of M/R – manages scheduling and fault tolerance – can be used over non-relational data and particularly Extraction Transformation Loading (ETL) applications Disadvantage of M/R – limited data model and queries – difficult to write complex programs testing & debugging, multiple map/reduce jobs, … – optimization is hard Remind you of a similar problem? – reapply the principles of RDBMS implementation declarative language, query processing and optimization, … – Repeats by every technological shift sensor data => Stream DBMS, spreadsheets => Spreadsheet DBMS, … it is important to learn the principles! 26

Parallel RDBMS / declarative languages over M/R Hive (by Facebook) – HiveQL SQL-like language – open source Pig Latin (by Yahoo!) – new language, similar to Relational Algebra – open source Big-Query (by Google) – SQL on Map/Reduce – Proprietary … 27

What you should know Performance metrics for parallel data processing Parallel data processing architectures Parallelization methods Query processing in Parallel DB Cluster computing & DFS Map/Reduce programming model and framework Advantages and Disadvantages of using Map/Reduce 28