THE HYPERDYADIC INDEX AND GENERALIZED INDEXING AND QUERY WITH PIQUE

Size: px
Start display at page:

Download "THE HYPERDYADIC INDEX AND GENERALIZED INDEXING AND QUERY WITH PIQUE"

Transcription

1 THE HYPERDYADIC INDEX AND GENERALIZED INDEXING AND QUERY WITH PIQUE David A. Boyuka II, Houjun Tang, Kushal Bansal, Xiaocheng Zou, Scott Klasky, Nagiza F. Samatova 6/30/2015 1

2 OVERVIEW Motivation Formal Indexing Model Parallel Indexing and Query Unified Engine (PIQUE) Hyperdyadic Tree Index (HD-tree) Results 6/30/2015 2

3 OVERVIEW Motivation Formal Indexing Model Parallel Indexing and Query Unified Engine (PIQUE) Hyperdyadic Tree Index (HD-tree) Results 6/30/2015 3

4 INDEXING FOR SCIENTIFIC DATA Scientific datasets continue to grow to unprecedented scale Some simulations use 100K+ supercomputer cores for days/weeks Yield 100 TB multi-variable, read/append-only data Data production outstripping I/O, storage, and analysis capacity Index-accelerated querying enables exploratory analysis of extreme-scale data. Bitmap Indexing (FastBit) Inverted Indexing (ALACRITY) S3D temperature data render (courtesy Sriram Lakshminarasimhan) 6/30/2015 4

5 OBSERVATIONS Similarities between bitmap and ALACRITY indexing Bitmap (Bit vectors) 2, 7 0, 3, 5 1, 4, 6 ALACRITY (Inverted Lists) 6/30/2015 5

6 OBSERVATIONS Similarities between bitmap and ALACRITY indexing. Binning Bitmap (Bit vectors) 2, 7 0, 3, 5 1, 4, 6 ALACRITY (Inverted Lists) 6/30/2015 5

7 OBSERVATIONS Similarities between bitmap and ALACRITY indexing. Binning Data structure Bitmap (Bit vectors) 2, 7 0, 3, 5 1, 4, 6 ALACRITY (Inverted Lists) 6/30/2015 5

8 OBSERVATIONS Similarities between bitmap and ALACRITY indexing. Binning Data structure Set operations (Query evaluation) Bitmap (Bit vectors) 2, 7 0, 3, 5 1, 4, 6 ALACRITY (Inverted Lists) 6/30/2015 5

9 OBSERVATIONS Similarities between bitmap and ALACRITY indexing. Binning Data structure Set operations (Query evaluation) General indexing model to encompass both? Bitmap (Bit vectors) 2, 7 0, 3, 5 1, 4, 6 ALACRITY (Inverted Lists) Related? 6/30/2015 5

10 OBSERVATIONS Similarities between bitmap and ALACRITY indexing. Binning Data structure Set operations (Query evaluation) General indexing model to encompass both? New indexing methods from generalized model? Bitmap (Bit vectors) 2, 7 0, 3, 5 1, 4, 6 ALACRITY (Inverted Lists)???? Related? 6/30/2015 5

11 OVERVIEW Motivation Formal Indexing Model Parallel Indexing and Query Unified Engine (PIQUE) Hyperdyadic Tree Index (HD-tree) Results 6/30/2015 6

12 BACKGROUND: THE BITMAP INDEX Bit i in bitmap j is set iff the ith record has value j A = {X, Y, Z} Index Single-variable query: merge bitmaps for relevant values via OR Multi-variable query: merge single-variable bitmaps via AND, OR etc /30/2015 7

13 BACKGROUND: THE BITMAP INDEX Bit i in bitmap j is set iff the ith record has value j A = {X, Y, Z} Index Single-variable query: merge bitmaps for relevant values via OR Multi-variable query: merge single-variable bitmaps via AND, OR etc. Distinct Bitmaps Evaluated values constraints Query: tttt 22, OR /30/2015 7

14 BACKGROUND: THE BITMAP INDEX Bit i in bitmap j is set iff the ith record has value j A = {X, Y, Z} Index Single-variable query: merge bitmaps for relevant values via OR Multi-variable query: merge single-variable bitmaps via AND, OR etc. Distinct Bitmaps Evaluated values constraints Query: tttt 22, 22 AND pppp 999, /30/ OR OR AND Evaluated query

15 BACKGROUND: ALACRITY INVERTED INDEX RID i in RID list j iff the ith record has value j RID Value Sig-bits Binning RID B1 B2 B Index Unconventional use of document-search index on scientific data Single-variable query: take union of RID lists for relevant values Multi-variable query: union, intersection, etc. of single-variable RID lists Bin B1 1; 3 B2 2 B3 4 Inverted List 6/30/2015 8

16 BEGINNING OF A FORMAL INDEX MODEL Concept Bitmap ALACRITY Binning Fixed, Precision etc. Significant-bits Data Structure Bit vector Inverted list Query Evaluation Bitwise (AND, OR, NOT) List (Merge, Intersection) 6/30/2015 9

17 BEGINNING OF A FORMAL INDEX MODEL Concept Bitmap ALACRITY Binning Fixed, Precision etc. Significant-bits Data Structure Bit vector Inverted list Query Evaluation Bitwise (AND, OR, NOT) List (Merge, Intersection) Quantization 6/30/2015 9

18 BEGINNING OF A FORMAL INDEX MODEL Concept Bitmap ALACRITY Binning Fixed, Precision etc. Significant-bits Data Structure Bit vector Inverted list Query Evaluation Bitwise (AND, OR, NOT) List (Merge, Intersection) Quantization RID set 6/30/2015 9

19 BEGINNING OF A FORMAL INDEX MODEL Concept Bitmap ALACRITY Binning Fixed, Precision etc. Significant-bits Data Structure Bit vector Inverted list Query Evaluation Bitwise (AND, OR, NOT) List (Merge, Intersection) Quantization RID set Set operations 6/30/2015 9

20 BEGINNING OF A FORMAL INDEX MODEL Concept Bitmap ALACRITY Binning Fixed, Precision etc. Significant-bits Data Structure Bit vector Inverted list Query Evaluation Bitwise (AND, OR, NOT) Encoding List (Merge, Intersection) Quantization RID set Set operations 6/30/2015 9

21 BEGINNING OF A FORMAL INDEX MODEL Concept Bitmap ALACRITY Binning Fixed, Precision etc. Significant-bits Data Structure Bit vector Inverted list Query Evaluation Bitwise (AND, OR, NOT) Encoding List (Merge, Intersection) Quantization RID set Set operations A = {W, X, Y, Z} Equality Encoding (= W) (= X) (= Y) (= Z) Range Encoding ( W) ( X) ( Y) 6/30/2015 9

