complex plans and hybrid layouts

Size: px
Start display at page:

Download "complex plans and hybrid layouts"

Transcription

1 class 7 complex plans and hybrid layouts prof. Stratos Idreos

2 essential column-stores features virtual ids late tuple reconstruction (if ever) vectorized execution compression fixed-width columns 45" 40" Performance'of'Column3Oriented'Op$miza$ons' Late" Materializa:on" Run$me'(sec)' 35" 30" 25" 20" 15" 10" 5" Compression" Join"Op:miza:on" Baseline" 0" Column"Store" Row"Store" Column-stores vs. row-stores: how different are they really? D. Abadi, S. Madden, and N. Hachem ACM SIGMOD Conference on Management of Data, 2008 Stratos Idreos 2 /28

3 but why now weren t all those design options obvious in the past as well? moving data from disk moving data from memory computation 1) big memories 2) cpu vs memory speed Stratos Idreos 3 /28

4 main-memory systems optimized for the memory wall with or without persistent data Stratos Idreos 4 /28

5 other system categories nosql (cs265), newsql, matlab, etc.. column-stores = bad name modern systems Stratos Idreos /28

6 column-storage row-storage A B C D A B C D two extremes Stratos Idreos 6 /28

7 PAX: store all data about a row in a single page but organize data in a column major way inside each page Anastasia Ailamaki, EPFL Stratos Idreos 7 /28

8 column-groups: store data about a row in a single page but use any kind of column-group combination inside each page A B C D A B C D A B C D Stratos Idreos 8 /28

9 column-groups on separate files: group columns in separate pages each row is spread in >1 pages A B C D A B C D Stratos Idreos /28

10 how do we decide? A B C D A B C D Stratos Idreos 10 /28

11 how do we decide? A B C D A B C D first think what do we want to do with the data: access patterns query A,B, query A,B,C,D insert delete update A metric: data movement # pages Stratos Idreos 10 /28

12 offline? Stratos Idreos 11 /28

13 offline? online? Stratos Idreos 11 /28

14 offline? online? code generation? Stratos Idreos 11 /28

15 offline? online? code generation? Browse: H2O: A Hands-free Adaptive Store Ioannis Alagiannis, Stratos Idreos, and Anastassia Ailamaki In Proc. of the ACM SIGMOD Inter. Conference on Management of Data, 2014 Stratos Idreos 11 /28

16 fixed-width dense unordered columns can we do any better? Stratos Idreos 12 /28

17 zone1: min value =m1 max value = k1 zone2: min value =m2 max value = k2 Stratos Idreos 13 /28

18 zone1: min value =m1 max value = k1 zone2: min value =m2 max value = k2 what if data is uniformly distributed over the column Stratos Idreos 14 /28

19 zone1: min value =m1 max value = k1 zone2: min value =m2 max value = k2 what if data is uniformly distributed over the column adaptively reorganize column to minimize # of zones a query has to scan cs165/265 project: finalist ACM SIGMOD undergrad research competition 2016 Stratos Idreos 14 /28

20 it is all about the bits column value1= value2= value3= Jignesh Patel, U of Wisconsin Stratos Idreos 15 /28

21 Browse: BitWeaving: fast scans for main memory data processing Yinan Li, Jignesh M. Patel In Proc. of the ACM SIGMOD Inter. Conference on Management of Data, 2013 Extra: ByteSlice: Processing with a New Storage Layout Ziqiang Feng, Eric Lo, Ben Kao, Wenjian Xu In Proc. of the ACM SIGMOD Inter. Conference on Management of Data, 2015 Stratos Idreos 16 /28

22 professor (id,name, ) enrolled (studentid, courseid, ) course (id,name, profid, ) foreign key database student (id,name, ) give me all students enrolled in cs165 select student.name from student, enrolled, course where course.name= cs165 and enrolled.courseid=course.id and student.id=enrolled.studentid Stratos Idreos 17 /28

23 Ra Initial Status Relation R Relation S Rb Rc Sa Sb Query and Query Plan (MAL Algebra) select sum(r.a) from R, S where R.c = S.b and 5<R.a<20 and 40<R.b<50 and 4<S.a<65 30<S.a<40 1. inter1 = select(ra,5,20) 2. inter2 = reconstruct(rb,inter1) 3. inter3 = select(inter2,30,40) select(inter2,40,50) 4. join_input_r = reconstruct(rc,inter3) 5. inter4 = select(sa,55,65) select(sa,50,65) select(sa,4,65) 6. inter5 = reconstruct(sb,inter4) 7. join_input_s = reverse(inter5) 8. join_res_r_s = join(join_input_r,join_input_s). inter6 = voidtail(join_res_r_s) 10. inter7 = reconstruct(ra,inter6) 11. result = sum(inter7) Stratos Idreos 18 /28

24 Ra Initial Status Relation R Relation S Rb Rc Sa Sb Query and Query Plan (MAL Algebra) select sum(r.a) from R, S where R.c = S.b and 5<R.a<20 and 40<R.b<50 and 4<S.a<65 30<S.a<40 1. inter1 = select(ra,5,20) 2. inter2 = reconstruct(rb,inter1) 3. inter3 = select(inter2,30,40) select(inter2,40,50) 4. join_input_r = reconstruct(rc,inter3) 5. inter4 = select(sa,55,65) select(sa,50,65) select(sa,4,65) 6. inter5 = reconstruct(sb,inter4) 7. join_input_s = reverse(inter5) 8. join_res_r_s = join(join_input_r,join_input_s). inter6 = voidtail(join_res_r_s) 10. inter7 = reconstruct(ra,inter6) 11. result = sum(inter7) select(ra,5,20) Ra inter inter reconstruct(rb,inter1) Rb inter select(inter2,40,50) select(inter2,30,40) inter inter3 Stratos Idreos 18 / inter3 4 5 reconstruct(rc,inter3) Rc join_input_r (1) (2) (3) (4) 4 5 2

25 Ra Initial Status Relation R Relation S Rb Rc Sa Sb Query and Query Plan (MAL Algebra) select sum(r.a) from R, S where R.c = S.b and 5<R.a<20 and 40<R.b<50 and 4<S.a<65 30<S.a<40 1. inter1 = select(ra,5,20) 2. inter2 = reconstruct(rb,inter1) 3. inter3 = select(inter2,30,40) select(inter2,40,50) 4. join_input_r = reconstruct(rc,inter3) 5. inter4 = select(sa,55,65) select(sa,4,65) 6. inter5 = reconstruct(sb,inter4) 7. join_input_s = reverse(inter5) 8. join_res_r_s = join(join_input_r,join_input_s). inter6 = voidtail(join_res_r_s) 10. inter7 = reconstruct(ra,inter6) 11. result = sum(inter7) Stratos Idreos /28

