Sorting Improves Bitmap Indexes

Size: px
Start display at page:

Download "Sorting Improves Bitmap Indexes"

Transcription

1 Joint work (presented at BDA 08 and DOLAP 08) with Daniel Lemire and Kamel Aouiche, UQAM. December 4, 2008

2 Database Indexes Databases use precomputed indexes (auxiliary data structures) to speed processing.

3 Database Indexes Databases use precomputed indexes (auxiliary data structures) to speed processing. An index costs memory, can hurt update speed.

4 Database Indexes Databases use precomputed indexes (auxiliary data structures) to speed processing. An index costs memory, can hurt update speed. Who makes the tradeoff for a given database? system itself? database designer/administrator?

5 Database Indexes Databases use precomputed indexes (auxiliary data structures) to speed processing. An index costs memory, can hurt update speed. Who makes the tradeoff for a given database? system itself? database designer/administrator? Improving indexes is practically important.

6 Bitmap indexes SELECT * FROM T WHERE x=a AND y=b; Above, compute {r r is the row id of a row where x = a} {r r is the row id of a row where y = b}

7 Bitmap indexes SELECT * FROM T WHERE x=a AND y=b; Bitmap indexes have a long history. (1972 at IBM.) Above, compute {r r is the row id of a row where x = a} {r r is the row id of a row where y = b}

8 Bitmap indexes SELECT * FROM T WHERE x=a AND y=b; Bitmap indexes have a long history. (1972 at IBM.) Long history with DW & OLAP. (Sybase IQ since mid 1990s). Above, compute {r r is the row id of a row where x = a} {r r is the row id of a row where y = b}

9 Bitmap indexes SELECT * FROM T WHERE x=a AND y=b; Bitmap indexes have a long history. (1972 at IBM.) Long history with DW & OLAP. (Sybase IQ since mid 1990s). Main competition: B-trees. Above, compute {r r is the row id of a row where x = a} {r r is the row id of a row where y = b}

10 Bitmaps and fast AND/OR operations Computing the union of two sets of integers between 1 and 64 (eg row ids, trivial table)... E.g., {1, 5, 8} {1, 3, 5}?

11 Bitmaps and fast AND/OR operations Computing the union of two sets of integers between 1 and 64 (eg row ids, trivial table)... E.g., {1, 5, 8} {1, 3, 5}? Can be done in one operation by a CPU: BitwiseOR( , )

12 Bitmaps and fast AND/OR operations Computing the union of two sets of integers between 1 and 64 (eg row ids, trivial table)... E.g., {1, 5, 8} {1, 3, 5}? Can be done in one operation by a CPU: BitwiseOR( , ) Extend to sets from 1..N using N/64 operations. To compute [a 0,..., a N 1 ] [b 0, b 1,..., b N 1 ] : a 0,..., a 63 BitwiseOR b 0,..., b 63 ; a 64,..., a 127 BitwiseOR b 64,..., b 127 ; a 128,..., a 192 BitwiseOR b 128,..., b 192 ;...

13 Bitmap compression column x n index bitmaps x= x=2 0 0 L x= A column with n rows and L distinct values nl bits

14 Bitmap compression column x n index bitmaps x= x=2 0 0 L x= A column with n rows and L distinct values nl bits E.g., n = 10 6, L = Gbits

15 Bitmap compression column x n index bitmaps x= x=2 0 0 L x= A column with n rows and L distinct values nl bits E.g., n = 10 6, L = Gbits Uncompressed bitmaps are often impractical

16 Bitmap compression column x n index bitmaps x= x=2 0 0 L x= A column with n rows and L distinct values nl bits E.g., n = 10 6, L = Gbits Uncompressed bitmaps are often impractical Moreover, bitmaps often contain long streams of zeroes...

17 Bitmap compression column x n index bitmaps x= x=2 0 0 L x= A column with n rows and L distinct values nl bits E.g., n = 10 6, L = Gbits Uncompressed bitmaps are often impractical Moreover, bitmaps often contain long streams of zeroes... Logical operations over these zeroes is a waste of CPU cycles.

18 How to compress bitmaps? Must handle long streams of zeroes efficiently Run-length encoding? (RLE)

19 How to compress bitmaps? Must handle long streams of zeroes efficiently Run-length encoding? (RLE) Bitmap: a run of 0s, a run of 1s, a run of 0s, a run of 1s,...

20 How to compress bitmaps? Must handle long streams of zeroes efficiently Run-length encoding? (RLE) Bitmap: a run of 0s, a run of 1s, a run of 0s, a run of 1s,... So just encode the run lengths, e.g., , 5, 3, 1,1,3

21 Byte/Word-aligned RLE RLE variants can focus on runs that align with machine-word boundaries.

22 Byte/Word-aligned RLE RLE variants can focus on runs that align with machine-word boundaries. Trade compression for speed.

23 Byte/Word-aligned RLE RLE variants can focus on runs that align with machine-word boundaries. Trade compression for speed. Variants: BBC (byte aligned), WAH

24 Byte/Word-aligned RLE RLE variants can focus on runs that align with machine-word boundaries. Trade compression for speed. Variants: BBC (byte aligned), WAH Our EWAH extends Wu et al. s word-aligned hybrid.

25 Byte/Word-aligned RLE RLE variants can focus on runs that align with machine-word boundaries. Trade compression for speed. Variants: BBC (byte aligned), WAH Our EWAH extends Wu et al. s word-aligned hybrid dirty word, run of 2 clean 0 words, dirty word...

26 Computational and storage bounds n number of rows, c number of 1s per row;

27 Computational and storage bounds n number of rows, c number of 1s per row; Total size of bitmaps is in O(nc);

28 Computational and storage bounds n number of rows, c number of 1s per row; Total size of bitmaps is in O(nc); Bounds do not depend on the number of bitmaps. (Assuming O(n) bitmaps).

29 Computational and storage bounds n number of rows, c number of 1s per row; Total size of bitmaps is in O(nc); Bounds do not depend on the number of bitmaps. (Assuming O(n) bitmaps). Implementation scales to millions of bitmaps.

30 Improving compression by sorting the table RLE, BBC, WAH, EWAH are order-sensitive: they compress sorted tables better;

31 Improving compression by sorting the table RLE, BBC, WAH, EWAH are order-sensitive: they compress sorted tables better; But finding the best row ordering is NP-hard.

32 Improving compression by sorting the table RLE, BBC, WAH, EWAH are order-sensitive: they compress sorted tables better; But finding the best row ordering is NP-hard. Lexicographic row sorting is fast, even for very large tables.