22 BEGINNING OF A FORMAL INDEX MODEL Concept Bitmap ALACRITY Binning Fixed, Precision etc. Significant-bits Data Structure Bit vector Inverted list Query Evaluation Bitwise (AND, OR, NOT) Encoding Equality/Range/Interval List (Merge, Intersection) Quantization RID set Set operations A = {W, X, Y, Z} Equality Encoding (= W) (= X) (= Y) (= Z) Range Encoding ( W) ( X) ( Y) 6/30/2015 9

23 BEGINNING OF A FORMAL INDEX MODEL Concept Bitmap ALACRITY Binning Fixed, Precision etc. Significant-bits Data Structure Bit vector Inverted list Query Evaluation Bitwise (AND, OR, NOT) Encoding Equality/Range/Interval List (Merge, Intersection) Equality Quantization RID set Set operations A = {W, X, Y, Z} Equality Encoding (= W) (= X) (= Y) (= Z) Range Encoding ( W) ( X) ( Y) 6/30/2015 9

24 BEGINNING OF A FORMAL INDEX MODEL Concept Bitmap ALACRITY Binning Fixed, Precision etc. Significant-bits Data Structure Bit vector Inverted list Query Evaluation Bitwise (AND, OR, NOT) Encoding Equality/Range/Interval List (Merge, Intersection) Equality Quantization RID set Set operations Encoding A = {W, X, Y, Z} Equality Encoding (= W) (= X) (= Y) (= Z) Range Encoding ( W) ( X) ( Y) 6/30/2015 9

25 FORMALIZING AN INDEXING MODEL 1. A Quantization is applied to data (values bins ) 2. Bins are composed via Encoding (bin RSets encoded RSets ) 3. An RSet Representation is the data structure used to store RSets 6/30/

26 INDEX MODEL COMPONENT REQUIREMENTS RSet Representation: Supports set operations (union, intersection, complement) Serializable (for disk storage) Invertible Encoding: how to compose bin RSets into encoded Rsets (encode) recover any bin RSet based on encoded RSets (decode) 6/30/

27 OVERVIEW Motivation Formal Indexing Model Parallel Indexing and Query Unified Engine (PIQUE) Hyperdyadic Tree Index (HD-tree) Results 6/30/

28 PIQUE IMPL.: INDEXING ALGORITHM Bitmap E 1 = E 2 = ALACRITY E 1 = 2,7,12 E 2 = 0,2,5,7,10,11,12,14,15 6/30/

29 PIQUE IMPL.: UNIFIED QUERY ALGORITHM Bitmap Result: Convert to RIDs: (0,5,10,11,14,15) ALACRITY Result: (0,5,10,11,14,15) Step 4: convert result RSet to RIDs Step 3: perform set operations on encoded RSets as dictated by encoding Compute B 2 = E 2 E 1 = Want B 2 Want bins CD, EF Query 1: [C, F] Compute B 2 = E 2 E 1 = (0,2,5,7,10,11,12,14,15) (2,7,12) Step 2: invert encoding to decide which encoded RSets to read Step 1: apply quantization to compute bin range 6/30/

30 IMPACT: UNIFIED INDEXING/QUERY (PIQUE) Unified, modular indexing/query framework Enables new combinations of Quantization, RSet Representation, and Encoding techniques Allows direct comparison of different indexing methods Shared baseline minimizes confounding factors 6/30/

31 OVERVIEW Motivation Formal Indexing Model Parallel Indexing and Query Unified Engine (PIQUE) Hyperdyadic Tree Index (HD-tree) Results 6/30/

32 BACKGROUND: QUADTREES/OCTREES Quadtree: a tree where every internal node has exactly 4 children Region Quadtree: recursive quadrant decomposition of space Internal nodes are gray; further resolved by children Leaves are black (filled)/white (empty). Octree: 3D analogue; 8-child internal nodes; octant-wise Storage A pointer-based tree format is hard to serialize compactly Constant-bit linear quadtree (CBLQ) 05/05/2015 David A. Boyuka II 17

33 THE k-hyperdyadic TREE (khd-tree) A tree with the same structure as a kd quadtree However, the interpretation differs from a kd region quadtree Recursively partitions finite, discrete, 1D space into dyadic intervals Stored (serialize) using constant-bit linear quadtree (CBLQ) coding Adapted from image compression literature, generalized to kd A 1D discrete space, its conceptual 2HD-tree, and the CBLQ-coded 2HD-tree 6/30/

34 THE HD-TREE AS AN RSET REPRESENTATION Supports set operations? Yes, via CBLQ algorithms. Serializable? Yes, by virtue of CBLQ coding. Yet, using CBLQ coding/algorithms as-is gives poor performance CBLQ made for image compression, tuned for different operations We develop several improvements for this new usage context 1. Optimized bulk construction 2. Optimized bulk set operations 3. Better compression 4. Fast conversion to RIDs 6/30/

35 HD-TREE ALGORITHMS: BULK CONSTRUCTION Original CBLQ construction algorithm: convert bitmap to CBLQ Inefficient for our use: O n for each bin, O nn overall Instead: use bulk insertion of runs of RIDs into bin HD-trees Maintain next word for each level Bulk insert fills lowest word, recursively bubbles up on overflow Analysis: Each push is O log n, so O n lll n time overall Amortized O c log n for c pushes of n total RIDs c Pushes evenly-distrib. across bins: O b n log n b Note: b n n/b = O n lll b 6/30/

36 HD-TREE ALGORITHMS: BULK SET OPERATIONS Original algorithm: binary, combine two CBLQs by pairing words Binary expression tree to combine k > 2 CBLQs Large k inefficient: scans 2k 2 CBLQs, get progressively larger Cache-inefficient (jumps between left/right operands, whole CBLQs) Instead: develop single-pass k-ary set operations algorithm Analysis: Each operand examined exactly once; no intermediate HD-trees Each level of each HD-tree is scanned sequentially (cache efficient) 6/30/

37 HD-TREE ALGORITHMS: BETTER COMPRESSION The original CBLQ coding uses 2 bits per code (white, black, gray) However, the bottom level of words (i.e., lowest level of internal nodes) can have only white or black children, not gray Therefore: use 1 bit per code for the last level of words Bonus: doesn t qualitatively affect set operation algorithms All access the same tree level across operands at a given time 8 bytes 6 bytes 6/30/

38 OVERVIEW Motivation Formal Indexing Model Parallel Indexing and Query Unified Engine (PIQUE) Hyperdyadic Tree Index (HD-tree) Results 6/30/

39 HD-TREES AND PIQUE: INDEXING RESULTS Can build both HD-tree and WAH bitmap indexes using PIQUE Notice higher compression: x for 3HD, x for 4HD 6/30/

40 HD-TREES AND PIQUE: QUERY RESULTS Can also use the single PIQUE query algorithm over both indexes Also, compare FastQuery parallel bitmap index implementation In these tests, HD-trees achieve equal or better performance Query: eeeeee > x for x on the x-axis 6/30/

41 THANK YOU! 6/30/