26 Ra Initial Status Relation R Relation S Rb Rc Sa Sb Query and Query Plan (MAL Algebra) select sum(r.a) from R, S where R.c = S.b and 5<R.a<20 and 40<R.b<50 and 4<S.a<65 30<S.a<40 1. inter1 = select(ra,5,20) 2. inter2 = reconstruct(rb,inter1) 3. inter3 = select(inter2,30,40) select(inter2,40,50) 4. join_input_r = reconstruct(rc,inter3) 5. inter4 = select(sa,55,65) select(sa,4,65) 6. inter5 = reconstruct(sb,inter4) 7. join_input_s = reverse(inter5) 8. join_res_r_s = join(join_input_r,join_input_s). inter6 = voidtail(join_res_r_s) 10. inter7 = reconstruct(ra,inter6) 11. result = sum(inter7) select(sa,55,65) select(sa,4,65) Sa inter inter reconstruct(sb,inter4) Sb inter inter reverse(inter5) join_input_s (5) (6) (7) Stratos Idreos /28

27 Ra Initial Status Relation R Relation S Rb Rc Sa Sb Query and Query Plan (MAL Algebra) select sum(r.a) from R, S where R.c = S.b and 5<R.a<20 and 40<R.b<50 and 4<S.a<65 30<S.a<40 1. inter1 = select(ra,5,20) 2. inter2 = reconstruct(rb,inter1) 3. inter3 = select(inter2,30,40) select(inter2,40,50) 4. join_input_r = reconstruct(rc,inter3) 5. inter4 = select(sa,55,65) select(sa,4,65) 6. inter5 = reconstruct(sb,inter4) 7. join_input_s = reverse(inter5) 8. join_res_r_s = join(join_input_r,join_input_s). inter6 = voidtail(join_res_r_s) 10. inter7 = reconstruct(ra,inter6) 11. result = sum(inter7) Stratos Idreos 20 /28

28 Ra Initial Status Relation R Relation S Rb Rc Sa Sb Query and Query Plan (MAL Algebra) select sum(r.a) from R, S where R.c = S.b and 5<R.a<20 and 40<R.b<50 and 4<S.a<65 30<S.a<40 1. inter1 = select(ra,5,20) 2. inter2 = reconstruct(rb,inter1) 3. inter3 = select(inter2,30,40) select(inter2,40,50) 4. join_input_r = reconstruct(rc,inter3) 5. inter4 = select(sa,55,65) select(sa,4,65) 6. inter5 = reconstruct(sb,inter4) 7. join_input_s = reverse(inter5) 8. join_res_r_s = join(join_input_r,join_input_s). inter6 = voidtail(join_res_r_s) 10. inter7 = reconstruct(ra,inter6) 11. result = sum(inter7) join_input_r join(join_input_r,join_input_s) join_input_s join_res_ R_S voidtail(join_res_r_s) join_res_ R_S inter6 (8) () 4 Stratos Idreos 20 /28

29 Ra Initial Status Relation R Relation S Rb Rc Sa Sb Query and Query Plan (MAL Algebra) select sum(r.a) from R, S where R.c = S.b and 5<R.a<20 and 40<R.b<50 and 4<S.a<65 30<S.a<40 1. inter1 = select(ra,5,20) 2. inter2 = reconstruct(rb,inter1) 3. inter3 = select(inter2,30,40) select(inter2,40,50) 4. join_input_r = reconstruct(rc,inter3) 5. inter4 = select(sa,55,65) select(sa,4,65) 6. inter5 = reconstruct(sb,inter4) 7. join_input_s = reverse(inter5) 8. join_res_r_s = join(join_input_r,join_input_s). inter6 = voidtail(join_res_r_s) 10. inter7 = reconstruct(ra,inter6) 11. result = sum(inter7) Stratos Idreos 21 /28

30 Ra Initial Status Relation R Relation S Rb Rc Sa Sb Query and Query Plan (MAL Algebra) select sum(r.a) from R, S where R.c = S.b and 5<R.a<20 and 40<R.b<50 and 4<S.a<65 30<S.a<40 1. inter1 = select(ra,5,20) 2. inter2 = reconstruct(rb,inter1) 3. inter3 = select(inter2,30,40) select(inter2,40,50) 4. join_input_r = reconstruct(rc,inter3) 5. inter4 = select(sa,55,65) select(sa,4,65) 6. inter5 = reconstruct(sb,inter4) 7. join_input_s = reverse(inter5) 8. join_res_r_s = join(join_input_r,join_input_s). inter6 = voidtail(join_res_r_s) 10. inter7 = reconstruct(ra,inter6) 11. result = sum(inter7) inter6 4 reconstruct(ra,inter6) Ra inter7 inter7 sum(inter7) result 28 (10) (11) Stratos Idreos 21 /28

31 select R.D+S.G from R,S where R.A=S.A and R.C<10 and S.F>30 Use a simple join algorithm: Build hash table on S.A and then we probe for each R.A value what happens after the join? access patterns select R.C fetch R.A fetch R.D join R.D+ S.G select S.F fetch S.A fetch S.G Goal: Describe each operator: input/output and access patterns watch out for random access! block operator Stratos Idreos 22 /28

32 select R.A, R.B, R.C, S.A, S.B, S.C from R, S where R.J=S.J and preparing the R join input R.* scan pos fetch R.J R.J pos we need the original positions so we can fetch other R columns after the join ordered sparse ordered sparse same for the S join input Stratos Idreos /28

33 select R.A, R.B, R.C, S.A, S.B, S.C from R, S where R.J=S.J and join join input R.J R.J + posr join input S.J S.J + poss partition (=reorder) both join inputs to join join result posr + poss ordered sparse ordered sparse one or both sides are unordered 1) We can sequentially scan R.J and probe S.J. Then result is in the order of R.J but S.J part is out of order Stratos Idreos 24 /28

34 select R.A, R.B, R.C, S.A, S.B, S.C from R, S where R.J=S.J and join join input R.J R.J + posr join input S.J S.J + poss partition (=reorder) both join inputs to join join result posr + poss ordered sparse ordered sparse one or both sides are unordered 1) We can sequentially scan R.J and probe S.J. Then result is in the order of R.J but S.J part is out of order 2) More advanced algorithms will partitions both inputs (we will see why and how in future classes) This means output is unordered with respect to both inputs Stratos Idreos 24 /28