33 Improving compression by sorting the table RLE, BBC, WAH, EWAH are order-sensitive: they compress sorted tables better; But finding the best row ordering is NP-hard. Lexicographic row sorting is fast, even for very large tables. easy: sort is a Unix staple.

34 Improving compression by sorting the table RLE, BBC, WAH, EWAH are order-sensitive: they compress sorted tables better; But finding the best row ordering is NP-hard. Lexicographic row sorting is fast, even for very large tables. easy: sort is a Unix staple. Substantial index-size reductions (often 2.5 times)

35 Improving compression via k-of-n encoding With L bitmaps, you can represent L values by mapping each value to one bitmap; 1-of-N value cat dog dish fish cow cat pony

36 Improving compression via k-of-n encoding 1-of-N of-N With L bitmaps, you can represent L values by mapping each value to one bitmap; Alternatively, ( you can represent L ) 2 = L(L 1)/2 values by mapping each value to a pair of bitmaps;

37 Improving compression via k-of-n encoding 1-of-N of-N With L bitmaps, you can represent L values by mapping each value to one bitmap; Alternatively, ( you can represent L ) 2 = L(L 1)/2 values by mapping each value to a pair of bitmaps; More generally, you can represent ( L k) values by mapping each value to a k-tuple of bitmaps;

38 Improving compression via k-of-n encoding 1-of-N of-N With L bitmaps, you can represent L values by mapping each value to one bitmap; Alternatively, ( you can represent L ) 2 = L(L 1)/2 values by mapping each value to a pair of bitmaps; More generally, you can represent ( L k) values by mapping each value to a k-tuple of bitmaps; At query time, you need to load k bitmaps in a look-up for one value;

39 Improving compression via k-of-n encoding 1-of-N of-N With L bitmaps, you can represent L values by mapping each value to one bitmap; Alternatively, ( you can represent L ) 2 = L(L 1)/2 values by mapping each value to a pair of bitmaps; More generally, you can represent ( L k) values by mapping each value to a k-tuple of bitmaps; At query time, you need to load k bitmaps in a look-up for one value; You trade query-time performance for fewer bitmaps;

40 Improving compression via k-of-n encoding 1-of-N of-N With L bitmaps, you can represent L values by mapping each value to one bitmap; Alternatively, ( you can represent L ) 2 = L(L 1)/2 values by mapping each value to a pair of bitmaps; More generally, you can represent ( L k) values by mapping each value to a k-tuple of bitmaps; At query time, you need to load k bitmaps in a look-up for one value; You trade query-time performance for fewer bitmaps; Often, fewer bitmaps translates into a smaller index, created faster.

41 Encode then sort? Or vice versa? Two different conceptual approaches: 1 Encode attributes in table, obtaining an uncompressed index paint maker red ford blue honda green ford paint maker red ford blue honda green ford......

42 Encode then sort? Or vice versa? Two different conceptual approaches: 1 Encode attributes in table, obtaining an uncompressed index Sort the index rows paint maker red ford blue honda green ford paint maker red ford blue honda green ford

43 Encode then sort? Or vice versa? Two different conceptual approaches: 1 Encode attributes in table, obtaining an uncompressed index Sort the index rows Compress each column paint maker red ford blue honda green ford paint maker red ford blue honda green ford

44 Encode then sort? Or vice versa? Two different conceptual approaches: 1 Encode attributes in table, obtaining an uncompressed index Sort the index rows Compress each column 2 Sort the table rows paint maker red ford blue honda green ford paint maker red ford blue honda green ford paint maker blue honda green ford red ford

45 Encode then sort? Or vice versa? Two different conceptual approaches: 1 Encode attributes in table, obtaining an uncompressed index Sort the index rows Compress each column 2 Sort the table rows Encode attributes in table, build compressed index on-the-fly. paint maker red ford blue honda green ford paint maker red ford blue honda green ford paint maker blue honda green ford red ford

46 Gray-code order Lex. order Gray-code Gray-code (GC) order is an alternative to lexicographical order (defined only for bit arrays);

47 Gray-code order Lex. order Gray-code Gray-code (GC) order is an alternative to lexicographical order (defined only for bit arrays); May improve compression more than lex. sort (k > 1);

48 Gray-code order Lex. order Gray-code Gray-code (GC) order is an alternative to lexicographical order (defined only for bit arrays); May improve compression more than lex. sort (k > 1); [Pinar et al., 2005] process an uncompressed bitmap index.

49 Gray-code order Lex. order Gray-code Gray-code (GC) order is an alternative to lexicographical order (defined only for bit arrays); May improve compression more than lex. sort (k > 1); [Pinar et al., 2005] process an uncompressed bitmap index. Slow, if uncompressed index does not fit in RAM.

50 Gray-code order Lex. order Gray-code Gray-code (GC) order is an alternative to lexicographical order (defined only for bit arrays); May improve compression more than lex. sort (k > 1); [Pinar et al., 2005] process an uncompressed bitmap index. Slow, if uncompressed index does not fit in RAM. GC order is not supported by DBMSes or Unix utilities.

51 Gray-code sorting, cheaply Size improvement is small (usually < 4%), but it s essentially free: 1 What Pinar et al. do: expensive GC sort after encoding eg: [Tax, Cat, Girl, Cat] sort([1100, 0110, 1001, 0110]);

52 Gray-code sorting, cheaply Size improvement is small (usually < 4%), but it s essentially free: 1 What Pinar et al. do: expensive GC sort after encoding eg: [Tax, Cat, Girl, Cat] sort([1100, 0110, 1001, 0110]); 2 Instead, sort the table lexicographically comparing values alphabetically or by frequency (easy); eg: [Tax, Cat, Girl, Cat] [Cat, Cat, Girl, Tax]

53 Gray-code sorting, cheaply Size improvement is small (usually < 4%), but it s essentially free: 1 What Pinar et al. do: expensive GC sort after encoding eg: [Tax, Cat, Girl, Cat] sort([1100, 0110, 1001, 0110]); 2 Instead, sort the table lexicographically comparing values alphabetically or by frequency (easy); eg: [Tax, Cat, Girl, Cat] [Cat, Cat, Girl, Tax] 3 Map ordered values to k-tuples of bitmaps ordered as Gray codes: Cat: 0011, Dog: 0110, Girl: 0101, Tax: 1100; Lex ascending sequence: Cat, Dog, Girl, Tax. GC ascending sequence: 0011, 0110, 0101, 1100 for codes