42 BACKGROUND: ALACRITY INVERTED INDEX Unconventional use of document-search index on scientific data RID i in RID list j iff the ith record has value j Single-variable query: take union of RID lists for relevant values Multi-variable query: intersection, etc. of single-variable RID lists 6/30/

43 BACKGROUND: ALACRITY INVERTED INDEX Unconventional use of document-search index on scientific data RID i in RID list j iff the ith record has value j Single-variable query: take union of RID lists for relevant values Multi-variable query: intersection, etc. of single-variable RID lists 6/30/

44 PIQUE IMPL.: UNIFIED QUERY ALGORITHM Index Encoding RSet Representation Convert B 2 to RIDs (0,5,10,11,14,15) Compute B 2 = E 2 E 1 Want B 2 Convert B 3 to RIDs (1,3,4,6,8,9,13) Compute B 3 = -E 2 Want B 3 Step 4: convert result RSet to RIDs Step 3: perform set operations on encoded RSets as dictated by encoding Step 2: invert encoding to decide which encoded RSets to read Quantization Want bins CD, EF Query 1: [C, F] Want bin GJ Query 2: [G,J] Step 1: apply quantization to compute bin range 6/30/

45 MOTIVATION BITMAP AND INVERTED INDEXES Compressed bitmap indexes commonly used for scientific data Efficiently index many attributes and perform multi-variate queries Compression typically yields smaller index than B+-tree Recent ALACRITY inverted index developed for scientific data With compression, often smaller than compressed bitmap index However, multivariate queries are difficult to evaluate efficiently These indexes bear similarities despite differing data structures Can we formalize this similarity? Do other, related indexes exist? 6/30/ Bitmaps 2, 7 0, 3, 5 1, 4, 6 Inverted Lists???? Related? 30

46 BACKGROUND: 3 BITMAP INDEX EXTENSIONS Compression: compress bitmaps to reduce storage and I/O Ex: WAH, which allows bitwise operations on compressed form Binning (or quantization): maps values down to a smaller set Ex: round floating-point values to the nearest integer Helps cope with high-cardinality data, limits the number of bitmaps Trade-off: error in index results, or necessitates candidate checks Encoding: alternative to direct value-to-bitmap mapping Range encoding: ith bit in jth bitmap set iff ith record has value j Can reduce query time, query I/O, or index size (but not all) 6/30/

47 BEGINNING OF A FORMAL INDEX MODEL Similarities between bitmap and inverted indexes: A data structure (bitmap, RID list) exists for each distinct value #This data structure may be compressed (WAH, PFOR-Delta) Queries are answered via merging/intersecting the data structures Binning is possible, with similar effect #Difference: bitmap vs. inverted list as underlying data structure Response: abstract this piece as the RID set data type #Difference: bitwise operations vs. list union/intersection used Response: abstract this piece as set operations #Difference: encoding is not applicable to inverted indexes Response: consider inverted indexes to be equality encoded 6/30/

48 INDEX MODEL COMPONENT REQUIREMENTS Quantization: Function to map original values to smaller set of quantized keys Has preimage: can compute original value range for quantized key RSet Representation: Data structure implementing the RSet abstract data type Supports set operations (union, intersection, complement) Serializable (for disk storage) Encoding: Algorithm dictating how to compose bin RSets into encoded RSets Invertible : recover any bin RSet based on encoded RSets 6/30/

49 IMPACT: UNIFIED INDEXING/QUERY (PIQUE) This model enables a unified, modular indexing/query framework Core, fixed algorithms for index building and query processing Allows conceptually-minimal plugins defining new quantization, RSet representations, and index encodings Enables new combinations of Quantization, RSet Representation, and Encoding techniques Allows direct comparison of different indexing methods Shared baseline minimizes confounding factors 6/30/

50 PIQUE IMPL.: UNIFIED INDEXING ALGORITHM Input: data, and algorithms for the 3 method plugins Step 1: scan the data (one pass), quantize, identify runs, push runs into RSet representations Quantize each value Identify runs of equal quantized keys Push the run of RIDs (first push empty to advance to current position, then push filled of appropriate length) Step 2: top off, collect, sort all RSets by q.key Step 3: compose bin RSets into encoded RSets 6/30/

51 HD-TREE ALGORITHMS: BULK SET OPERATIONS = Level 1 Level 2 actions output actions output mappings[0] operands[0] UUUU UUUU UUUU UUUU X -1, 1, , 0110, 1100 mappings[1] operands[1] UUUU UUUU 0000 UDDU DDUU , 1, , 1100, 1001 mappings[2] operands[2] DUUU DUDU 1010 DDDU DDUD DUUU 1222 DDDD 1111 DDDU 1110 DDUD /30/

52 HD-TREE ALGORITHMS: CONVERSION TO RIDS Original algorithm: does not exist Obvious approach: scan HD-tree codes in (breadth-first) order Disadvantages: emits RIDs out of order, and (surprisingly) is slower Second approach: scan HD-tree codes sideways (depth-first) Obtain a pointer to the beginning of each tree level s codes Recursively examine codes, descend to next level for each 2 (gray) Advantages: emits RIDs in order, ends up being substantially faster Analysis: Compiler-generated deep for loop to avoid actual recursion Most state can be optimized to hardware registers 6/30/

53 HD-TREE ALGORITHMS: SUMMARY 1. Bulk Construction 4. Better Compression 2. Bulk Set Operations 3. Conversion to RIDs AB CD, EF GJ Encoded RSets Bins Quantized Keys Original Data E 2 E 1 = B 1 = B 1 + B 2 2,7, 0,5,10, B 1 B 2 B ,14,15 1,3,4,6, 8,9,13 AB CD EF GJ C G B K D K J A J G D D B H D C RSet Representation Index Encoding Quantization Index Encoding RSet Representation Quantization Convert R 2 to RIDs (0,5,10,11,14,15) Compute R 2 = E 2 E 1 Want R 2 Want bins CD, EF Query 1: [C, F] Convert R 3 to RIDs (1,3,4,6,8,9,13) Compute R 3 = -E 2 Want R 3 Want bin GJ Query 2: [G,J] 6/30/

54 PROPOSED WORK: HD-TREE ANALYSIS Previous work: theoretical analysis of WAH bitmap compression Used multiple probabilistic models to describe nature of data Models: uniform distribution, Markovian process Solve for expected index size under these models HD-tree compression should have different properties from WAH Compression relative to WAH shown to vary (though always > 1x) Theoretical model would give deeper insight into HD-tree behavior Proposal: solve data models for HD-trees, compare to WAH Though the probabilistic models are given, the solutions for HDtrees should be markedly different from WAH Also, small proposed modification to the Markov model (in text) 6/30/

55 POSSIBLE DIRECTIONS FOR FUTURE WORK Try other quadtree codings (LQT, FBLQ, Huffman-coded CBLQ) All fit nicely into PIQUE as new RSet representations Lossy RSet representations? May need to augment the model Better compression works on HD-tree top levels, too; harder Requires decompression, unlike the way used here. Worth it? Generalize set intersection query method from Zou et al Could be faster in some cases. When? Can this allow multi-variate queries over mixed index types? Experiment with encodings on HD-trees Encodings have never been applied to anything besides bitmaps 6/30/