35 cluster= partition just enough so that any random access is within a small range (e.g., a page) join result posr + poss both sides are unordered cluster on R ID + poss join result clustered on R posr + poss fetch R payload with sequential pattern clustered cluster on S ID + poss clustered sort on ID decluster fetch S payload with sequential pattern radix declustering all result columns aligned e.g., ID + S.A Stratos Idreos 25 /28

36 first part done: basic concepts in modern systems coming up: indexing and fast scans Stratos Idreos 26 /28

37 Browse: Cache-Conscious Radix Decluster Projections By S. Manegold, P. Boncz, N. Nes, and M. Kersten Very Large Databases Conference, 2004 Browse: H2O: A Hands-free Adaptive Store Ioannis Alagiannis, Stratos Idreos, and Anastassia Ailamaki In Proc. of the ACM SIGMOD Inter. Conference on Management of Data, 2014 Browse: BitWeaving: fast scans for main memory data processing Yinan Li, Jignesh M. Patel In Proc. of the ACM SIGMOD Inter. Conference on Management of Data, 2013 Stratos Idreos 27 /28

38 class 7 complex plans & hybrid layouts DATA SYSTEMS prof. Stratos Idreos

class 6 more about column-store plans and compression prof. Stratos Idreos

class 6 more about column-store plans and compression prof. Stratos Idreos class 6 more about column-store plans and compression prof. Stratos Idreos HTTP://DASLAB.SEAS.HARVARD.EDU/CLASSES/CS165/ query compilation an ancient yet new topic/research challenge query->sql->interpet

More information

column-stores basics

column-stores basics class 3 column-stores basics prof. HTTP://DASLAB.SEAS.HARVARD.EDU/CLASSES/CS265/ project description is now online First background info will be given this Friday and detailed lecture on Feb 21 Basic Readings

More information

basic db architectures & layouts

basic db architectures & layouts class 4 basic db architectures & layouts prof. Stratos Idreos HTTP://DASLAB.SEAS.HARVARD.EDU/CLASSES/CS165/ videos for sections 3 & 4 are online check back every week (1-2 sections weekly) there is a schedule

More information

column-stores basics

column-stores basics class 3 column-stores basics prof. HTTP://DASLAB.SEAS.HARVARD.EDU/CLASSES/CS265/ Goetz Graefe Google Research guest lecture Justin Levandoski Microsoft Research projects option 1: systems project (now

More information

Adaptivity. Luca Schroeder & Thomas Lively

Adaptivity. Luca Schroeder & Thomas Lively Adaptivity Luca Schroeder & Thomas Lively H2O: A Hands-free Adaptive Store. Ioannis Alagiannis, Stratos Idreos and Anastassia Ailamaki ACM SIGMOD International Conference on Data Management, 2014 Three

More information

class 5 column stores 2.0 prof. Stratos Idreos

class 5 column stores 2.0 prof. Stratos Idreos class 5 column stores 2.0 prof. Stratos Idreos HTTP://DASLAB.SEAS.HARVARD.EDU/CLASSES/CS165/ worth thinking about what just happened? where is my data? email, cloud, social media, can we design systems

More information

Models & Intro to DB Architectures

Models & Intro to DB Architectures class 3 Models & Intro to DB Architectures prof. Stratos Idreos HTTP://DASLAB.SEAS.HARVARD.EDU/CLASSES/CS165/ welcome brave cs165 students! 42+44 Stratos Idreos 2 /49 NO LAPTOP/PHONE POLICY class is based

More information

Overview of Data Exploration Techniques. Stratos Idreos, Olga Papaemmanouil, Surajit Chaudhuri

Overview of Data Exploration Techniques. Stratos Idreos, Olga Papaemmanouil, Surajit Chaudhuri Overview of Data Exploration Techniques Stratos Idreos, Olga Papaemmanouil, Surajit Chaudhuri data exploration not always sure what we are looking for (until we find it) data has always been big volume

More information

data systems 101 prof. Stratos Idreos class 2

data systems 101 prof. Stratos Idreos class 2 class 2 data systems 101 prof. Stratos Idreos HTTP://DASLAB.SEAS.HARVARD.EDU/CLASSES/CS265/ big data V s (it is not about size only) volume velocity variety veracity actually none of that is really new

More information

class 17 updates prof. Stratos Idreos

class 17 updates prof. Stratos Idreos class 17 updates prof. Stratos Idreos HTTP://DASLAB.SEAS.HARVARD.EDU/CLASSES/CS165/ early/late tuple reconstruction, tuple-at-a-time, vectorized or bulk processing, intermediates format, pushing selects

More information

Architecture-Conscious Database Systems

Architecture-Conscious Database Systems Architecture-Conscious Database Systems 2009 VLDB Summer School Shanghai Peter Boncz (CWI) Sources Thank You! l l l l Database Architectures for New Hardware VLDB 2004 tutorial, Anastassia Ailamaki Query

More information

Models & Intro to DB Architectures

Models & Intro to DB Architectures class 3 Models & Intro to DB Architectures prof. Stratos Idreos HTTP://DASLAB.SEAS.HARVARD.EDU/CLASSES/CS165/ welcome brave cs165 students! Stratos Idreos 2 /55 NO LAPTOP/PHONE POLICY class is based on

More information

Column-Stores vs. Row-Stores: How Different Are They Really?

Column-Stores vs. Row-Stores: How Different Are They Really? Column-Stores vs. Row-Stores: How Different Are They Really? Daniel J. Abadi, Samuel Madden and Nabil Hachem SIGMOD 2008 Presented by: Souvik Pal Subhro Bhattacharyya Department of Computer Science Indian

More information

Column Stores vs. Row Stores How Different Are They Really?

Column Stores vs. Row Stores How Different Are They Really? Column Stores vs. Row Stores How Different Are They Really? Daniel J. Abadi (Yale) Samuel R. Madden (MIT) Nabil Hachem (AvantGarde) Presented By : Kanika Nagpal OUTLINE Introduction Motivation Background

More information

HOW INDEX TO STORE DATA DATA

HOW INDEX TO STORE DATA DATA Stratos Idreos HOW INDEX DATA TO STORE DATA ALGORITHMS data structure decisions define the algorithms that access data INDEX DATA ALGORITHMS unordered [7,4,2,6,1,3,9,10,5,8] INDEX DATA ALGORITHMS unordered