54 Gray-code sorting, cheaply Size improvement is small (usually < 4%), but it s essentially free: 1 What Pinar et al. do: expensive GC sort after encoding eg: [Tax, Cat, Girl, Cat] sort([1100, 0110, 1001, 0110]); 2 Instead, sort the table lexicographically comparing values alphabetically or by frequency (easy); eg: [Tax, Cat, Girl, Cat] [Cat, Cat, Girl, Tax] 3 Map ordered values to k-tuples of bitmaps ordered as Gray codes: Cat: 0011, Dog: 0110, Girl: 0101, Tax: 1100; Lex ascending sequence: Cat, Dog, Girl, Tax. GC ascending sequence: 0011, 0110, 0101, 1100 for codes eg: [Cat, Cat, Girl, Tax] [0011, 0011, 0101, 1100] (generates a GC-sorted result without expensive GC sorting).

55 Gray-code sorting, cheaply Size improvement is small (usually < 4%), but it s essentially free: 1 What Pinar et al. do: expensive GC sort after encoding eg: [Tax, Cat, Girl, Cat] sort([1100, 0110, 1001, 0110]); 2 Instead, sort the table lexicographically comparing values alphabetically or by frequency (easy); eg: [Tax, Cat, Girl, Cat] [Cat, Cat, Girl, Tax] 3 Map ordered values to k-tuples of bitmaps ordered as Gray codes: Cat: 0011, Dog: 0110, Girl: 0101, Tax: 1100; Lex ascending sequence: Cat, Dog, Girl, Tax. GC ascending sequence: 0011, 0110, 0101, 1100 for codes eg: [Cat, Cat, Girl, Tax] [0011, 0011, 0101, 1100] (generates a GC-sorted result without expensive GC sorting). 4 Easily extended for > 1 columns.

56 Gray-code sorting, cheaply Size improvement is small (usually < 4%), but it s essentially free: 1 What Pinar et al. do: expensive GC sort after encoding eg: [Tax, Cat, Girl, Cat] sort([1100, 0110, 1001, 0110]); 2 Instead, sort the table lexicographically comparing values alphabetically or by frequency (easy); eg: [Tax, Cat, Girl, Cat] [Cat, Cat, Girl, Tax] 3 Map ordered values to k-tuples of bitmaps ordered as Gray codes: Cat: 0011, Dog: 0110, Girl: 0101, Tax: 1100; Lex ascending sequence: Cat, Dog, Girl, Tax. GC ascending sequence: 0011, 0110, 0101, 1100 for codes eg: [Cat, Cat, Girl, Tax] [0011, 0011, 0101, 1100] (generates a GC-sorted result without expensive GC sorting). 4 Easily extended for > 1 columns. In our tests, this is as good as a Gray-code bitmap index sort [Pinar et al., 2005], but technically much easier.

57 Test data sets Previous studies used data sets where the uncompressed index would fit in RAM.

58 Test data sets Previous studies used data sets where the uncompressed index would fit in RAM. Do their results apply to more realistic data sets?

59 Test data sets Previous studies used data sets where the uncompressed index would fit in RAM. Do their results apply to more realistic data sets? Our tests: Mix of real and synthetic data, up to 877 M rows, 22 GB, 4 M attribute values. using 4 10 columns/dimensions

60 When sorting, column order matters The first column(s) gain more from the sort (column 1 is primary sort key);

61 When sorting, column order matters The first column(s) gain more from the sort (column 1 is primary sort key); Its bitmaps (first 11 in example) are compressed well, compared to a randomsort. (Red above green) Compression on TWEED-4d 1-C/N Gray Random-sort rang des bitmaps

62 When sorting, column order matters The first column(s) gain more from the sort (column 1 is primary sort key); Its bitmaps (first 11 in example) are compressed well, compared to a randomsort. (Red above green) Least important column s bitmaps (43 49) don t gain much (red vs green) Compression on TWEED-4d 1-C/N rang des bitmaps Gray Random-sort

63 When sorting, column order matters Conceptually, we may wish to reorder columns, eg swap columns 1 & 3.

64 When sorting, column order matters Conceptually, we may wish to reorder columns, eg swap columns 1 & 3. Column order is crucial (to successful sorting).

65 When sorting, column order matters Conceptually, we may wish to reorder columns, eg swap columns 1 & 3. Column order is crucial (to successful sorting). Finding the best ordering quickly remains open. index size Netflix: 24 column orderings 5.5e+08 5e e+08 4e e+08 3e e+08 2e e+08 1e k=1 k= column permutation

66 Progress toward choosing column order Paper models gain of putting a given column first. Idea: order columns greedily (by max gain).

67 Progress toward choosing column order Paper models gain of putting a given column first. Idea: order columns greedily (by max gain). Experimentally, this approach is not promising: the best orderings don t seem to depend on gain.

68 Progress toward choosing column order Paper models gain of putting a given column first. Idea: order columns greedily (by max gain). Experimentally, this approach is not promising: the best orderings don t seem to depend on gain. Factors: skews of columns number of distinct values k density of column s bitmaps

69 What usually works for dimension ordering?: k=1 For 1-of-N bitmaps, a density-based approach was okay:

70 What usually works for dimension ordering?: k=1 For 1-of-N bitmaps, a density-based approach was okay: Ordering rule, k = 1 : sparse but not too sparse Order columns by decreasing ( 1 min, 1 1/n ) i, where n i 4w 1 n i the number of distinct values in column i, w the word size distinct values in column

71 What usually works for dimension ordering?: k=1 For 1-of-N bitmaps, a density-based approach was okay: Ordering rule, k = 1 : sparse but not too sparse Order columns by decreasing ( 1 min, 1 1/n ) i, where n i 4w 1 n i the number of distinct values in column i, w the word size distinct values in column See 30 40% size reduction, merely knowing dimension sizes (n i ).

72 What usually works for dimension ordering?: k > 1 Density formula (n i k n i ) recommends poorly when k > 1. Our experiments on synthetic data give some guidance:

73 What usually works for dimension ordering?: k > 1 Density formula (n i k n i ) recommends poorly when k > 1. Our experiments on synthetic data give some guidance: When k > 1, order columns by 1 descending skew 2 descending size (And do the reverse when k = 1.)

74 What usually works for dimension ordering?: k > 1 Density formula (n i k n i ) recommends poorly when k > 1. Our experiments on synthetic data give some guidance: When k > 1, order columns by 1 descending skew 2 descending size (And do the reverse when k = 1.) Open issues, k > 1 1 How do we balance skew & size factors?