Chapter 12: Indexing and Hashing. Basic Concepts

Chapter 12: Indexing and Hashing. Basic Concepts Chapter 12: Indexing and Hashing! Basic Concepts! Ordered Indices! B+-Tree Index Files! B-Tree Index Files! Static Hashing! Dynamic Hashing! Comparison of Ordered Indexing and Hashing! Index Definition

More information

CS301 - Data Structures Glossary By

CS301 - Data Structures Glossary By CS301 - Data Structures Glossary By Abstract Data Type : A set of data values and associated operations that are precisely specified independent of any particular implementation. Also known as ADT Algorithm

More information

Chapter 12: Indexing and Hashing

Chapter 12: Indexing and Hashing Chapter 12: Indexing and Hashing Basic Concepts Ordered Indices B+-Tree Index Files B-Tree Index Files Static Hashing Dynamic Hashing Comparison of Ordered Indexing and Hashing Index Definition in SQL

More information

Parallel, In Situ Indexing for Data-intensive Computing. Introduction

Parallel, In Situ Indexing for Data-intensive Computing. Introduction FastQuery - LDAV /24/ Parallel, In Situ Indexing for Data-intensive Computing October 24, 2 Jinoh Kim, Hasan Abbasi, Luis Chacon, Ciprian Docan, Scott Klasky, Qing Liu, Norbert Podhorszki, Arie Shoshani,

More information

Analysis of Basic Data Reordering Techniques

Analysis of Basic Data Reordering Techniques Analysis of Basic Data Reordering Techniques Tan Apaydin 1, Ali Şaman Tosun 2, and Hakan Ferhatosmanoglu 1 1 The Ohio State University, Computer Science and Engineering apaydin,hakan@cse.ohio-state.edu

More information

Multidimensional Indexes [14]

Multidimensional Indexes [14] CMSC 661, Principles of Database Systems Multidimensional Indexes [14] Dr. Kalpakis http://www.csee.umbc.edu/~kalpakis/courses/661 Motivation Examined indexes when search keys are in 1-D space Many interesting

More information

In the previous presentation, Erik Sintorn presented methods for practically constructing a DAG structure from a voxel data set.

In the previous presentation, Erik Sintorn presented methods for practically constructing a DAG structure from a voxel data set. 1 In the previous presentation, Erik Sintorn presented methods for practically constructing a DAG structure from a voxel data set. This presentation presents how such a DAG structure can be accessed immediately

More information

CMSC424: Database Design. Instructor: Amol Deshpande

CMSC424: Database Design. Instructor: Amol Deshpande CMSC424: Database Design Instructor: Amol Deshpande amol@cs.umd.edu Databases Data Models Conceptual representa1on of the data Data Retrieval How to ask ques1ons of the database How to answer those ques1ons

More information

Algorithms for GIS:! Quadtrees

Algorithms for GIS:! Quadtrees Algorithms for GIS: Quadtrees Quadtree A data structure that corresponds to a hierarchical subdivision of the plane Start with a square (containing inside input data) Divide into 4 equal squares (quadrants)

More information

Chapter 12: Indexing and Hashing

Chapter 12: Indexing and Hashing Chapter 12: Indexing and Hashing Database System Concepts, 5th Ed. See www.db-book.com for conditions on re-use Chapter 12: Indexing and Hashing Basic Concepts Ordered Indices B + -Tree Index Files B-Tree

More information

Outline. Database Management and Tuning. Index Data Structures. Outline. Index Tuning. Johann Gamper. Unit 5

Outline. Database Management and Tuning. Index Data Structures. Outline. Index Tuning. Johann Gamper. Unit 5 Outline Database Management and Tuning Johann Gamper Free University of Bozen-Bolzano Faculty of Computer Science IDSE Unit 5 1 2 Conclusion Acknowledgements: The slides are provided by Nikolaus Augsten

More information

Chapter 11: Indexing and Hashing

Chapter 11: Indexing and Hashing Chapter 11: Indexing and Hashing Basic Concepts Ordered Indices B + -Tree Index Files B-Tree Index Files Static Hashing Dynamic Hashing Comparison of Ordered Indexing and Hashing Index Definition in SQL

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

Access Methods. Basic Concepts. Index Evaluation Metrics. search key pointer. record. value. Value

Access Methods. Basic Concepts. Index Evaluation Metrics. search key pointer. record. value. Value Access Methods This is a modified version of Prof. Hector Garcia Molina s slides. All copy rights belong to the original author. Basic Concepts search key pointer Value record? value Search Key - set of

More information

Ray Tracing Acceleration Data Structures

Ray Tracing Acceleration Data Structures Ray Tracing Acceleration Data Structures Sumair Ahmed October 29, 2009 Ray Tracing is very time-consuming because of the ray-object intersection calculations. With the brute force method, each ray has

More information

Scalable Compression and Transmission of Large, Three- Dimensional Materials Microstructures

Scalable Compression and Transmission of Large, Three- Dimensional Materials Microstructures Scalable Compression and Transmission of Large, Three- Dimensional Materials Microstructures William A. Pearlman Center for Image Processing Research Rensselaer Polytechnic Institute pearlw@ecse.rpi.edu

More information

HICAMP Bitmap. A Space-Efficient Updatable Bitmap Index for In-Memory Databases! Bo Wang, Heiner Litz, David R. Cheriton Stanford University DAMON 14

HICAMP Bitmap. A Space-Efficient Updatable Bitmap Index for In-Memory Databases! Bo Wang, Heiner Litz, David R. Cheriton Stanford University DAMON 14 HICAMP Bitmap A Space-Efficient Updatable Bitmap Index for In-Memory Databases! Bo Wang, Heiner Litz, David R. Cheriton Stanford University DAMON 14 Database Indexing Databases use precomputed indexes

More information

UNIT IV -NON-LINEAR DATA STRUCTURES 4.1 Trees TREE: A tree is a finite set of one or more nodes such that there is a specially designated node called the Root, and zero or more non empty sub trees T1,

More information

Spatial Data Structures

Spatial Data Structures 15-462 Computer Graphics I Lecture 17 Spatial Data Structures Hierarchical Bounding Volumes Regular Grids Octrees BSP Trees Constructive Solid Geometry (CSG) April 1, 2003 [Angel 9.10] Frank Pfenning Carnegie

More information

CSE 100 Advanced Data Structures

CSE 100 Advanced Data Structures CSE 100 Advanced Data Structures Overview of course requirements Outline of CSE 100 topics Review of trees Helpful hints for team programming Information about computer accounts Page 1 of 25 CSE 100 web

More information

LPT Codes used with ROAM Splitting Algorithm CMSC451 Honors Project Joseph Brosnihan Mentor: Dave Mount Fall 2015