More information

data systems 101 prof. Stratos Idreos class 2

data systems 101 prof. Stratos Idreos class 2 class 2 data systems 101 prof. Stratos Idreos HTTP://DASLAB.SEAS.HARVARD.EDU/CLASSES/CS265/ 2 classes per week - OH/Labs every day 1 presentation/discussion lead - 2 reviews each week research (or systems)

More information

RELATIONAL OPERATORS #1

RELATIONAL OPERATORS #1 RELATIONAL OPERATORS #1 CS 564- Spring 2018 ACKs: Jeff Naughton, Jignesh Patel, AnHai Doan WHAT IS THIS LECTURE ABOUT? Algorithms for relational operators: select project 2 ARCHITECTURE OF A DBMS query

More information

Hash Joins for Multi-core CPUs. Benjamin Wagner

Hash Joins for Multi-core CPUs. Benjamin Wagner Hash Joins for Multi-core CPUs Benjamin Wagner Joins fundamental operator in query processing variety of different algorithms many papers publishing different results main question: is tuning to modern

More information

SQL & intro to db architectures

SQL & intro to db architectures class 3 SQL & intro to db architectures prof. Stratos Idreos HTTP://DASLAB.SEAS.HARVARD.EDU/CLASSES/CS165/ welcome brave cs165 students! 35+62 Stratos Idreos 2 /55 guest lecture Laura Haas Data Systems

More information

Jignesh M. Patel. Blog:

Jignesh M. Patel. Blog: Jignesh M. Patel Blog: http://bigfastdata.blogspot.com Go back to the design Query Cache from Processing for Conscious 98s Modern (at Algorithms Hardware least for Hash Joins) 995 24 2 Processor Processor

More information

class 9 fast scans 1.0 prof. Stratos Idreos

class 9 fast scans 1.0 prof. Stratos Idreos class 9 fast scans 1.0 prof. Stratos Idreos HTTP://DASLAB.SEAS.HARVARD.EDU/CLASSES/CS165/ 1 pass to merge into 8 sorted pages (2N pages) 1 pass to merge into 4 sorted pages (2N pages) 1 pass to merge into

More information

CS54100: Database Systems

CS54100: Database Systems CS54100: Database Systems Query Optimization 26 March 2012 Prof. Chris Clifton Query Optimization --> Generating and comparing plans Query Generate Plans Pruning x x Estimate Cost Cost Select Pick Min

More information

class 17 updates prof. Stratos Idreos

class 17 updates prof. Stratos Idreos class 17 updates prof. Stratos Idreos HTTP://DASLAB.SEAS.HARVARD.EDU/CLASSES/CS165/ UPDATE table_name SET column1=value1,column2=value2,... WHERE some_column=some_value INSERT INTO table_name VALUES (value1,value2,value3,...)

More information

class 13 scans vs indexes prof. Stratos Idreos

class 13 scans vs indexes prof. Stratos Idreos class 13 scans vs indexes prof. Stratos Idreos HTTP://DASLAB.SEAS.HARVARD.EDU/CLASSES/CS165/ b-tree - dynamic tree - always balanced 35,50 35, 12,20 50, 1,2,3 12,15,17 20, Stratos Idreos 2 /24 select from

More information

Query Processing with Indexes. Announcements (February 24) Review. CPS 216 Advanced Database Systems

Query Processing with Indexes. Announcements (February 24) Review. CPS 216 Advanced Database Systems Query Processing with Indexes CPS 216 Advanced Database Systems Announcements (February 24) 2 More reading assignment for next week Buffer management (due next Wednesday) Homework #2 due next Thursday

More information

Column Store Internals

Column Store Internals Column Store Internals Sebastian Meine SQL Stylist with sqlity.net sebastian@sqlity.net Outline Outline Column Store Storage Aggregates Batch Processing History 1 History First mention of idea to cluster

More information

class 10 b-trees 2.0 prof. Stratos Idreos

class 10 b-trees 2.0 prof. Stratos Idreos class 10 b-trees 2.0 prof. Stratos Idreos HTTP://DASLAB.SEAS.HARVARD.EDU/CLASSES/CS165/ CS Colloquium HV Jagadish Prof University of Michigan 10/6 Stratos Idreos /29 2 CS Colloquium Magdalena Balazinska

More information

class 12 b-trees 2.0 prof. Stratos Idreos

class 12 b-trees 2.0 prof. Stratos Idreos class 12 b-trees 2.0 prof. Stratos Idreos HTTP://DASLAB.SEAS.HARVARD.EDU/CLASSES/CS165/ A B C A B C clustered/primary index on A Stratos Idreos /26 2 A B C A B C clustered/primary index on A pos C pos

More information

A Comparison of Memory Usage and CPU Utilization in Column-Based Database Architecture vs. Row-Based Database Architecture

A Comparison of Memory Usage and CPU Utilization in Column-Based Database Architecture vs. Row-Based Database Architecture A Comparison of Memory Usage and CPU Utilization in Column-Based Database Architecture vs. Row-Based Database Architecture By Gaurav Sheoran 9-Dec-08 Abstract Most of the current enterprise data-warehouses

More information

class 11 b-trees prof. Stratos Idreos

class 11 b-trees prof. Stratos Idreos class 11 b-trees prof. Stratos Idreos HTTP://DASLAB.SEAS.HARVARD.EDU/CLASSES/CS165/ Midway check-in: Two design docs tmr (Canvas) & tests on Sunday Next weekend: Lab marathon for midway check-in & tests

More information

Chapter 2: Intro to Relational Model

Chapter 2: Intro to Relational Model Non è possibile visualizzare l'immagine. Chapter 2: Intro to Relational Model Database System Concepts, 6 th Ed. See www.db-book.com for conditions on re-use Example of a Relation attributes (or columns)

More information

NoDB: Querying Raw Data. --Mrutyunjay

NoDB: Querying Raw Data. --Mrutyunjay NoDB: Querying Raw Data --Mrutyunjay Overview Introduction Motivation NoDB Philosophy: PostgreSQL Results Opportunities NoDB in Action: Adaptive Query Processing on Raw Data Ioannis Alagiannis, Renata

More information

Column-Stores vs. Row-Stores: How Different Are They Really?

Column-Stores vs. Row-Stores: How Different Are They Really? Column-Stores vs. Row-Stores: How Different Are They Really? Daniel Abadi, Samuel Madden, Nabil Hachem Presented by Guozhang Wang November 18 th, 2008 Several slides are from Daniel Abadi and Michael Stonebraker