75 What usually works for dimension ordering?: k > 1 Density formula (n i k n i ) recommends poorly when k > 1. Our experiments on synthetic data give some guidance: When k > 1, order columns by 1 descending skew 2 descending size (And do the reverse when k = 1.) Open issues, k > 1 1 How do we balance skew & size factors? 2 What other properties of the histograms are needed?

76 Bitmap-by-bitmap reordering One might instead make the index, reorder its columns, then apply GC sort [Canahuate et al., 2006].

77 Bitmap-by-bitmap reordering One might instead make the index, reorder its columns, then apply GC sort [Canahuate et al., 2006]. Our best implementation of this is 100 times slower, cannot handle larger data sets.

78 Bitmap-by-bitmap reordering One might instead make the index, reorder its columns, then apply GC sort [Canahuate et al., 2006]. Our best implementation of this is 100 times slower, cannot handle larger data sets. We tried several bitmap orders on DBGEN and Census. Out of 8 cases, only one gained, and only by 3%.

79 Bitmap-by-bitmap reordering One might instead make the index, reorder its columns, then apply GC sort [Canahuate et al., 2006]. Our best implementation of this is 100 times slower, cannot handle larger data sets. We tried several bitmap orders on DBGEN and Census. Out of 8 cases, only one gained, and only by 3%. Canahaute suggests ordering does not matter much, but we see factor-of-2 differences (??)

80 Bitmap-by-bitmap reordering One might instead make the index, reorder its columns, then apply GC sort [Canahuate et al., 2006]. Our best implementation of this is 100 times slower, cannot handle larger data sets. We tried several bitmap orders on DBGEN and Census. Out of 8 cases, only one gained, and only by 3%. Canahaute suggests ordering does not matter much, but we see factor-of-2 differences (??) Seems sufficient (and much faster) to work with groups of bitmaps (reorder attributes, not bitmaps)

81 Index size versus block-wise sorting Netflix taille de l index (Mo) k=1 k=2 k=3 k= # de blocs Instead of fully sorting the table, we sorted it block-wise;

82 Index size versus block-wise sorting Netflix taille de l index (Mo) k=1 k=2 k=3 k= # de blocs Instead of fully sorting the table, we sorted it block-wise; Fewer blocks means a more complete sort;

83 Index size versus block-wise sorting Netflix taille de l index (Mo) k=1 k=2 k=3 k= # de blocs Instead of fully sorting the table, we sorted it block-wise; Fewer blocks means a more complete sort; Larger k means smaller index (in this case);

84 Index size versus block-wise sorting Netflix taille de l index (Mo) k=1 k=2 k=3 k= # de blocs Instead of fully sorting the table, we sorted it block-wise; Fewer blocks means a more complete sort; Larger k means smaller index (in this case); Index size diminishes drastically with sorting.

85 Future directions Need better mathematical modelling of bitmap compressed size in sorted tables;

86 Future directions Need better mathematical modelling of bitmap compressed size in sorted tables; Study the effect of word length (16, 32, 64, 128 bits);

87 Future directions Need better mathematical modelling of bitmap compressed size in sorted tables; Study the effect of word length (16, 32, 64, 128 bits); Investigate Long run Gray code (discussed by Knuth).

88 Questions??

89 Canahuate, G., Ferhatosmanoglu, H., and Pinar, A. (2006). Improving bitmap index compression by data reorganization. http: //hpcrd.lbl.gov/~apinar/papers/tkde06.pdf (checked ). Chan, C. Y. and Ioannidis, Y. E. (1999). An efficient bitmap encoding scheme for selection queries. In SIGMOD 99, pages Pinar, A., Tao, T., and Ferhatosmanoglu, H. (2005). Compressing bitmap indices by data reorganization. In ICDE 05, pages Wu, K., Otoo, E. J., and Shoshani, A. (2006). Optimizing bitmap indices with efficient compression. ACM Transactions on Database Systems, 31(1):1 38.

90 Avoiding column order altogether Frequent component approach, but did not work well, plus slower.

All About Bitmap Indexes... And Sorting Them

All About Bitmap Indexes... And Sorting Them http://www.daniel-lemire.com/ Joint work (presented at BDA 08 and DOLAP 08) with Owen Kaser (UNB) and Kamel Aouiche (post-doc). February 12, 2009 Database Indexes Databases use precomputed indexes (auxiliary

More information

Histogram-Aware Sorting for Enhanced Word-Aligned Compress

Histogram-Aware Sorting for Enhanced Word-Aligned Compress Histogram-Aware Sorting for Enhanced Word-Aligned Compression in Bitmap Indexes 1- University of New Brunswick, Saint John 2- Université du Québec at Montréal (UQAM) October 23, 2008 Bitmap indexes SELECT

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

Enhancing Bitmap Indices

Enhancing Bitmap Indices Enhancing Bitmap Indices Guadalupe Canahuate The Ohio State University Advisor: Hakan Ferhatosmanoglu Introduction n Bitmap indices: Widely used in data warehouses and read-only domains Implemented in

More information

arxiv: v4 [cs.db] 6 Jun 2014 Abstract

arxiv: v4 [cs.db] 6 Jun 2014 Abstract Better bitmap performance with Roaring bitmaps Samy Chambi a, Daniel Lemire b,, Owen Kaser c, Robert Godin a a Département d informatique, UQAM, 201, av. Président-Kennedy, Montreal, QC, H2X 3Y7 Canada

More information

Data Compression for Bitmap Indexes. Y. Chen

Data Compression for Bitmap Indexes. Y. Chen Data Compression for Bitmap Indexes Y. Chen Abstract Compression Ratio (CR) and Logical Operation Time (LOT) are two major measures of the efficiency of bitmap indexing. Previous works by [5, 9, 10, 11]

More information

Lawrence Berkeley National Laboratory Lawrence Berkeley National Laboratory

Lawrence Berkeley National Laboratory Lawrence Berkeley National Laboratory Lawrence Berkeley National Laboratory Lawrence Berkeley National Laboratory Title Breaking the Curse of Cardinality on Bitmap Indexes Permalink https://escholarship.org/uc/item/5v921692 Author Wu, Kesheng

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

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

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

CS 525: Advanced Database Organization

CS 525: Advanced Database Organization CS 525: Advanced Database Organization 06: Even more index structures Boris Glavic Slides: adapted from a course taught by Hector Garcia- Molina, Stanford InfoLab CS 525 Notes 6 - More Indices 1 Recap

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

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

Data Warehouse Physical Design: Part I