LPT Codes used with ROAM Splitting Algorithm CMSC451 Honors Project Joseph Brosnihan Mentor: Dave Mount Fall 2015 LPT Codes used with ROAM Splitting Algorithm CMSC451 Honors Project Joseph Brosnihan Mentor: Dave Mount Fall 2015 Abstract Simplicial meshes are commonly used to represent regular triangle grids. Of many

More information

Database System Concepts, 6 th Ed. Silberschatz, Korth and Sudarshan See for conditions on re-use

Database System Concepts, 6 th Ed. Silberschatz, Korth and Sudarshan See  for conditions on re-use Chapter 11: Indexing and Hashing Database System Concepts, 6 th Ed. See www.db-book.com for conditions on re-use Chapter 12: Indexing and Hashing Basic Concepts Ordered Indices B + -Tree Index Files Static

More information

COMPUTING SUBJECT KNOWLEDGE AUDIT

COMPUTING SUBJECT KNOWLEDGE AUDIT COMPUTING SUBJECT KNOWLEDGE AUDIT Use this needs analysis to help self-assess and track your computing subject knowledge. Topic Area 1 Computational thinking Define, explain and use these concepts with

More information

Spatial Data Structures

Spatial Data Structures 15-462 Computer Graphics I Lecture 17 Spatial Data Structures Hierarchical Bounding Volumes Regular Grids Octrees BSP Trees Constructive Solid Geometry (CSG) March 28, 2002 [Angel 8.9] Frank Pfenning Carnegie

More information

Spatial Data Structures

Spatial Data Structures CSCI 420 Computer Graphics Lecture 17 Spatial Data Structures Jernej Barbic University of Southern California Hierarchical Bounding Volumes Regular Grids Octrees BSP Trees [Angel Ch. 8] 1 Ray Tracing Acceleration

More information

Lecture 8 13 March, 2012

Lecture 8 13 March, 2012 6.851: Advanced Data Structures Spring 2012 Prof. Erik Demaine Lecture 8 13 March, 2012 1 From Last Lectures... In the previous lecture, we discussed the External Memory and Cache Oblivious memory models.

More information

Ensures that no such path is more than twice as long as any other, so that the tree is approximately balanced

Ensures that no such path is more than twice as long as any other, so that the tree is approximately balanced 13 Red-Black Trees A red-black tree (RBT) is a BST with one extra bit of storage per node: color, either RED or BLACK Constraining the node colors on any path from the root to a leaf Ensures that no such

More information

Unit 6 Chapter 15 EXAMPLES OF COMPLEXITY CALCULATION

Unit 6 Chapter 15 EXAMPLES OF COMPLEXITY CALCULATION DESIGN AND ANALYSIS OF ALGORITHMS Unit 6 Chapter 15 EXAMPLES OF COMPLEXITY CALCULATION http://milanvachhani.blogspot.in EXAMPLES FROM THE SORTING WORLD Sorting provides a good set of examples for analyzing

More information

Data Structure. IBPS SO (IT- Officer) Exam 2017

Data Structure. IBPS SO (IT- Officer) Exam 2017 Data Structure IBPS SO (IT- Officer) Exam 2017 Data Structure: In computer science, a data structure is a way of storing and organizing data in a computer s memory so that it can be used efficiently. Data

More information

Lossless Compression Algorithms

Lossless Compression Algorithms Multimedia Data Compression Part I Chapter 7 Lossless Compression Algorithms 1 Chapter 7 Lossless Compression Algorithms 1. Introduction 2. Basics of Information Theory 3. Lossless Compression Algorithms

More information

Database System Concepts, 5th Ed. Silberschatz, Korth and Sudarshan See for conditions on re-use

Database System Concepts, 5th Ed. Silberschatz, Korth and Sudarshan See   for conditions on re-use Chapter 12: Indexing and Hashing Database System Concepts, 5th Ed. See www.db-book.com for conditions on re-use Chapter 12: Indexing and Hashing Basic Concepts Ordered Indices B + -Tree Index Files B-Tree

More information

Parallel Physically Based Path-tracing and Shading Part 3 of 2. CIS565 Fall 2012 University of Pennsylvania by Yining Karl Li

Parallel Physically Based Path-tracing and Shading Part 3 of 2. CIS565 Fall 2012 University of Pennsylvania by Yining Karl Li Parallel Physically Based Path-tracing and Shading Part 3 of 2 CIS565 Fall 202 University of Pennsylvania by Yining Karl Li Jim Scott 2009 Spatial cceleration Structures: KD-Trees *Some portions of these

More information

Bitmap Index Partition Techniques for Continuous and High Cardinality Discrete Attributes

Bitmap Index Partition Techniques for Continuous and High Cardinality Discrete Attributes Bitmap Index Partition Techniques for Continuous and High Cardinality Discrete Attributes Songrit Maneewongvatana Department of Computer Engineering King s Mongkut s University of Technology, Thonburi,

More information

DATABASE PERFORMANCE AND INDEXES. CS121: Relational Databases Fall 2017 Lecture 11

DATABASE PERFORMANCE AND INDEXES. CS121: Relational Databases Fall 2017 Lecture 11 DATABASE PERFORMANCE AND INDEXES CS121: Relational Databases Fall 2017 Lecture 11 Database Performance 2 Many situations where query performance needs to be improved e.g. as data size grows, query performance

More information

Spatial Data Structures

Spatial Data Structures CSCI 480 Computer Graphics Lecture 7 Spatial Data Structures Hierarchical Bounding Volumes Regular Grids BSP Trees [Ch. 0.] March 8, 0 Jernej Barbic University of Southern California http://www-bcf.usc.edu/~jbarbic/cs480-s/

More information

looking ahead to see the optimum

looking ahead to see the optimum ! Make choice based on immediate rewards rather than looking ahead to see the optimum! In many cases this is effective as the look ahead variation can require exponential time as the number of possible

More information

Query Answering Using Inverted Indexes

Query Answering Using Inverted Indexes Query Answering Using Inverted Indexes Inverted Indexes Query Brutus AND Calpurnia J. Pei: Information Retrieval and Web Search -- Query Answering Using Inverted Indexes 2 Document-at-a-time Evaluation

More information

B-Trees and External Memory

B-Trees and External Memory Presentation for use with the textbook, Algorithm Design and Applications, by M. T. Goodrich and R. Tamassia, Wiley, 2015 B-Trees and External Memory 1 (2, 4) Trees: Generalization of BSTs Each internal

More information

Information Retrieval

Information Retrieval Information Retrieval Suan Lee - Information Retrieval - 05 Index Compression 1 05 Index Compression - Information Retrieval - 05 Index Compression 2 Last lecture index construction Sort-based indexing

More information

Query Processing & Optimization

Query Processing & Optimization Query Processing & Optimization 1 Roadmap of This Lecture Overview of query processing Measures of Query Cost Selection Operation Sorting Join Operation Other Operations Evaluation of Expressions Introduction