More information

Chapters 15 and 16b: Query Optimization

Chapters 15 and 16b: Query Optimization Chapters 15 and 16b: Query Optimization (Slides by Hector Garcia-Molina, http://wwwdb.stanford.edu/~hector/cs245/notes.htm) Chapters 15-16b 1 Query Optimization --> Generating and comparing plans Query

More information

Parallel DBMS. Parallel Database Systems. PDBS vs Distributed DBS. Types of Parallelism. Goals and Metrics Speedup. Types of Parallelism

Parallel DBMS. Parallel Database Systems. PDBS vs Distributed DBS. Types of Parallelism. Goals and Metrics Speedup. Types of Parallelism Parallel DBMS Parallel Database Systems CS5225 Parallel DB 1 Uniprocessor technology has reached its limit Difficult to build machines powerful enough to meet the CPU and I/O demands of DBMS serving large

More information

Spring 2017 EXTERNAL SORTING (CH. 13 IN THE COW BOOK) 2/7/17 CS 564: Database Management Systems; (c) Jignesh M. Patel,

Spring 2017 EXTERNAL SORTING (CH. 13 IN THE COW BOOK) 2/7/17 CS 564: Database Management Systems; (c) Jignesh M. Patel, Spring 2017 EXTERNAL SORTING (CH. 13 IN THE COW BOOK) 2/7/17 CS 564: Database Management Systems; (c) Jignesh M. Patel, 2013 1 Motivation for External Sort Often have a large (size greater than the available

More information

H2O: A Hands-free Adaptive Store

H2O: A Hands-free Adaptive Store H2O: A Hands-free Adaptive Store Ioannis Alagiannis Stratos Idreos Anastasia Ailamaki Ecole Polytechnique Fédérale de Lausanne {ioannis.alagiannis, anastasia.ailamaki}@epfl.ch Harvard University stratos@seas.harvard.edu

More information

Data Modeling and Databases Ch 10: Query Processing - Algorithms. Gustavo Alonso Systems Group Department of Computer Science ETH Zürich

Data Modeling and Databases Ch 10: Query Processing - Algorithms. Gustavo Alonso Systems Group Department of Computer Science ETH Zürich Data Modeling and Databases Ch 10: Query Processing - Algorithms Gustavo Alonso Systems Group Department of Computer Science ETH Zürich Transactions (Locking, Logging) Metadata Mgmt (Schema, Stats) Application

More information

COLUMN STORE DATABASE SYSTEMS. Prof. Dr. Uta Störl Big Data Technologies: Column Stores - SoSe

COLUMN STORE DATABASE SYSTEMS. Prof. Dr. Uta Störl Big Data Technologies: Column Stores - SoSe COLUMN STORE DATABASE SYSTEMS Prof. Dr. Uta Störl Big Data Technologies: Column Stores - SoSe 2016 1 Telco Data Warehousing Example (Real Life) Michael Stonebraker et al.: One Size Fits All? Part 2: Benchmarking

More information

Data Modeling and Databases Ch 9: Query Processing - Algorithms. Gustavo Alonso Systems Group Department of Computer Science ETH Zürich

Data Modeling and Databases Ch 9: Query Processing - Algorithms. Gustavo Alonso Systems Group Department of Computer Science ETH Zürich Data Modeling and Databases Ch 9: Query Processing - Algorithms Gustavo Alonso Systems Group Department of Computer Science ETH Zürich Transactions (Locking, Logging) Metadata Mgmt (Schema, Stats) Application

More information

class 10 fast scans 2.0 prof. Stratos Idreos

class 10 fast scans 2.0 prof. Stratos Idreos class 10 fast scans 2.0 prof. Stratos Idreos HTTP://DASLAB.SEAS.HARVARD.EDU/CLASSES/CS165/ always want to minimize data movement - computation & utilize all resources! registers on chip cache on board

More information

Database Technology Introduction. Heiko Paulheim

Database Technology Introduction. Heiko Paulheim Database Technology Introduction Outline The Need for Databases Data Models Relational Databases Database Design Storage Manager Query Processing Transaction Manager Introduction to the Relational Model

More information

systems & research project

systems & research project class 4 systems & research project prof. HTTP://DASLAB.SEAS.HARVARD.EDU/CLASSES/CS265/ index index knows order about the data data filtering data: point/range queries index data A B C sorted A B C initial

More information

Column-Stores vs. Row-Stores. How Different are they Really? Arul Bharathi

Column-Stores vs. Row-Stores. How Different are they Really? Arul Bharathi Column-Stores vs. Row-Stores How Different are they Really? Arul Bharathi Authors Daniel J.Abadi Samuel R. Madden Nabil Hachem 2 Contents Introduction Row Oriented Execution Column Oriented Execution Column-Store

More information

Query Processing and Advanced Queries. Query Optimization (4)

Query Processing and Advanced Queries. Query Optimization (4) Query Processing and Advanced Queries Query Optimization (4) Two-Pass Algorithms Based on Hashing R./S If both input relations R and S are too large to be stored in the buffer, hash all the tuples of both

More information

CSE 544 Principles of Database Management Systems. Fall 2016 Lecture 14 - Data Warehousing and Column Stores

CSE 544 Principles of Database Management Systems. Fall 2016 Lecture 14 - Data Warehousing and Column Stores CSE 544 Principles of Database Management Systems Fall 2016 Lecture 14 - Data Warehousing and Column Stores References Data Cube: A Relational Aggregation Operator Generalizing Group By, Cross-Tab, and

More information

I am: Rana Faisal Munir

I am: Rana Faisal Munir Self-tuning BI Systems Home University (UPC): Alberto Abelló and Oscar Romero Host University (TUD): Maik Thiele and Wolfgang Lehner I am: Rana Faisal Munir Research Progress Report (RPR) [1 / 44] Introduction

More information

! Parallel machines are becoming quite common and affordable. ! Databases are growing increasingly large

! Parallel machines are becoming quite common and affordable. ! Databases are growing increasingly large Chapter 20: Parallel Databases Introduction! Introduction! I/O Parallelism! Interquery Parallelism! Intraquery Parallelism! Intraoperation Parallelism! Interoperation Parallelism! Design of Parallel Systems!

More information

Chapter 20: Parallel Databases

Chapter 20: Parallel Databases Chapter 20: Parallel Databases! Introduction! I/O Parallelism! Interquery Parallelism! Intraquery Parallelism! Intraoperation Parallelism! Interoperation Parallelism! Design of Parallel Systems 20.1 Introduction!

More information

Chapter 20: Parallel Databases. Introduction

Chapter 20: Parallel Databases. Introduction Chapter 20: Parallel Databases! Introduction! I/O Parallelism! Interquery Parallelism! Intraquery Parallelism! Intraoperation Parallelism! Interoperation Parallelism! Design of Parallel Systems 20.1 Introduction!

More information

Chapter 2: Intro to Relational Model

Chapter 2: Intro to Relational Model Chapter 2: Intro to Relational Model Database System Concepts, 6 th Ed. See www.db-book.com for conditions on re-use Example of a Relation attributes (or columns) tuples (or rows) 2.2 Attribute Types The

More information

Smooth Scan: Statistics-Oblivious Access Paths. Renata Borovica-Gajic Stratos Idreos Anastasia Ailamaki Marcin Zukowski Campbell Fraser

Smooth Scan: Statistics-Oblivious Access Paths. Renata Borovica-Gajic Stratos Idreos Anastasia Ailamaki Marcin Zukowski Campbell Fraser Smooth Scan: Statistics-Oblivious Access Paths Renata Borovica-Gajic Stratos Idreos Anastasia Ailamaki Marcin Zukowski Campbell Fraser Q1 Q2 Q3 Q4 Q5 Q6 Q7 Q8 Q9 Q10 Q11 Q12 Q13 Q14 Q16 Q18 Q19 Q21 Q22

More information

Physical Data Organization. Introduction to Databases CompSci 316 Fall 2018

Physical Data Organization. Introduction to Databases CompSci 316 Fall 2018 Physical Data Organization Introduction to Databases CompSci 316 Fall 2018 2 Announcements (Tue., Nov. 6) Homework #3 due today Project milestone #2 due Thursday No separate progress update this week Use

More information

EECS 647: Introduction to Database Systems

EECS 647: Introduction to Database Systems EECS 647: Introduction to Database Systems Instructor: Luke Huan Spring 2009 External Sorting Today s Topic Implementing the join operation 4/8/2009 Luke Huan Univ. of Kansas 2 Review DBMS Architecture

More information

Query processing on raw files. Vítor Uwe Reus

Query processing on raw files. Vítor Uwe Reus Query processing on raw files Vítor Uwe Reus Outline 1. Introduction 2. Adaptive Indexing 3. Hybrid MapReduce 4. NoDB 5. Summary Outline 1. Introduction 2. Adaptive Indexing 3. Hybrid MapReduce 4. NoDB

More information

Chapter 18: Parallel Databases

Chapter 18: Parallel Databases Chapter 18: Parallel Databases Database System Concepts, 6 th Ed. See www.db-book.com for conditions on re-use Chapter 18: Parallel Databases Introduction I/O Parallelism Interquery Parallelism Intraquery

More information

Chapter 18: Parallel Databases. Chapter 18: Parallel Databases. Parallelism in Databases. Introduction

Chapter 18: Parallel Databases. Chapter 18: Parallel Databases. Parallelism in Databases. Introduction Chapter 18: Parallel Databases Chapter 18: Parallel Databases Introduction I/O Parallelism Interquery Parallelism Intraquery Parallelism Intraoperation Parallelism Interoperation Parallelism Design of

More information

Chapter 17: Parallel Databases

Chapter 17: Parallel Databases Chapter 17: Parallel Databases Introduction I/O Parallelism Interquery Parallelism Intraquery Parallelism Intraoperation Parallelism Interoperation Parallelism Design of Parallel Systems Database Systems

More information

Storage hierarchy. Textbook: chapters 11, 12, and 13

Storage hierarchy. Textbook: chapters 11, 12, and 13 Storage hierarchy Cache Main memory Disk Tape Very fast Fast Slower Slow Very small Small Bigger Very big (KB) (MB) (GB) (TB) Built-in Expensive Cheap Dirt cheap Disks: data is stored on concentric circular

More information

Weaving Relations for Cache Performance

Weaving Relations for Cache Performance Weaving Relations for Cache Performance Anastassia Ailamaki Carnegie Mellon Computer Platforms in 198 Execution PROCESSOR 1 cycles/instruction Data and Instructions cycles

More information

Spring 2017 QUERY PROCESSING [JOINS, SET OPERATIONS, AND AGGREGATES] 2/19/17 CS 564: Database Management Systems; (c) Jignesh M.

Spring 2017 QUERY PROCESSING [JOINS, SET OPERATIONS, AND AGGREGATES] 2/19/17 CS 564: Database Management Systems; (c) Jignesh M. Spring 2017 QUERY PROCESSING [JOINS, SET OPERATIONS, AND AGGREGATES] 2/19/17 CS 564: Database Management Systems; (c) Jignesh M. Patel, 2013 1 Joins The focus here is on equijoins These are very common,

More information

Bridging the Processor/Memory Performance Gap in Database Applications

Bridging the Processor/Memory Performance Gap in Database Applications Bridging the Processor/Memory Performance Gap in Database Applications Anastassia Ailamaki Carnegie Mellon http://www.cs.cmu.edu/~natassa Memory Hierarchies PROCESSOR EXECUTION PIPELINE L1 I-CACHE L1 D-CACHE

More information

CMSC 424 Database design Lecture 13 Storage: Files. Mihai Pop

CMSC 424 Database design Lecture 13 Storage: Files. Mihai Pop CMSC 424 Database design Lecture 13 Storage: Files Mihai Pop Recap Databases are stored on disk cheaper than memory non-volatile (survive power loss) large capacity Operating systems are designed for general

More information

Track Join. Distributed Joins with Minimal Network Traffic. Orestis Polychroniou! Rajkumar Sen! Kenneth A. Ross

Track Join. Distributed Joins with Minimal Network Traffic. Orestis Polychroniou! Rajkumar Sen! Kenneth A. Ross Track Join Distributed Joins with Minimal Network Traffic Orestis Polychroniou Rajkumar Sen Kenneth A. Ross Local Joins Algorithms Hash Join Sort Merge Join Index Join Nested Loop Join Spilling to disk

More information

Database Management System

Database Management System Database Management System Lecture Join * Some materials adapted from R. Ramakrishnan, J. Gehrke and Shawn Bowers Today s Agenda Join Algorithm Database Management System Join Algorithms Database Management

More information

Implementation of Relational Operations

Implementation of Relational Operations Implementation of Relational Operations Module 4, Lecture 1 Database Management Systems, R. Ramakrishnan 1 Relational Operations We will consider how to implement: Selection ( ) Selects a subset of rows

More information

BitWeaving: Fast Scans for Main Memory Data Processing

BitWeaving: Fast Scans for Main Memory Data Processing BitWeaving: Fast Scans for Main Memory Data Processing Yinan Li University of Wisconsin Madison yinan@cswiscedu Jignesh M Patel University of Wisconsin Madison jignesh@cswiscedu ABSTRACT This paper focuses

More information

6.830 Problem Set 3 Assigned: 10/28 Due: 11/30

6.830 Problem Set 3 Assigned: 10/28 Due: 11/30 6.830 Problem Set 3 1 Assigned: 10/28 Due: 11/30 6.830 Problem Set 3 The purpose of this problem set is to give you some practice with concepts related to query optimization and concurrency control and

More information

Weaving Relations for Cache Performance

Weaving Relations for Cache Performance VLDB 2001, Rome, Italy Best Paper Award Weaving Relations for Cache Performance Anastassia Ailamaki David J. DeWitt Mark D. Hill Marios Skounakis Presented by: Ippokratis Pandis Bottleneck in DBMSs Processor

More information

Database Systems CSE 414

Database Systems CSE 414 Database Systems CSE 414 Lecture 15-16: Basics of Data Storage and Indexes (Ch. 8.3-4, 14.1-1.7, & skim 14.2-3) 1 Announcements Midterm on Monday, November 6th, in class Allow 1 page of notes (both sides,

More information

What s a database system? Review of Basic Database Concepts. Entity-relationship (E/R) diagram. Two important questions. Physical data independence

What s a database system? Review of Basic Database Concepts. Entity-relationship (E/R) diagram. Two important questions. Physical data independence What s a database system? Review of Basic Database Concepts CPS 296.1 Topics in Database Systems According to Oxford Dictionary Database: an organized body of related information Database system, DataBase

More information

Column-Oriented Database Systems. Liliya Rudko University of Helsinki

Column-Oriented Database Systems. Liliya Rudko University of Helsinki Column-Oriented Database Systems Liliya Rudko University of Helsinki 2 Contents 1. Introduction 2. Storage engines 2.1 Evolutionary Column-Oriented Storage (ECOS) 2.2 HYRISE 3. Database management systems

More information

Outline. Database Management and Tuning. Outline. Join Strategies Running Example. Index Tuning. Johann Gamper. Unit 6 April 12, 2012

Outline. Database Management and Tuning. Outline. Join Strategies Running Example. Index Tuning. Johann Gamper. Unit 6 April 12, 2012 Outline Database Management and Tuning Johann Gamper Free University of Bozen-Bolzano Faculty of Computer Science IDSE Unit 6 April 12, 2012 1 Acknowledgements: The slides are provided by Nikolaus Augsten

More information

Introduction to Database Systems CSE 344

Introduction to Database Systems CSE 344 Introduction to Database Systems CSE 344 Lecture 6: Basic Query Evaluation and Indexes 1 Announcements Webquiz 2 is due on Tuesday (01/21) Homework 2 is posted, due week from Monday (01/27) Today: query

More information

Evaluation of Relational Operations. Relational Operations

Evaluation of Relational Operations. Relational Operations Evaluation of Relational Operations Chapter 14, Part A (Joins) Database Management Systems 3ed, R. Ramakrishnan and J. Gehrke 1 Relational Operations v We will consider how to implement: Selection ( )

More information

1) Partitioned Bitvector

1) Partitioned Bitvector Topics 1) Partitioned Bitvector 2 Delta Dictionary U J D bravo charlie golf young 1 1 11 Delta Partition (Compressed) 1 1 1 11 bravo charlie golf charlie young 1 1 1 11 1 1 2) Vertical Bitvector 3 a) 3