Data Warehouse Physical Design: Part I Data Warehouse Physical Design: Part I Robert Wrembel Poznan University of Technology Institute of Computing Science Robert.Wrembel@cs.put.poznan.pl www.cs.put.poznan.pl/rwrembel Lecture outline Basic

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

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

Bitmap Indices for Fast End-User Physics Analysis in ROOT

Bitmap Indices for Fast End-User Physics Analysis in ROOT Bitmap Indices for Fast End-User Physics Analysis in ROOT Kurt Stockinger a, Kesheng Wu a, Rene Brun b, Philippe Canal c a Lawrence Berkeley National Laboratory, Berkeley, CA 94720, USA b European Organization

More information

Hybrid Query Optimization for Hard-to-Compress Bit-vectors

Hybrid Query Optimization for Hard-to-Compress Bit-vectors Hybrid Query Optimization for Hard-to-Compress Bit-vectors Gheorghi Guzun Guadalupe Canahuate Abstract Bit-vectors are widely used for indexing and summarizing data due to their efficient processing in

More information

Caches Concepts Review

Caches Concepts Review Caches Concepts Review What is a block address? Why not bring just what is needed by the processor? What is a set associative cache? Write-through? Write-back? Then we ll see: Block allocation policy on

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

Better bitmap performance with Roaring bitmaps

Better bitmap performance with Roaring bitmaps Better bitmap performance with bitmaps S. Chambi 1, D. Lemire 2, O. Kaser 3, R. Godin 1 1 Département d informatique, UQAM, Montreal, Qc, Canada 2 LICEF Research Center, TELUQ, Montreal, QC, Canada 3 Computer

More information

Daniel Lemire, Waterloo University, May 10th 2018.

Daniel Lemire, Waterloo University, May 10th 2018. Daniel Lemire, Waterloo University, May 10th 2018. Next Generation Indexes For Big Data Engineering Daniel Lemire and collaborators blog: https://lemire.me twitter: @lemire Université du Québec (TÉLUQ)

More information

Indexing and Searching

Indexing and Searching Indexing and Searching Introduction How to retrieval information? A simple alternative is to search the whole text sequentially Another option is to build data structures over the text (called indices)

More information

Minimizing I/O Costs of Multi-Dimensional Queries with Bitmap Indices

Minimizing I/O Costs of Multi-Dimensional Queries with Bitmap Indices Minimizing I/O Costs of Multi-Dimensional Queries with Bitmap Indices Doron Rotem, Kurt Stockinger and Kesheng Wu Computational Research Division Lawrence Berkeley National Laboratory University of California

More information

Data Warehouse Physical Design: Part I

Data Warehouse Physical Design: Part I Data Warehouse Physical Design: Part I Robert Wrembel Poznan University of Technology Institute of Computing Science Robert.Wrembel@cs.put.poznan.pl www.cs.put.poznan.pl/rwrembel Lecture outline Basic

More information

An Experimental Study of Bitmap Compression vs. Inverted List Compression

An Experimental Study of Bitmap Compression vs. Inverted List Compression An Experimental Study of Bitmap Compression vs. Inverted Compression Paper ID: 338 ABSTRACT Bitmap compression has been studied extensively in the database area and many efficient compression schemes were

More information

Index Compression. David Kauchak cs160 Fall 2009 adapted from:

Index Compression. David Kauchak cs160 Fall 2009 adapted from: Index Compression David Kauchak cs160 Fall 2009 adapted from: http://www.stanford.edu/class/cs276/handouts/lecture5-indexcompression.ppt Administrative Homework 2 Assignment 1 Assignment 2 Pair programming?

More information

Strategies for Processing ad hoc Queries on Large Data Warehouses

Strategies for Processing ad hoc Queries on Large Data Warehouses Strategies for Processing ad hoc Queries on Large Data Warehouses Kurt Stockinger CERN Geneva, Switzerland Kurt.Stockinger@cern.ch Kesheng Wu Lawrence Berkeley Nat l Lab Berkeley, CA, USA KWu@lbl.gov Arie

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

My grandfather was an Arctic explorer,

My grandfather was an Arctic explorer, Explore the possibilities A Teradata Certified Master answers readers technical questions. Carrie Ballinger Senior database analyst Teradata Certified Master My grandfather was an Arctic explorer, and

More information

DW Performance Optimization (II)

DW Performance Optimization (II) DW Performance Optimization (II) Overview Data Cube in ROLAP and MOLAP ROLAP Technique(s) Efficient Data Cube Computation MOLAP Technique(s) Prefix Sum Array Multiway Augmented Tree Aalborg University

More information

In-Memory Data Structures and Databases Jens Krueger

In-Memory Data Structures and Databases Jens Krueger In-Memory Data Structures and Databases Jens Krueger Enterprise Platform and Integration Concepts Hasso Plattner Intitute What to take home from this talk? 2 Answer to the following questions: What makes

More information

Heap-Filter Merge Join: A new algorithm for joining medium-size relations

Heap-Filter Merge Join: A new algorithm for joining medium-size relations Oregon Health & Science University OHSU Digital Commons CSETech January 1989 Heap-Filter Merge Join: A new algorithm for joining medium-size relations Goetz Graefe Follow this and additional works at:

More information

SAP IQ - Business Intelligence and vertical data processing with 8 GB RAM or less

SAP IQ - Business Intelligence and vertical data processing with 8 GB RAM or less SAP IQ - Business Intelligence and vertical data processing with 8 GB RAM or less Dipl.- Inform. Volker Stöffler Volker.Stoeffler@DB-TecKnowledgy.info Public Agenda Introduction: What is SAP IQ - in a

More information

Fast Approximations for Analyzing Ten Trillion Cells. Filip Buruiana Reimar Hofmann

Fast Approximations for Analyzing Ten Trillion Cells. Filip Buruiana Reimar Hofmann Fast Approximations for Analyzing Ten Trillion Cells Filip Buruiana (filipb@google.com) Reimar Hofmann (reimar.hofmann@hs-karlsruhe.de) Outline of the Talk Interactive analysis at AdSpam @ Google Trade

More information

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

Optimizing Query Execution for Variable-Aligned Length Compression of Bitmap Indices

Optimizing Query Execution for Variable-Aligned Length Compression of Bitmap Indices Optimizing Query Execution for Variable-Aligned Length Compression of Bitmap Indices Ryan Slechta University of St. Thomas ryan@stthomas.edu David Chiu University of Puget Sound dchiu@pugetsound.edu Jason

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

In-memory processing of big data via succinct data structures