More information

Introduction to Indexing R-trees. Hong Kong University of Science and Technology

Introduction to Indexing R-trees. Hong Kong University of Science and Technology Introduction to Indexing R-trees Dimitris Papadias Hong Kong University of Science and Technology 1 Introduction to Indexing 1. Assume that you work in a government office, and you maintain the records

More information

Database index structures

Database index structures Database index structures From: Database System Concepts, 6th edijon Avi Silberschatz, Henry Korth, S. Sudarshan McGraw- Hill Architectures for Massive DM D&K / UPSay 2015-2016 Ioana Manolescu 1 Chapter

More information

Sorting and Selection

Sorting and Selection Sorting and Selection Introduction Divide and Conquer Merge-Sort Quick-Sort Radix-Sort Bucket-Sort 10-1 Introduction Assuming we have a sequence S storing a list of keyelement entries. The key of the element

More information

Red-Black, Splay and Huffman Trees

Red-Black, Splay and Huffman Trees Red-Black, Splay and Huffman Trees Kuan-Yu Chen ( 陳冠宇 ) 2018/10/22 @ TR-212, NTUST AVL Trees Review Self-balancing binary search tree Balance Factor Every node has a balance factor of 1, 0, or 1 2 Red-Black

More information

Spatial Data Structures for GIS Visualization. Ed Grundy

Spatial Data Structures for GIS Visualization. Ed Grundy Spatial Data Structures for GIS Visualization Ed Grundy GIS Data Elevation maps Satellite imagery (as texture data) Other data we may wish to visualise, such as temperature, population, etc In GIS terms

More information

Indexing. Chapter 8, 10, 11. Database Management Systems 3ed, R. Ramakrishnan and J. Gehrke 1

Indexing. Chapter 8, 10, 11. Database Management Systems 3ed, R. Ramakrishnan and J. Gehrke 1 Indexing Chapter 8, 10, 11 Database Management Systems 3ed, R. Ramakrishnan and J. Gehrke 1 Tree-Based Indexing The data entries are arranged in sorted order by search key value. A hierarchical search

More information

B-Trees. Version of October 2, B-Trees Version of October 2, / 22

B-Trees. Version of October 2, B-Trees Version of October 2, / 22 B-Trees Version of October 2, 2014 B-Trees Version of October 2, 2014 1 / 22 Motivation An AVL tree can be an excellent data structure for implementing dictionary search, insertion and deletion Each operation

More information

CS DATA STRUCTURES AND ALGORITHMS

CS DATA STRUCTURES AND ALGORITHMS Computer Science and Engineering Third Semester CS1211 - DATA STRUCTURES AND ALGORITHMS UNIT-I - INTRODUCTION TO DATASTRUCTURES 1.Write down the definition of data structures? PART -A A data structure

More information

10/23/12. Outline. Part 6. Trees (3) Example: A B-tree of degree 5. B-tree of degree m. Inserting 55. Inserting 55. B-Trees External Methods