More information

University of Waterloo Midterm Examination Sample Solution

University of Waterloo Midterm Examination Sample Solution 1. (4 total marks) University of Waterloo Midterm Examination Sample Solution Winter, 2012 Suppose that a relational database contains the following large relation: Track(ReleaseID, TrackNum, Title, Length,

More information

CMPT 354: Database System I. Lecture 7. Basics of Query Optimization

CMPT 354: Database System I. Lecture 7. Basics of Query Optimization CMPT 354: Database System I Lecture 7. Basics of Query Optimization 1 Why should you care? https://databricks.com/glossary/catalyst-optimizer https://sigmod.org/sigmod-awards/people/goetz-graefe-2017-sigmod-edgar-f-codd-innovations-award/

More information

Introduction to Database Systems CSE 344

Introduction to Database Systems CSE 344 Introduction to Database Systems CSE 344 Lecture 10: Basics of Data Storage and Indexes 1 Student ID fname lname Data Storage 10 Tom Hanks DBMSs store data in files Most common organization is row-wise

More information

Anastasia Ailamaki. Performance and energy analysis using transactional workloads

Anastasia Ailamaki. Performance and energy analysis using transactional workloads Performance and energy analysis using transactional workloads Anastasia Ailamaki EPFL and RAW Labs SA students: Danica Porobic, Utku Sirin, and Pinar Tozun Online Transaction Processing $2B+ industry Characteristics:

More information

Evaluation of Relational Operations

Evaluation of Relational Operations Evaluation of Relational Operations Yanlei Diao UMass Amherst March 13 and 15, 2006 Slides Courtesy of R. Ramakrishnan and J. Gehrke 1 Relational Operations We will consider how to implement: Selection

More information

Chapter 5. Indexing for DWH

Chapter 5. Indexing for DWH Chapter 5. Indexing for DWH D1 Facts D2 Prof. Bayer, DWH, Ch.5, SS 2000 1 dimension Time with composite key K1 according to hierarchy key K1 = (year int, month int, day int) dimension Region with composite

More information

R has a ordered clustering index file on its tuples: Read index file to get the location of the tuple with the next smallest value

R has a ordered clustering index file on its tuples: Read index file to get the location of the tuple with the next smallest value 1 of 8 3/3/2018, 10:01 PM CS554, Homework 5 Question 1 (20 pts) Given: The content of a relation R is as follows: d d d d... d a a a a... a c c c c... c b b b b...b ^^^^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^

More information

from bits to systems

from bits to systems class 2 from bits to systems prof. Stratos Idreos HTTP://DASLAB.SEAS.HARVARD.EDU/CLASSES/CS165/ today logistics, goals, etc big data & systems (cont d) designing a data system algorithm: what can go wrong

More information

Citation for published version (APA): Ydraios, E. (2010). Database cracking: towards auto-tunning database kernels

Citation for published version (APA): Ydraios, E. (2010). Database cracking: towards auto-tunning database kernels UvA-DARE (Digital Academic Repository) Database cracking: towards auto-tunning database kernels Ydraios, E. Link to publication Citation for published version (APA): Ydraios, E. (2010). Database cracking:

More information

Physical Database Design: Outline

Physical Database Design: Outline Physical Database Design: Outline File Organization Fixed size records Variable size records Mapping Records to Files Heap Sequentially Hashing Clustered Buffer Management Indexes (Trees and Hashing) Single-level

More information

Hash table example. B+ Tree Index by Example Recall binary trees from CSE 143! Clustered vs Unclustered. Example

Hash table example. B+ Tree Index by Example Recall binary trees from CSE 143! Clustered vs Unclustered. Example Student Introduction to Database Systems CSE 414 Hash table example Index Student_ID on Student.ID Data File Student 10 Tom Hanks 10 20 20 Amy Hanks ID fname lname 10 Tom Hanks 20 Amy Hanks Lecture 26:

More information

Access Path Selection in Main-Memory Optimized Data Systems

Access Path Selection in Main-Memory Optimized Data Systems Access Path Selection in Main-Memory Optimized Data Systems Should I Scan or Should I Probe? Manos Athanassoulis Harvard University Talk at CS265, February 16 th, 2018 1 Access Path Selection SELECT x

More information

L20: Joins. CS3200 Database design (sp18 s2) 3/29/2018

L20: Joins. CS3200 Database design (sp18 s2)   3/29/2018 L20: Joins CS3200 Database design (sp18 s2) https://course.ccs.neu.edu/cs3200sp18s2/ 3/29/2018 143 Announcements! Please pick up your exam if you have not yet (at end of class) We leave some space at the

More information

Something to think about. Problems. Purpose. Vocabulary. Query Evaluation Techniques for large DB. Part 1. Fact:

Something to think about. Problems. Purpose. Vocabulary. Query Evaluation Techniques for large DB. Part 1. Fact: Query Evaluation Techniques for large DB Part 1 Fact: While data base management systems are standard tools in business data processing they are slowly being introduced to all the other emerging data base

More information

Introduction to Database Systems CSE 414. Lecture 26: More Indexes and Operator Costs

Introduction to Database Systems CSE 414. Lecture 26: More Indexes and Operator Costs Introduction to Database Systems CSE 414 Lecture 26: More Indexes and Operator Costs CSE 414 - Spring 2018 1 Student ID fname lname Hash table example 10 Tom Hanks Index Student_ID on Student.ID Data File

More information

Query Processing. Introduction to Databases CompSci 316 Fall 2017

Query Processing. Introduction to Databases CompSci 316 Fall 2017 Query Processing Introduction to Databases CompSci 316 Fall 2017 2 Announcements (Tue., Nov. 14) Homework #3 sample solution posted in Sakai Homework #4 assigned today; due on 12/05 Project milestone #2

More information

Hardware Acceleration for Database Systems using Content Addressable Memories

Hardware Acceleration for Database Systems using Content Addressable Memories Hardware Acceleration for Database Systems using Content Addressable Memories Nagender Bandi, Sam Schneider, Divyakant Agrawal, Amr El Abbadi University of California, Santa Barbara Overview The Memory

More information

ColumnStore Indexes. מה חדש ב- 2014?SQL Server.

ColumnStore Indexes. מה חדש ב- 2014?SQL Server. ColumnStore Indexes מה חדש ב- 2014?SQL Server דודאי מאיר meir@valinor.co.il 3 Column vs. row store Row Store (Heap / B-Tree) Column Store (values compressed) ProductID OrderDate Cost ProductID OrderDate

More information

Name: Problem 1 Consider the following two transactions: T0: read(a); read(b); if (A = 0) then B = B + 1; write(b);

Name: Problem 1 Consider the following two transactions: T0: read(a); read(b); if (A = 0) then B = B + 1; write(b); Name: Problem 1 Consider the following two transactions: T0: read(a); read(b); if (A = 0) then B = B + 1; write(b); T1: read(b); read(a); if (B = 0) then A = A + 1; write(a); Let the consistency requirement

More information

Indexing. Week 14, Spring Edited by M. Naci Akkøk, , Contains slides from 8-9. April 2002 by Hector Garcia-Molina, Vera Goebel

Indexing. Week 14, Spring Edited by M. Naci Akkøk, , Contains slides from 8-9. April 2002 by Hector Garcia-Molina, Vera Goebel Indexing Week 14, Spring 2005 Edited by M. Naci Akkøk, 5.3.2004, 3.3.2005 Contains slides from 8-9. April 2002 by Hector Garcia-Molina, Vera Goebel Overview Conventional indexes B-trees Hashing schemes

More information

The physical database. Contents - physical database design DATABASE DESIGN I - 1DL300. Introduction to Physical Database Design

The physical database. Contents - physical database design DATABASE DESIGN I - 1DL300. Introduction to Physical Database Design DATABASE DESIGN I - 1DL300 Fall 2011 Introduction to Physical Database Design Elmasri/Navathe ch 16 and 17 Padron-McCarthy/Risch ch 21 and 22 An introductory course on database systems http://www.it.uu.se/edu/course/homepage/dbastekn/ht11

More information

Accelerating Foreign-Key Joins using Asymmetric Memory Channels

Accelerating Foreign-Key Joins using Asymmetric Memory Channels Accelerating Foreign-Key Joins using Asymmetric Memory Channels Holger Pirk Stefan Manegold Martin Kersten holger@cwi.nl manegold@cwi.nl mk@cwi.nl Why? Trivia: Joins are important But: Many Joins are (Indexed)

More information

Lassonde School of Engineering Winter 2016 Term Course No: 4411 Database Management Systems

Lassonde School of Engineering Winter 2016 Term Course No: 4411 Database Management Systems Lassonde School of Engineering Winter 2016 Term Course No: 4411 Database Management Systems Last Name: First Name: Student ID: 1. Exam is 2 hours long 2. Closed books/notes Problem 1 (6 points) Consider

More information

STORING DATA: DISK AND FILES

STORING DATA: DISK AND FILES STORING DATA: DISK AND FILES CS 564- Fall 2016 ACKs: Dan Suciu, Jignesh Patel, AnHai Doan MANAGING DISK SPACE The disk space is organized into files Files are made up of pages s contain records 2 FILE

More information