In-memory processing of big data via succinct data structures In-memory processing of big data via succinct data structures Rajeev Raman University of Leicester SDP Workshop, University of Cambridge Overview Introduction Succinct Data Structuring Succinct Tries Applications

More information

CS122 Lecture 8 Winter Term,

CS122 Lecture 8 Winter Term, CS122 Lecture 8 Winter Term, 2014-2015 2 Other Join Algorithms Nested- loops join is generally useful, but slow Most joins involve equality tests against attributes Such joins are called equijoins Two

More information

DATA WAREHOUSING II. CS121: Relational Databases Fall 2017 Lecture 23

DATA WAREHOUSING II. CS121: Relational Databases Fall 2017 Lecture 23 DATA WAREHOUSING II CS121: Relational Databases Fall 2017 Lecture 23 Last Time: Data Warehousing 2 Last time introduced the topic of decision support systems (DSS) and data warehousing Very large DBs used

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

Advanced Data Management Technologies

Advanced Data Management Technologies ADMT 2017/18 Unit 13 J. Gamper 1/42 Advanced Data Management Technologies Unit 13 DW Pre-aggregation and View Maintenance J. Gamper Free University of Bozen-Bolzano Faculty of Computer Science IDSE Acknowledgements:

More information

Computer Science 210 Data Structures Siena College Fall Topic Notes: Complexity and Asymptotic Analysis

Computer Science 210 Data Structures Siena College Fall Topic Notes: Complexity and Asymptotic Analysis Computer Science 210 Data Structures Siena College Fall 2017 Topic Notes: Complexity and Asymptotic Analysis Consider the abstract data type, the Vector or ArrayList. This structure affords us the opportunity

More information

A Case for Merge Joins in Mediator Systems

A Case for Merge Joins in Mediator Systems A Case for Merge Joins in Mediator Systems Ramon Lawrence Kirk Hackert IDEA Lab, Department of Computer Science, University of Iowa Iowa City, IA, USA {ramon-lawrence, kirk-hackert}@uiowa.edu Abstract

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

Efficient Iceberg Query Evaluation on Multiple Attributes using Set Representation

Efficient Iceberg Query Evaluation on Multiple Attributes using Set Representation Efficient Iceberg Query Evaluation on Multiple Attributes using Set Representation V. Chandra Shekhar Rao 1 and P. Sammulal 2 1 Research Scalar, JNTUH, Associate Professor of Computer Science & Engg.,

More information

BAH: A Bitmap Index Compression Algorithm for Fast Data Retrieval

BAH: A Bitmap Index Compression Algorithm for Fast Data Retrieval BAH: A Bitmap Index Compression Algorithm for Fast Data Retrieval Chenxing Li, Zhen Chen, Wenxun Zheng, Yinjun Wu, Junwei Cao Fundamental Industry Training Center (icenter), Beijing, China Research Institute

More information

ECE 486/586. Computer Architecture. Lecture # 7

ECE 486/586. Computer Architecture. Lecture # 7 ECE 486/586 Computer Architecture Lecture # 7 Spring 2015 Portland State University Lecture Topics Instruction Set Principles Instruction Encoding Role of Compilers The MIPS Architecture Reference: Appendix

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

Indexing and Hashing

Indexing and Hashing C H A P T E R 1 Indexing and Hashing This chapter covers indexing techniques ranging from the most basic one to highly specialized ones. Due to the extensive use of indices in database systems, this chapter

More information

Keynote: About Bitmap Indexes

Keynote: About Bitmap Indexes The ifth International Conference on Advances in Databases, Knowledge, and Data Applications January 27 - ebruary, 23 - Seville, Spain Keynote: About Bitmap Indexes Andreas Schmidt (andreas.schmidt@kit.edu)

More information

Special Issue of IJCIM Proceedings of the