10/23/12. Outline. Part 6. Trees (3) Example: A B-tree of degree 5. B-tree of degree m. Inserting 55. Inserting 55. B-Trees External Methods Outline Part 6. Trees (3) B-Trees External Methods CS 200 Algorithms and Data Structures 1 2 B-tree of degree m All leaves are at the same level Each node contains between m-1 and floor((m-2)/2) s (except

More information

Announcement. Reading Material. Overview of Query Evaluation. Overview of Query Evaluation. Overview of Query Evaluation 9/26/17

Announcement. Reading Material. Overview of Query Evaluation. Overview of Query Evaluation. Overview of Query Evaluation 9/26/17 Announcement CompSci 516 Database Systems Lecture 10 Query Evaluation and Join Algorithms Project proposal pdf due on sakai by 5 pm, tomorrow, Thursday 09/27 One per group by any member Instructor: Sudeepa

More information

MASSACHUSETTS INSTITUTE OF TECHNOLOGY Database Systems: Fall 2015 Quiz I

MASSACHUSETTS INSTITUTE OF TECHNOLOGY Database Systems: Fall 2015 Quiz I Department of Electrical Engineering and Computer Science MASSACHUSETTS INSTITUTE OF TECHNOLOGY 6.830 Database Systems: Fall 2015 Quiz I There are 12 questions and 13 pages in this quiz booklet. To receive

More information

Kathleen Durant PhD Northeastern University CS Indexes

Kathleen Durant PhD Northeastern University CS Indexes Kathleen Durant PhD Northeastern University CS 3200 Indexes Outline for the day Index definition Types of indexes B+ trees ISAM Hash index Choosing indexed fields Indexes in InnoDB 2 Indexes A typical

More information

Chapter 17. Disk Storage, Basic File Structures, and Hashing. Records. Blocking

Chapter 17. Disk Storage, Basic File Structures, and Hashing. Records. Blocking Chapter 17 Disk Storage, Basic File Structures, and Hashing Records Fixed and variable length records Records contain fields which have values of a particular type (e.g., amount, date, time, age) Fields

More information

UNIT-II. Part-2: CENTRAL PROCESSING UNIT

UNIT-II. Part-2: CENTRAL PROCESSING UNIT Page1 UNIT-II Part-2: CENTRAL PROCESSING UNIT Stack Organization Instruction Formats Addressing Modes Data Transfer And Manipulation Program Control Reduced Instruction Set Computer (RISC) Introduction:

More information

THE B+ TREE INDEX. CS 564- Spring ACKs: Jignesh Patel, AnHai Doan

THE B+ TREE INDEX. CS 564- Spring ACKs: Jignesh Patel, AnHai Doan THE B+ TREE INDEX CS 564- Spring 2018 ACKs: Jignesh Patel, AnHai Doan WHAT IS THIS LECTURE ABOUT? The B+ tree index Basics Search/Insertion/Deletion Design & Cost 2 INDEX RECAP We have the following query:

More information

Introduction to Indexing 2. Acknowledgements: Eamonn Keogh and Chotirat Ann Ratanamahatana

Introduction to Indexing 2. Acknowledgements: Eamonn Keogh and Chotirat Ann Ratanamahatana Introduction to Indexing 2 Acknowledgements: Eamonn Keogh and Chotirat Ann Ratanamahatana Indexed Sequential Access Method We have seen that too small or too large an index (in other words too few or too

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

Indexing. Jan Chomicki University at Buffalo. Jan Chomicki () Indexing 1 / 25

Indexing. Jan Chomicki University at Buffalo. Jan Chomicki () Indexing 1 / 25 Indexing Jan Chomicki University at Buffalo Jan Chomicki () Indexing 1 / 25 Storage hierarchy Cache Main memory Disk Tape Very fast Fast Slower Slow (nanosec) (10 nanosec) (millisec) (sec) Very small Small

More information

Chapter 11: Indexing and Hashing

Chapter 11: Indexing and Hashing Chapter 11: Indexing and Hashing Database System Concepts, 6 th Ed. See www.db-book.com for conditions on re-use Chapter 11: Indexing and Hashing Basic Concepts Ordered Indices B + -Tree Index Files B-Tree

More information

Thomas H. Cormen Charles E. Leiserson Ronald L. Rivest. Introduction to Algorithms

Thomas H. Cormen Charles E. Leiserson Ronald L. Rivest. Introduction to Algorithms Thomas H. Cormen Charles E. Leiserson Ronald L. Rivest Introduction to Algorithms Preface xiii 1 Introduction 1 1.1 Algorithms 1 1.2 Analyzing algorithms 6 1.3 Designing algorithms 1 1 1.4 Summary 1 6

More information

Chapter 11: Indexing and Hashing

Chapter 11: Indexing and Hashing Chapter 11: Indexing and Hashing Database System Concepts, 6 th Ed. See www.db-book.com for conditions on re-use Chapter 11: Indexing and Hashing Basic Concepts Ordered Indices B + -Tree Index Files B-Tree

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

/633 Introduction to Algorithms Lecturer: Michael Dinitz Topic: Priority Queues / Heaps Date: 9/27/17

/633 Introduction to Algorithms Lecturer: Michael Dinitz Topic: Priority Queues / Heaps Date: 9/27/17 01.433/33 Introduction to Algorithms Lecturer: Michael Dinitz Topic: Priority Queues / Heaps Date: 9/2/1.1 Introduction In this lecture we ll talk about a useful abstraction, priority queues, which are

More information

Chapter 11: Indexing and Hashing

Chapter 11: Indexing and Hashing Chapter 11: Indexing and Hashing Database System Concepts, 6 th Ed. See www.db-book.com for conditions on re-use Chapter 12: Indexing and Hashing Basic Concepts Ordered Indices B + -Tree Index Files B-Tree

More information

V Advanced Data Structures

V Advanced Data Structures V Advanced Data Structures B-Trees Fibonacci Heaps 18 B-Trees B-trees are similar to RBTs, but they are better at minimizing disk I/O operations Many database systems use B-trees, or variants of them,

More information

Data Structures and Algorithms

Data Structures and Algorithms Data Structures and Algorithms CS245-2008S-19 B-Trees David Galles Department of Computer Science University of San Francisco 19-0: Indexing Operations: Add an element Remove an element Find an element,

More information

Introduction to Data Management. Lecture 15 (More About Indexing)

Introduction to Data Management. Lecture 15 (More About Indexing) Introduction to Data Management Lecture 15 (More About Indexing) Instructor: Mike Carey mjcarey@ics.uci.edu Database Management Systems 3ed, R. Ramakrishnan and J. Gehrke 1 Announcements v HW s and quizzes:

More information

COMP 430 Intro. to Database Systems. Indexing

COMP 430 Intro. to Database Systems. Indexing COMP 430 Intro. to Database Systems Indexing How does DB find records quickly? Various forms of indexing An index is automatically created for primary key. SQL gives us some control, so we should understand

More information

Spatial Data Structures for Computer Graphics

Spatial Data Structures for Computer Graphics Spatial Data Structures for Computer Graphics Page 1 of 65 http://www.cse.iitb.ac.in/ sharat November 2008 Spatial Data Structures for Computer Graphics Page 1 of 65 http://www.cse.iitb.ac.in/ sharat November

More information

CS6200 Information Retrieval. David Smith College of Computer and Information Science Northeastern University

CS6200 Information Retrieval. David Smith College of Computer and Information Science Northeastern University CS6200 Information Retrieval David Smith College of Computer and Information Science Northeastern University Indexing Process!2 Indexes Storing document information for faster queries Indexes Index Compression

More information

Chapter 17 Indexing Structures for Files and Physical Database Design

Chapter 17 Indexing Structures for Files and Physical Database Design Chapter 17 Indexing Structures for Files and Physical Database Design We assume that a file already exists with some primary organization unordered, ordered or hash. The index provides alternate ways to

More information

Chapter 5 VARIABLE-LENGTH CODING Information Theory Results (II)

Chapter 5 VARIABLE-LENGTH CODING Information Theory Results (II) Chapter 5 VARIABLE-LENGTH CODING ---- Information Theory Results (II) 1 Some Fundamental Results Coding an Information Source Consider an information source, represented by a source alphabet S. S = { s,

More information

Physical Level of Databases: B+-Trees

Physical Level of Databases: B+-Trees Physical Level of Databases: B+-Trees Adnan YAZICI Computer Engineering Department METU (Fall 2005) 1 B + -Tree Index Files l Disadvantage of indexed-sequential files: performance degrades as file grows,

More information

Web Information Retrieval. Lecture 4 Dictionaries, Index Compression

Web Information Retrieval. Lecture 4 Dictionaries, Index Compression Web Information Retrieval Lecture 4 Dictionaries, Index Compression Recap: lecture 2,3 Stemming, tokenization etc. Faster postings merges Phrase queries Index construction This lecture Dictionary data

More information

Advanced Database Systems

Advanced Database Systems Lecture IV Query Processing Kyumars Sheykh Esmaili Basic Steps in Query Processing 2 Query Optimization Many equivalent execution plans Choosing the best one Based on Heuristics, Cost Will be discussed

More information

Compressing and Decoding Term Statistics Time Series

Compressing and Decoding Term Statistics Time Series Compressing and Decoding Term Statistics Time Series Jinfeng Rao 1,XingNiu 1,andJimmyLin 2(B) 1 University of Maryland, College Park, USA {jinfeng,xingniu}@cs.umd.edu 2 University of Waterloo, Waterloo,

More information

D. Θ nlogn ( ) D. Ο. ). Which of the following is not necessarily true? . Which of the following cannot be shown as an improvement? D.

D. Θ nlogn ( ) D. Ο. ). Which of the following is not necessarily true? . Which of the following cannot be shown as an improvement? D. CSE 0 Name Test Fall 00 Last Digits of Mav ID # Multiple Choice. Write your answer to the LEFT of each problem. points each. The time to convert an array, with priorities stored at subscripts through n,

More information

We augment RBTs to support operations on dynamic sets of intervals A closed interval is an ordered pair of real

We augment RBTs to support operations on dynamic sets of intervals A closed interval is an ordered pair of real 14.3 Interval trees We augment RBTs to support operations on dynamic sets of intervals A closed interval is an ordered pair of real numbers ], with Interval ]represents the set Open and half-open intervals

More information

Text Analytics. Index-Structures for Information Retrieval. Ulf Leser

Text Analytics. Index-Structures for Information Retrieval. Ulf Leser Text Analytics Index-Structures for Information Retrieval Ulf Leser Content of this Lecture Inverted files Storage structures Phrase and proximity search Building and updating the index Using a RDBMS Ulf

More information

B-Trees and External Memory