Special Issue of IJCIM Proceedings of the Special Issue of IJCIM Proceedings of the Eigh th-.. '' '. Jnte ' '... : matio'....' ' nal'.. '.. -... ;p ~--.' :'.... :... ej.lci! -1'--: "'..f(~aa, D-.,.,a...l~ OR elattmng tot.~av-~e-ijajil:u. ~~ Pta~.,

More information

Table Compression in Oracle9i Release2. An Oracle White Paper May 2002

Table Compression in Oracle9i Release2. An Oracle White Paper May 2002 Table Compression in Oracle9i Release2 An Oracle White Paper May 2002 Table Compression in Oracle9i Release2 Executive Overview...3 Introduction...3 How It works...3 What can be compressed...4 Cost and

More information

Efficient and Effective Practical Algorithms for the Set-Covering Problem

Efficient and Effective Practical Algorithms for the Set-Covering Problem Efficient and Effective Practical Algorithms for the Set-Covering Problem Qi Yang, Jamie McPeek, Adam Nofsinger Department of Computer Science and Software Engineering University of Wisconsin at Platteville

More information

Exadata X3 in action: Measuring Smart Scan efficiency with AWR. Franck Pachot Senior Consultant

Exadata X3 in action: Measuring Smart Scan efficiency with AWR. Franck Pachot Senior Consultant Exadata X3 in action: Measuring Smart Scan efficiency with AWR Franck Pachot Senior Consultant 16 March 2013 1 Exadata X3 in action: Measuring Smart Scan efficiency with AWR Exadata comes with new statistics

More information

Concise: Compressed n Composable Integer Set

Concise: Compressed n Composable Integer Set : Compressed n Composable Integer Set Alessandro Colantonio,a, Roberto Di Pietro a a Università di Roma Tre, Dipartimento di Matematica, Roma, Italy Abstract Bit arrays, or bitmaps, are used to significantly

More information

Overview. DW Performance Optimization. Aggregates. Aggregate Use Example

Overview. DW Performance Optimization. Aggregates. Aggregate Use Example Overview DW Performance Optimization Choosing aggregates Maintaining views Bitmapped indices Other optimization issues Original slides were written by Torben Bach Pedersen Aalborg University 07 - DWML

More information

Chapter 9. Cardinality Estimation. How Many Rows Does a Query Yield? Architecture and Implementation of Database Systems Winter 2010/11

Chapter 9. Cardinality Estimation. How Many Rows Does a Query Yield? Architecture and Implementation of Database Systems Winter 2010/11 Chapter 9 How Many Rows Does a Query Yield? Architecture and Implementation of Database Systems Winter 2010/11 Wilhelm-Schickard-Institut für Informatik Universität Tübingen 9.1 Web Forms Applications

More information

R-Trees. Accessing Spatial Data

R-Trees. Accessing Spatial Data R-Trees Accessing Spatial Data In the beginning The B-Tree provided a foundation for R- Trees. But what s a B-Tree? A data structure for storing sorted data with amortized run times for insertion and deletion

More information

Module 9: Selectivity Estimation

Module 9: Selectivity Estimation Module 9: Selectivity Estimation Module Outline 9.1 Query Cost and Selectivity Estimation 9.2 Database profiles 9.3 Sampling 9.4 Statistics maintained by commercial DBMS Web Forms Transaction Manager Lock

More information

How am I going to skim through these data?

How am I going to skim through these data? How am I going to skim through these data? 1 Trends Computers keep getting faster But data grows faster yet! Remember? BIG DATA! Queries are becoming more complex Remember? ANALYTICS! 2 Analytic Queries

More information

Sepand Gojgini. ColumnStore Index Primer

Sepand Gojgini. ColumnStore Index Primer Sepand Gojgini ColumnStore Index Primer SQLSaturday Sponsors! Titanium & Global Partner Gold Silver Bronze Without the generosity of these sponsors, this event would not be possible! Please, stop by the

More information

CAS CS 460/660 Introduction to Database Systems. File Organization and Indexing

CAS CS 460/660 Introduction to Database Systems. File Organization and Indexing CAS CS 460/660 Introduction to Database Systems File Organization and Indexing Slides from UC Berkeley 1.1 Review: Files, Pages, Records Abstraction of stored data is files of records. Records live on

More information

Unit 3 Fill Series, Functions, Sorting

Unit 3 Fill Series, Functions, Sorting Unit 3 Fill Series, Functions, Sorting Fill enter repetitive values or formulas in an indicated direction Using the Fill command is much faster than using copy and paste you can do entire operation in

More information

Unit 3 Functions Review, Fill Series, Sorting, Merge & Center

Unit 3 Functions Review, Fill Series, Sorting, Merge & Center Unit 3 Functions Review, Fill Series, Sorting, Merge & Center Function built-in formula that performs simple or complex calculations automatically names a function instead of using operators (+, -, *,

More information

Approximate Encoding for Direct Access and Query Processing over Compressed Bitmaps

Approximate Encoding for Direct Access and Query Processing over Compressed Bitmaps Approximate Encoding for Direct Access and Query Processing over Compressed Bitmaps Tan Apaydin The Ohio State University apaydin@cse.ohio-state.edu Hakan Ferhatosmanoglu The Ohio State University hakan@cse.ohio-state.edu

More information

Review: Memory, Disks, & Files. File Organizations and Indexing. Today: File Storage. Alternative File Organizations. Cost Model for Analysis

Review: Memory, Disks, & Files. File Organizations and Indexing. Today: File Storage. Alternative File Organizations. Cost Model for Analysis File Organizations and Indexing Review: Memory, Disks, & Files Lecture 4 R&G Chapter 8 "If you don't find it in the index, look very carefully through the entire catalogue." -- Sears, Roebuck, and Co.,

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

An In-Depth Analysis of Data Aggregation Cost Factors in a Columnar In-Memory Database

An In-Depth Analysis of Data Aggregation Cost Factors in a Columnar In-Memory Database An In-Depth Analysis of Data Aggregation Cost Factors in a Columnar In-Memory Database Stephan Müller, Hasso Plattner Enterprise Platform and Integration Concepts Hasso Plattner Institute, Potsdam (Germany)

More information

US Patent 6,658,423. William Pugh

US Patent 6,658,423. William Pugh US Patent 6,658,423 William Pugh Detecting duplicate and near - duplicate files Worked on this problem at Google in summer of 2000 I have no information whether this is currently being used I know that

More information

Bitmap Indices for Speeding Up High-Dimensional Data Analysis

Bitmap Indices for Speeding Up High-Dimensional Data Analysis Bitmap Indices for Speeding Up High-Dimensional Data Analysis Kurt Stockinger CERN, European Organization for Nuclear Research CH-1211 Geneva, Switzerland Institute for Computer Science and Business Informatics

More information

CS510 Operating System Foundations. Jonathan Walpole

CS510 Operating System Foundations. Jonathan Walpole CS510 Operating System Foundations Jonathan Walpole Disk Technology & Secondary Storage Management Disk Geometry Disk head, surfaces, tracks, sectors Example Disk Characteristics Disk Surface Geometry

More information

Chapter 4. Microsoft Excel

Chapter 4. Microsoft Excel Chapter 4 Microsoft Excel Topic Introduction Spreadsheet Basic Screen Layout Modifying a Worksheet Formatting Cells Formulas and Functions Sorting and Filling Borders and Shading Charts Introduction A

More information

Compression in Bankware

Compression in Bankware Compression in Bankware This work was done on the sk-bankware\skbankware instance of the sk-bankware server aimed for the ART applications in Skopje RO. The sk-bankware server characterizes with the following

More information

Data-Parallel Algorithms on GPUs. Mark Harris NVIDIA Developer Technology

Data-Parallel Algorithms on GPUs. Mark Harris NVIDIA Developer Technology Data-Parallel Algorithms on GPUs Mark Harris NVIDIA Developer Technology Outline Introduction Algorithmic complexity on GPUs Algorithmic Building Blocks Gather & Scatter Reductions Scan (parallel prefix)

More information

CS122 Lecture 15 Winter Term,

CS122 Lecture 15 Winter Term, CS122 Lecture 15 Winter Term, 2014-2015 2 Index Op)miza)ons So far, only discussed implementing relational algebra operations to directly access heap Biles Indexes present an alternate access path for

More information

7. Query Processing and Optimization

7. Query Processing and Optimization 7. Query Processing and Optimization Processing a Query 103 Indexing for Performance Simple (individual) index B + -tree index Matching index scan vs nonmatching index scan Unique index one entry and one

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

C has been and will always remain on top for performancecritical

C has been and will always remain on top for performancecritical Check out this link: http://spectrum.ieee.org/static/interactive-the-top-programminglanguages-2016 C has been and will always remain on top for performancecritical applications: Implementing: Databases

More information

Compressing Social Networks

Compressing Social Networks Compressing Social Networks The Minimum Logarithmic Arrangement Problem Chad Waters School of Computing Clemson University cgwater@clemson.edu March 4, 2013 Motivation Determine the extent to which social

More information

The Effectiveness of Deduplication on Virtual Machine Disk Images

The Effectiveness of Deduplication on Virtual Machine Disk Images The Effectiveness of Deduplication on Virtual Machine Disk Images Keren Jin & Ethan L. Miller Storage Systems Research Center University of California, Santa Cruz Motivation Virtualization is widely deployed

More information

Block Device Scheduling. Don Porter CSE 506

Block Device Scheduling. Don Porter CSE 506 Block Device Scheduling Don Porter CSE 506 Quick Recap CPU Scheduling Balance competing concerns with heuristics What were some goals? No perfect solution Today: Block device scheduling How different from

More information

HW/SW-Database-CoDesign for Compressed Bitmap Index Processing

HW/SW-Database-CoDesign for Compressed Bitmap Index Processing HW/SW-Database-CoDesign for Compressed Bitmap Index Processing Sebastian Haas, Tomas Karnagel, Oliver Arnold, Erik Laux 1, Benjamin Schlegel 2, Gerhard Fettweis, Wolfgang Lehner Vodafone Chair Mobile Communications

More information

CSE373: Data Structure & Algorithms Lecture 18: Comparison Sorting. Dan Grossman Fall 2013

CSE373: Data Structure & Algorithms Lecture 18: Comparison Sorting. Dan Grossman Fall 2013 CSE373: Data Structure & Algorithms Lecture 18: Comparison Sorting Dan Grossman Fall 2013 Introduction to Sorting Stacks, queues, priority queues, and dictionaries all focused on providing one element

More information

CSE 373: Data Structures and Algorithms

CSE 373: Data Structures and Algorithms CSE 373: Data Structures and Algorithms Lecture 19: Comparison Sorting Algorithms Instructor: Lilian de Greef Quarter: Summer 2017 Today Intro to sorting Comparison sorting Insertion Sort Selection Sort

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

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

Indexing Web pages. Web Search: Indexing Web Pages. Indexing the link structure. checkpoint URL s. Connectivity Server: Node table

Indexing Web pages. Web Search: Indexing Web Pages. Indexing the link structure. checkpoint URL s. Connectivity Server: Node table Indexing Web pages Web Search: Indexing Web Pages CPS 296.1 Topics in Database Systems Indexing the link structure AltaVista Connectivity Server case study Bharat et al., The Fast Access to Linkage Information

More information

CHAPTER 8: ONLINE ANALYTICAL PROCESSING(OLAP)

CHAPTER 8: ONLINE ANALYTICAL PROCESSING(OLAP) CHAPTER 8: ONLINE ANALYTICAL PROCESSING(OLAP) INTRODUCTION A dimension is an attribute within a multidimensional model consisting of a list of values (called members). A fact is defined by a combination

More information

Virtual Memory. Kevin Webb Swarthmore College March 8, 2018

Virtual Memory. Kevin Webb Swarthmore College March 8, 2018 irtual Memory Kevin Webb Swarthmore College March 8, 2018 Today s Goals Describe the mechanisms behind address translation. Analyze the performance of address translation alternatives. Explore page replacement

More information

Introduction to Information Retrieval (Manning, Raghavan, Schutze)

Introduction to Information Retrieval (Manning, Raghavan, Schutze) Introduction to Information Retrieval (Manning, Raghavan, Schutze) Chapter 3 Dictionaries and Tolerant retrieval Chapter 4 Index construction Chapter 5 Index compression Content Dictionary data structures

More information

CSE 373: Data Structures and Algorithms

CSE 373: Data Structures and Algorithms CSE 373: Data Structures and Algorithms Lecture 19: Comparison Sorting Algorithms Instructor: Lilian de Greef Quarter: Summer 2017 Today Intro to sorting Comparison sorting Insertion Sort Selection Sort

More information

Administrative. Distributed indexing. Index Compression! What I did last summer lunch talks today. Master. Tasks

Administrative. Distributed indexing. Index Compression! What I did last summer lunch talks today. Master. Tasks Administrative Index Compression! n Assignment 1? n Homework 2 out n What I did last summer lunch talks today David Kauchak cs458 Fall 2012 adapted from: http://www.stanford.edu/class/cs276/handouts/lecture5-indexcompression.ppt

More information

Adaptive Parallel Compressed Event Matching

Adaptive Parallel Compressed Event Matching Adaptive Parallel Compressed Event Matching Mohammad Sadoghi 1,2 Hans-Arno Jacobsen 2 1 IBM T.J. Watson Research Center 2 Middleware Systems Research Group, University of Toronto April 2014 Mohammad Sadoghi

More information

CS106B Handout 34 Autumn 2012 November 12 th, 2012 Data Compression and Huffman Encoding

CS106B Handout 34 Autumn 2012 November 12 th, 2012 Data Compression and Huffman Encoding CS6B Handout 34 Autumn 22 November 2 th, 22 Data Compression and Huffman Encoding Handout written by Julie Zelenski. In the early 98s, personal computers had hard disks that were no larger than MB; today,

More information

LCP Array Construction

LCP Array Construction LCP Array Construction The LCP array is easy to compute in linear time using the suffix array SA and its inverse SA 1. The idea is to compute the lcp values by comparing the suffixes, but skip a prefix

More information

Reducing Hit Times. Critical Influence on cycle-time or CPI. small is always faster and can be put on chip

Reducing Hit Times. Critical Influence on cycle-time or CPI. small is always faster and can be put on chip Reducing Hit Times Critical Influence on cycle-time or CPI Keep L1 small and simple small is always faster and can be put on chip interesting compromise is to keep the tags on chip and the block data off

More information

COLUMN-STORES VS. ROW-STORES: HOW DIFFERENT ARE THEY REALLY? DANIEL J. ABADI (YALE) SAMUEL R. MADDEN (MIT) NABIL HACHEM (AVANTGARDE)

COLUMN-STORES VS. ROW-STORES: HOW DIFFERENT ARE THEY REALLY? DANIEL J. ABADI (YALE) SAMUEL R. MADDEN (MIT) NABIL HACHEM (AVANTGARDE) COLUMN-STORES VS. ROW-STORES: HOW DIFFERENT ARE THEY REALLY? DANIEL J. ABADI (YALE) SAMUEL R. MADDEN (MIT) NABIL HACHEM (AVANTGARDE) PRESENTATION BY PRANAV GOEL Introduction On analytical workloads, Column

More information

Block Device Scheduling. Don Porter CSE 506

Block Device Scheduling. Don Porter CSE 506 Block Device Scheduling Don Porter CSE 506 Logical Diagram Binary Formats Memory Allocators System Calls Threads User Kernel RCU File System Networking Sync Memory Management Device Drivers CPU Scheduler

More information