B-Trees and External Memory Presentation for use with the textbook, Algorithm Design and Applications, by M. T. Goodrich and R. Tamassia, Wiley, 2015 and External Memory 1 1 (2, 4) Trees: Generalization of BSTs Each internal node

More information

CSE 143, Winter 2013 Programming Assignment #8: Huffman Coding (40 points) Due Thursday, March 14, 2013, 11:30 PM

CSE 143, Winter 2013 Programming Assignment #8: Huffman Coding (40 points) Due Thursday, March 14, 2013, 11:30 PM CSE, Winter Programming Assignment #8: Huffman Coding ( points) Due Thursday, March,, : PM This program provides practice with binary trees and priority queues. Turn in files named HuffmanTree.java, secretmessage.short,

More information

Computer Systems A Programmer s Perspective 1 (Beta Draft)

Computer Systems A Programmer s Perspective 1 (Beta Draft) Computer Systems A Programmer s Perspective 1 (Beta Draft) Randal E. Bryant David R. O Hallaron August 1, 2001 1 Copyright c 2001, R. E. Bryant, D. R. O Hallaron. All rights reserved. 2 Contents Preface

More information

CS521 \ Notes for the Final Exam

CS521 \ Notes for the Final Exam CS521 \ Notes for final exam 1 Ariel Stolerman Asymptotic Notations: CS521 \ Notes for the Final Exam Notation Definition Limit Big-O ( ) Small-o ( ) Big- ( ) Small- ( ) Big- ( ) Notes: ( ) ( ) ( ) ( )

More information

Tree-Structured Indexes. Chapter 10

Tree-Structured Indexes. Chapter 10 Tree-Structured Indexes Chapter 10 1 Introduction As for any index, 3 alternatives for data entries k*: Data record with key value k 25, [n1,v1,k1,25] 25,

More information

Introduction to Linked List: Review. Source:

Introduction to Linked List: Review. Source: Introduction to Linked List: Review Source: http://www.geeksforgeeks.org/data-structures/linked-list/ Linked List Fundamental data structures in C Like arrays, linked list is a linear data structure Unlike

More information

Column Stores versus Search Engines and Applications to Search in Social Networks

Column Stores versus Search Engines and Applications to Search in Social Networks Truls A. Bjørklund Column Stores versus Search Engines and Applications to Search in Social Networks Thesis for the degree of philosophiae doctor Trondheim, June 2011 Norwegian University of Science and

More information

Chapter 12: Query Processing

Chapter 12: Query Processing Chapter 12: Query Processing Overview Catalog Information for Cost Estimation $ Measures of Query Cost Selection Operation Sorting Join Operation Other Operations Evaluation of Expressions Transformation

More information

1 5,9,2,7,6,10,4,3,8,1 The first number (5) is automatically the first number of the sorted list

1 5,9,2,7,6,10,4,3,8,1 The first number (5) is automatically the first number of the sorted list Algorithms One of the more challenging aspects of Computer Science are algorithms. An algorithm is a plan that solves a problem. When assembling a bicycle based on the included instructions, in this case,

More information

Data Structure and Algorithm Homework #3 Due: 2:20pm, Tuesday, April 9, 2013 TA === Homework submission instructions ===

Data Structure and Algorithm Homework #3 Due: 2:20pm, Tuesday, April 9, 2013 TA   === Homework submission instructions === Data Structure and Algorithm Homework #3 Due: 2:20pm, Tuesday, April 9, 2013 TA email: dsa1@csientuedutw === Homework submission instructions === For Problem 1, submit your source code, a Makefile to compile

More information

CSIT5300: Advanced Database Systems

CSIT5300: Advanced Database Systems CSIT5300: Advanced Database Systems L08: B + -trees and Dynamic Hashing Dr. Kenneth LEUNG Department of Computer Science and Engineering The Hong Kong University of Science and Technology Hong Kong SAR,

More information

Image Rotation Using Quad Tree

Image Rotation Using Quad Tree 80 Image Rotation Using Quad Tree Aashish Kumar, Lec. ECE Dept. Swami Vivekanand institute of Engneering & Technology, Ramnagar Banur ABSTRACT This paper presents a data structure based technique of rotating

More information

Tree-Structured Indexes

Tree-Structured Indexes Tree-Structured Indexes Chapter 9 Database Management Systems, R. Ramakrishnan and J. Gehrke 1 Introduction As for any index, 3 alternatives for data entries k*: ➀ Data record with key value k ➁

More information

CS 525: Advanced Database Organization 04: Indexing

CS 525: Advanced Database Organization 04: Indexing CS 5: Advanced Database Organization 04: Indexing Boris Glavic Part 04 Indexing & Hashing value record? value Slides: adapted from a course taught by Hector Garcia-Molina, Stanford InfoLab CS 5 Notes 4

More information

V Advanced Data Structures

V Advanced Data Structures V Advanced Data Structures B-Trees Fibonacci Heaps 18 B-Trees B-trees are similar to RBTs, but they are better at minimizing disk I/O operations Many database systems use B-trees, or variants of them,

More information

CIS 121 Data Structures and Algorithms with Java Spring 2018

CIS 121 Data Structures and Algorithms with Java Spring 2018 CIS 121 Data Structures and Algorithms with Java Spring 2018 Homework 2 Thursday, January 18 Due Monday, January 29 by 11:59 PM 7 Required Problems (85 points), and Style and Tests (15 points) DO NOT modify

More information

CS 216 Fall 2007 Final Exam Page 1 of 10 Name: ID:

CS 216 Fall 2007 Final Exam Page 1 of 10 Name:  ID: Page 1 of 10 Name: Email ID: You MUST write your name and e-mail ID on EACH page and bubble in your userid at the bottom of EACH page including this page. If you do not do this, you will receive a zero

More information

Switching to AQA from Edexcel

Switching to AQA from Edexcel Switching to AQA from Edexcel This resource compares our new GCSE Computer Science specification (8520) with the new Edexcel Computer Science specification (1CP1). If you are thinking of switching from

More information

Lecture Summary CSC 263H. August 5, 2016

Lecture Summary CSC 263H. August 5, 2016 Lecture Summary CSC 263H August 5, 2016 This document is a very brief overview of what we did in each lecture, it is by no means a replacement for attending lecture or doing the readings. 1. Week 1 2.

More information

Processing of Very Large Data

Processing of Very Large Data Processing of Very Large Data Krzysztof Dembczyński Intelligent Decision Support Systems Laboratory (IDSS) Poznań University of Technology, Poland Software Development Technologies Master studies, first

More information

Integer Programming ISE 418. Lecture 7. Dr. Ted Ralphs

Integer Programming ISE 418. Lecture 7. Dr. Ted Ralphs Integer Programming ISE 418 Lecture 7 Dr. Ted Ralphs ISE 418 Lecture 7 1 Reading for This Lecture Nemhauser and Wolsey Sections II.3.1, II.3.6, II.4.1, II.4.2, II.5.4 Wolsey Chapter 7 CCZ Chapter 1 Constraint

More information