Fractal Prefetching B+-Trees: Optimizing Both Cache and Disk - - PowerPoint PPT Presentation

fractal prefetching b trees optimizing both cache and
SMART_READER_LITE
LIVE PREVIEW

Fractal Prefetching B+-Trees: Optimizing Both Cache and Disk - - PowerPoint PPT Presentation

Introduction Optimizing I/O Performance Optimizing Cache Performance Evaluation Discussion Fractal Prefetching B+-Trees: Optimizing Both Cache and Disk Performance Shimin Chen, Phillip B. Gibbons, Todd C. Mowry, and Gary Valentin October 3,


slide-1
SLIDE 1

Introduction Optimizing I/O Performance Optimizing Cache Performance Evaluation Discussion

Fractal Prefetching B+-Trees: Optimizing Both Cache and Disk Performance

Shimin Chen, Phillip B. Gibbons, Todd C. Mowry, and Gary Valentin October 3, 2011 Presenter: Mike Qin mikeandmore@gmail.com

slide-2
SLIDE 2

Introduction Optimizing I/O Performance Optimizing Cache Performance Evaluation Discussion

The Paradox – Page Size

Large page size optimize the I/O, results in binary search in a huge page to CPU cache.

Binary Search is not cache friendly.

compare compare compare bingo

Small page size will slow down search for disk I/O.

search bingo search search bingo

2 seeks 4 seeks

slide-3
SLIDE 3

Introduction Optimizing I/O Performance Optimizing Cache Performance Evaluation Discussion

Idea

Optimize both disk I/O and cache utilization – put a subtree in the tree node.

slide-4
SLIDE 4

Introduction Optimizing I/O Performance Optimizing Cache Performance Evaluation Discussion

Common Way of Optimizing Disk I/O

Multiple page node size

  • Spacial locality

Prefetch more data that have spacial locality.

  • I/O parallelism

Storage system can strip a page accross several disks. Read ahead

  • Hard to be aggressive on disk. Time = Seek Time + Transfer Time

Better Page Replacement Policy

  • like ARC or LIRS
slide-5
SLIDE 5

Introduction Optimizing I/O Performance Optimizing Cache Performance Evaluation Discussion

I/O Optimizations in fpB+-Tree

Single disk page as a node

  • Fetching an extra page will introduce an extra seek when I/O parallelism

doesn’t exists. Read ahead for range-scans. Overlap the I/O cache miss.

1 Find the start and end range query. 2 Prefetch the page far-away from the begining page. range start range end prefetching from this block

Tree

slide-6
SLIDE 6

Introduction Optimizing I/O Performance Optimizing Cache Performance Evaluation Discussion

Cache Optimization Within a Page

Micro-indexing

  • Flat structure.

An extra array for indexing. All fits into one node.

  • Works as a charm when searching.
  • Slow and cache unfriendly on insertion and deletion.

Cache friendly at the page level

  • Disk First Approach

Tree with in a tree node (a page).

  • Cache First Approach

Merge part of the tree into several pages.

slide-7
SLIDE 7

Introduction Optimizing I/O Performance Optimizing Cache Performance Evaluation Discussion

Disk First Approach

A single node contains a complete sub-tree. It yeilds out fixed amount (N-2N)

  • f fan-outs. When it violates the fan-out requirements, it could either split or

merge. But wait... How about the space usage of each page?

slide-8
SLIDE 8

Introduction Optimizing I/O Performance Optimizing Cache Performance Evaluation Discussion

Space overflow/underflow in Disk First Approach

Given the fixed amount of fan-outs of each subtree, the space usage is not deterministic!

Overflow!

page

very sparse subnode

page

Space Wasted

very dense subnode

Overflow Underflow

slide-9
SLIDE 9

Introduction Optimizing I/O Performance Optimizing Cache Performance Evaluation Discussion

Insert/Delete

Insert:

1 Find a node to insert in the page 2 Find a slot, if not, split the node 3 If no room for another node, reorganized the subtree. 4 If still no room, split the whole page.

Delete:

1 Find the elements in the page to delete. 2 Mark that as empty slot. (Don’t merge the node on half empty.) 3 If page fan-out smaller than minimum fan-out. Merge the page. 4 Reorganized the tree if underflow.

Bulkload:

1 Compute the level according to fan-out. 2 Organized the subtree as sparse as possible.

slide-10
SLIDE 10

Introduction Optimizing I/O Performance Optimizing Cache Performance Evaluation Discussion

Best Fan-out Parameter

Page Cache Fetch Cost T1 CPU Cache Fetch Cost Tnext Number of cache lines of non-leaf nodes w Number of cache lines of leaf-nodes x Level of subtree L Cost = (L − 1) × NonLeafCost + LeafCost = (L − 1) × [T1 + (w − 1)Tnext] + [T1 + (x − 1)Tnext] As fan-out gets larger, cost also gets larger. Our goal: largest fan-out with < 10% larger than optimal cost.

slide-11
SLIDE 11

Introduction Optimizing I/O Performance Optimizing Cache Performance Evaluation Discussion

Cache First Approach

Merge the fine-grained node into pages. Stratagy:

  • Try to put parent and children node into one page. (Optimize for search.)
  • Put sibling leaf node into one page. (Optimize for range scan.)
  • Otherwise, put it in the overflow page. (Only for leaf node parents.)
slide-12
SLIDE 12

Introduction Optimizing I/O Performance Optimizing Cache Performance Evaluation Discussion

Cache First Approach

Merge the fine-grained node into pages. Stratagy:

leaf node placement noleaf node placement Overflowed leaf node parent

slide-13
SLIDE 13

Introduction Optimizing I/O Performance Optimizing Cache Performance Evaluation Discussion

Insertion on Different Placement Stratagy

Leaf node:

1 Find a slot to insert. 2 If full, split the node. 3 If no space for a new node, split the whole page.

Leaf parent node:

1 Find a slot to insert. 2 If full, split the node. 3 If no space for new node and parent of this node also need to be split, then

split the parent and this node. Put them in the same page.

4 Otherwise, allocate space from overflow pages.

slide-14
SLIDE 14

Introduction Optimizing I/O Performance Optimizing Cache Performance Evaluation Discussion

Insertion on Different Placement Stratagy (Continue)

Nonleaf Node:

1 Find a slot to insert. 2 If full, split the node. 3 If no space for new node. Reorganize the subtree within this page. 4 If still no space, split the page.

slide-15
SLIDE 15

Introduction Optimizing I/O Performance Optimizing Cache Performance Evaluation Discussion

Insertion Demo

insert

slide-16
SLIDE 16

Introduction Optimizing I/O Performance Optimizing Cache Performance Evaluation Discussion

Insertion Demo

split split?

slide-17
SLIDE 17

Introduction Optimizing I/O Performance Optimizing Cache Performance Evaluation Discussion

Insertion Demo

  • verflow page
slide-18
SLIDE 18

Introduction Optimizing I/O Performance Optimizing Cache Performance Evaluation Discussion

Insertion Demo

split ?split

slide-19
SLIDE 19

Introduction Optimizing I/O Performance Optimizing Cache Performance Evaluation Discussion

Insertion Demo

slide-20
SLIDE 20

Introduction Optimizing I/O Performance Optimizing Cache Performance Evaluation Discussion

Insertion Demo

slide-21
SLIDE 21

Introduction Optimizing I/O Performance Optimizing Cache Performance Evaluation Discussion

Insertion Demo

split?

insert

Reorganize nonleaf node

slide-22
SLIDE 22

Introduction Optimizing I/O Performance Optimizing Cache Performance Evaluation Discussion

Insertion Demo

split!

insert

Split the Page nonleaf node

space efficiency problem

slide-23
SLIDE 23

Introduction Optimizing I/O Performance Optimizing Cache Performance Evaluation Discussion

Environments

Page size:

  • From 4KB to 32KB
  • Each have selected a good fan-out with

cost

  • ptimal < 110%

Buffer manager:

  • Using a CLOCK page replacement policy.

Comparison:

  • Disk-first approach and cache-first approach vs. microindexing.
  • Performance evaluation including: search, insert, delete and range scan.
  • Evaluation on the space overhead.
slide-24
SLIDE 24

Introduction Optimizing I/O Performance Optimizing Cache Performance Evaluation Discussion

Search Performance on 100% Bulkload

Search on 100% bulkloaded initialization.

10

5

10

6

10

7

1 1.5 2 2.5 3 # of entries in leaf pages execution time (M cycles) Disk−optimized B+tree Micro−indexing Disk−first fpB+tree Cache−first fpB+tree 10

5

10

6

10

7

1 1.5 2 2.5 3 # of entries in leaf pages execution time (M cycles) Disk−optimized B+tree Micro−indexing Disk−first fpB+tree Cache−first fpB+tree

´µ Ô ×Þ
  • Ã
´µ Ô ×Þ
  • Ã

10

5

10

6

10

7

1 1.5 2 2.5 3 3.5 # of entries in leaf pages execution time (M cycles) Disk−optimized B+tree Micro−indexing Disk−first fpB+tree Cache−first fpB+tree 10

5

10

6

10

7

1 1.5 2 2.5 3 3.5 # of entries in leaf pages execution time (M cycles) Disk−optimized B+tree Micro−indexing Disk−first fpB+tree Cache−first fpB+tree

´ µ Ô ×Þ
  • ½Ã
´µ Ô ×Þ
  • ¿¾Ã
ÙÖ ½¼ ËÖ
  • Ô
ÖÓÖÑÒ ÓÖ ½¼¼± ÙÐÐÓ

10

5

10

6

10

7

1 1.5 2 2.5 3 3.5 # of entries in leaf pages execution time (M cycles) nonleaf= 64B nonleaf=128B nonleaf=192B(selected) nonleaf=256B nonleaf=320B nonleaf=384B nonleaf=448B nonleaf=512B 10

5

10

6

10

7

1 1.5 2 2.5 3 3.5 # of entries in leaf pages execution time (M cycles) 128B 256B 512B 704B(selected) 1024B Best Synthesized

´µ ×¹¬Öר Ô
  • ¹Ì
Ö ´µ
  • ¹¬Öר
Ô
  • ¹Ì
Ö ÙÖ ½½ ÇÔØÑÐ ÛØ ×Ð ØÓÒ ´½Ã Ôµ
  • Ú
  • ×Ö
  • Ô
ÖÓÖÑÒ Ú ÖÝ ÐÓ× ØÓ Ø
  • ר
ÑÓÒ Ø ÒÓ
  • Ó ×º
ÙÖ ½½´µ ×Ó Û× Ø Ô ÖÓÖÑÒ Ó ×¹ ¬Öר Ô
  • ¹Ì
Ö× Ù×Ò ÒÓÒÐ ÒÓ
  • ×Þ×
ÖÓÑ
  • ´Ò
ľ
  • ÐÒµ
ØÓ ½¾ ´ ľ
  • ÐÒ×µº
ÇÙÖ ×Ð Ø ÓÔØÑÐ ØÖ × ÛØÒ ¾± Ó Ø
  • ר
Ü ÙØÓÒ ØÑ׺
  • ÓÖ
  • ¹
¬Öר Ô
  • ¹Ì
Ö× Û
  • Ñ×ÙÖ
Ø Ô ÖÓÖÑÒ ÓÖ ÒÓ
  • ×Þ×
ÖÒÒ ÖÓÑ ½¾ ØÓ ½¼¾º ÁÒ ÙÖ ½½´µ¸ ÓÖ ×ÑÔÐ Ø Ý ¸ Û
  • ÓÒÐÝ
×Ó Û ÙÖÚ × ÓÖ ÒÓ
  • ×Þ×
Ó ½¾¸ ¾¸ ½¾¸ ¼¸ ½¼¾¸ Ò
  • ר
Ô ÖÓÖÑÒ ÙÖÚ
  • ×ÝÒ
Ø×Þ
  • Ý
ØÒ Ø ÑÒÑ ÙÑ× Ó ÐÐ ÙÖÚ × ÛØ Ø ×Ñ
  • Ó
Ò¹ ØÖ× Ò Ð Ô׺ ÇÙÖ ×Ð Ø ÓÔØÑÐ ØÖ Ô ÖÓÖÑ× ÛØÒ ± Ó Ø
  • רº
ÁÒ Ø ÜÔ ÖÑÒ Ø× ØØ ÓÐÐÓ Û¸ Û
  • Ù×
Ø ÓÔØÑÐ ÒÓ
  • ×Þ×
Ú Ò Ò Ì Ð ¾º Î ÖÝÒ Ø ÙÐÐÓ ØÓÖº ÁÒ ÙÖ ½¾¸ Û
  • Ú
Ö¹
  • Ø
¿Å¹Ò ØÖÝ ÜÔ ÖÑÒ Ø× Ò ÙÖ ½¼´ µ ÛØ ÙÐÐÓ ØÓÖ× ÖÒÒ ÖÓÑ ¼± ØÓ ½¼¼±º ÓÑÔÖ ÛØ ×¹ ÓÔØÑÞ
  • ¹Ì
Ö׸ Ô
  • ¹Ì
Ö× Ò Ñ ÖÓ¹ÒÜÒ
  • Ú
  • ×Ô
¹ÙÔ×
  • Ø
Û Ò ½º¿ Ò ½º¼º Ì ×ØÔ¹Ó ÛÒ Ø ¼± ÓÖ Ñ ÖÓ¹ÒÜÒ Ò ×¹¬Öר Ô
  • ¹Ì
Ö× ×
  • Ù×
ØÝ ÖÙ ÓÒ Ô ÐÚ Ð Ø ¼±º ÐØÓÙ Ø ×¹ÓÔØÑÞ
  • ¹Ì
Ö× Ð×Ó ÖÙ ÓÒ ÐÚ Ð Ö¸ Ø × ÚÒ× Ö Ó«×Ø
  • Ý
  • ÐÖÖ
Óר ÓÖ ×Ö Ò Ð Ô× ÛØ Ò Ö× ÙÐÐÓ ØÓÖ׺
  • ¹¬Öר
Ô
  • ¹
Ì Ö× ÐÐ
  • Ú
  • Ø
×Ñ Ò ÙÑ
  • Ö
Ó ÒÓ
  • ÐÚ
Ð× Ò Ø× ר Ó

60 70 80 90 100 1.5 2 2.5 3 3.5 bulkload factor when building the trees execution time (M cycles) Disk−optimized B+tree Micro−indexing Disk−first fpB+tree Cache−first fpB+tree

ÙÖ ½¾ ËÖ
  • Ô
ÖÓÖÑÒ Ú ÖÝÒ ÙÐÐÓ ¹ ØÓÖ× ´¿Å
  • Ý׸
½Ã Ôµ

60 70 80 90 100 10 20 30 40 50 60 70 80 bulkload factor (16KB page) execution time (M cycles) Disk−optimized B+tree Micro−indexing Disk−first fpB+tree Cache−first fpB+tree 10

5

10

6

10

7

10 20 30 40 50 60 70 # of entries in leaf pages (16KB page, 100% full) execution time (M cycles) Disk−optimized B+tree Micro−indexing Disk−first fpB+tree Cache−first fpB+tree

´µ Î ÖÝÒ ÙÐÐÓ ØÓÖ× ´µ Î ÖÝÒ
  • Ó
Ò ØÖ×

10 20 30 40 50 60 70 80 90 (3M entries in leaf pages, 100% full) execution time (M cycles) 4KB 8KB 16KB 32KB Disk−optimized B+tree Micro−indexing Disk−first fpB+tree Cache−first fpB+tree 20 40 60 80 100 (3M entries in leaf pages, 70% full) execution time (M cycles) 4KB 8KB 16KB 32KB Disk−optimized B+tree Micro−indexing Disk−first fpB+tree Cache−first fpB+tree

´ µ Î ÖÝÒ Ô ×Þ× ´½¼¼± ÙÐе ´µ Î ÖÝÒ Ô ×Þ× ´¼± ÙÐе ÙÖ ½¿ ÁÒ×ÖØÓÒ Ô ÖÓÖÑÒ ÜÔ ÖÑÒ Ø× Ò ØÖÓÖ ×ÑÐÖ Ô ÖÓÖÑÒ º

4.2.2 Insertion Performance

ÙÖ ½¿ ×Ó Û× Ø Ò×ÖØÓÒ Ô ÖÓÖÑÒ Ò ÓÙÖ ¹ ÖÒ Ø ×ØØÒ׺ Ì ÜÔ ÖÑÒ Ø× ÐÐ Ñ×ÙÖ Ø Ü Ù¹ ØÓÒ ØÑ× ÓÖ Ò×ÖØÒ ¾¼¼¼ ÖÒÓÑ
  • Ý×
ØÖ ÙÐÐÓ׸ ÛÐ Ú ÖÝÒ Ø ÙÐÐÓ ØÓÖ¸ Ø Ò ÙÑ
  • Ö×
Ó Ò ØÖ× Ò Ð Ô׸ Ò Ø Ô ×Þº Ì Ô
  • ¹Ì
Ö×
  • Ú
  • ÙÔ
ØÓ
  • ¿¹ÓÐ
×Ô ¹ÙÔ Ó Ú Ö ×¹ÓÔØÑÞ
  • ¹Ì
Ö׸ ÛÐ Ñ ÖÓ¹ÒÜÒ Ô ÖÓÖÑ× ÐÑÓר × Ô Ó ÓÖÐÝ × ×¹ÓÔØÑÞ
  • ¹Ì
Ö׺ ÙÖ ½¿´µ ÓÑÔÖ× Ò×ÖØÓÒ Ô ÖÓÖÑÒ Ó ØÖ× ÖÓÑ ¼± ØÓ ½¼¼± ÙÐÐ ÓÒ ØÒÒ ¿Å
  • Ý׺
ÓÑÔÖ ØÓ ×¹ ÓÔØÑÞ
  • ¹Ì
Ö׸ Ø Ô
  • ¹Ì
Ö×
  • Ú
  • ½
ØÓ ¾¼¹ÓÐ ×Ô ¹ÙÔ×
  • Ø
Û Ò ¼± Ò ¼±¸ ÛÐ ÓÖ ½¼¼± ÙÐÐ ØÖ׸ ØÝ Ö Ó Ú Ö ½º ØÑ×
  • ØØÖº
ÁÒ ØÖרÒÐÝ ¸ Ø ÙÖÚ ×
  • Ú
  • ÜØÖÑÐÝ
«ÖÒ Ø ×Ô × ØÓ× Ó ×¹ÓÔØÑÞ
  • ¹
Ì Ö× Ò Ñ ÖÓ¹ÒÜÒ Ò Ö× ÖÓÑ ¼± ØÓ ¼± ÙØ ÖÓÔ Ø Ø ½¼¼± Ô ÓÒ Ø¸ ÛÐ Ø ÙÖÚ × Ó Ô
  • ¹Ì
Ö× ×Ø Ý ­Ø Ø ¬Öר ÙØ ÙÑÔ ÖÑØ ÐÐÝ Ø Ø ½¼¼± Ô ÓÒ Øº Ì× « Ø× Ò
  • ÜÔÐÒ
  • Ý
Ø ÓÑ ÒØÓÒ Ó Ø Û Ó ØÓÖ× Ø ÑÓ Ú ÑÒ Ø Ò Ô ×ÔÐØ×º ÏÒ ØÖ× Ö ¼± ØÓ ¼± ÙÐи Ò×ÖØÓÒ× Ù×ÙÐÐÝ ¬Ò ÑÔØ Ý ×ÐÓØ× Ò Ø Ñ ÓÖ ÓÔ Ö¹ ØÓÒ ØÖ ×Ö Ò ÛÖ Ø
  • Ý
  • ÐÓÒ×
× ØÓ ÑÓ Ú
  • Ø
  • Ý
Ò Ô ÓÒ ØÖ ÖÖ Ý× Ò ÓÖÖ ØÓ Ò×ÖØ Ø ÒÛ Ò ØÖÝ º ÁÒ
slide-25
SLIDE 25

Introduction Optimizing I/O Performance Optimizing Cache Performance Evaluation Discussion

Search Performance on 100% Bulkload

Search on 100% bulkloaded initialization.

10

5

10

6

10

7

1 1.5 2 2.5 3 # of entries in leaf pages execution time (M cycles) Disk−optimized B+tree Micro−indexing Disk−first fpB+tree Cache−first fpB+tree 10

5

10

6

10

7

1 1.5 2 2.5 3 # of entries in leaf pages execution time (M cycles) Disk−optimized B+tree Micro−indexing Disk−first fpB+tree Cache−first fpB+tree

´µ Ô ×Þ
  • Ã
´µ Ô ×Þ
  • Ã

10

5

10

6

10

7

1 1.5 2 2.5 3 3.5 # of entries in leaf pages execution time (M cycles) Disk−optimized B+tree Micro−indexing Disk−first fpB+tree Cache−first fpB+tree 10

5

10

6

10

7

1 1.5 2 2.5 3 3.5 # of entries in leaf pages execution time (M cycles) Disk−optimized B+tree Micro−indexing Disk−first fpB+tree Cache−first fpB+tree

´ µ Ô ×Þ
  • ½Ã
´µ Ô ×Þ
  • ¿¾Ã
ÙÖ ½¼ ËÖ
  • Ô
ÖÓÖÑÒ ÓÖ ½¼¼± ÙÐÐÓ

10

5

10

6

10

7

1 1.5 2 2.5 3 3.5 # of entries in leaf pages execution time (M cycles) nonleaf= 64B nonleaf=128B nonleaf=192B(selected) nonleaf=256B nonleaf=320B nonleaf=384B nonleaf=448B nonleaf=512B 10

5

10

6

10

7

1 1.5 2 2.5 3 3.5 # of entries in leaf pages execution time (M cycles) 128B 256B 512B 704B(selected) 1024B Best Synthesized

´µ ×¹¬Öר Ô
  • ¹Ì
Ö ´µ
  • ¹¬Öר
Ô
  • ¹Ì
Ö ÙÖ ½½ ÇÔØÑÐ ÛØ ×Ð ØÓÒ ´½Ã Ôµ
  • Ú
  • ×Ö
  • Ô
ÖÓÖÑÒ Ú ÖÝ ÐÓ× ØÓ Ø
  • ר
ÑÓÒ Ø ÒÓ
  • Ó ×º
ÙÖ ½½´µ ×Ó Û× Ø Ô ÖÓÖÑÒ Ó ×¹ ¬Öר Ô
  • ¹Ì
Ö× Ù×Ò ÒÓÒÐ ÒÓ
  • ×Þ×
ÖÓÑ
  • ´Ò
ľ
  • ÐÒµ
ØÓ ½¾ ´ ľ
  • ÐÒ×µº
ÇÙÖ ×Ð Ø ÓÔØÑÐ ØÖ × ÛØÒ ¾± Ó Ø
  • ר
Ü ÙØÓÒ ØÑ׺
  • ÓÖ
  • ¹
¬Öר Ô
  • ¹Ì
Ö× Û
  • Ñ×ÙÖ
Ø Ô ÖÓÖÑÒ ÓÖ ÒÓ
  • ×Þ×
ÖÒÒ ÖÓÑ ½¾ ØÓ ½¼¾º ÁÒ ÙÖ ½½´µ¸ ÓÖ ×ÑÔÐ Ø Ý ¸ Û
  • ÓÒÐÝ
×Ó Û ÙÖÚ × ÓÖ ÒÓ
  • ×Þ×
Ó ½¾¸ ¾¸ ½¾¸ ¼¸ ½¼¾¸ Ò
  • ר
Ô ÖÓÖÑÒ ÙÖÚ
  • ×ÝÒ
Ø×Þ
  • Ý
ØÒ Ø ÑÒÑ ÙÑ× Ó ÐÐ ÙÖÚ × ÛØ Ø ×Ñ
  • Ó
Ò¹ ØÖ× Ò Ð Ô׺ ÇÙÖ ×Ð Ø ÓÔØÑÐ ØÖ Ô ÖÓÖÑ× ÛØÒ ± Ó Ø
  • רº
ÁÒ Ø ÜÔ ÖÑÒ Ø× ØØ ÓÐÐÓ Û¸ Û
  • Ù×
Ø ÓÔØÑÐ ÒÓ
  • ×Þ×
Ú Ò Ò Ì Ð ¾º Î ÖÝÒ Ø ÙÐÐÓ ØÓÖº ÁÒ ÙÖ ½¾¸ Û
  • Ú
Ö¹
  • Ø
¿Å¹Ò ØÖÝ ÜÔ ÖÑÒ Ø× Ò ÙÖ ½¼´ µ ÛØ ÙÐÐÓ ØÓÖ× ÖÒÒ ÖÓÑ ¼± ØÓ ½¼¼±º ÓÑÔÖ ÛØ ×¹ ÓÔØÑÞ
  • ¹Ì
Ö׸ Ô
  • ¹Ì
Ö× Ò Ñ ÖÓ¹ÒÜÒ
  • Ú
  • ×Ô
¹ÙÔ×
  • Ø
Û Ò ½º¿ Ò ½º¼º Ì ×ØÔ¹Ó ÛÒ Ø ¼± ÓÖ Ñ ÖÓ¹ÒÜÒ Ò ×¹¬Öר Ô
  • ¹Ì
Ö× ×
  • Ù×
ØÝ ÖÙ ÓÒ Ô ÐÚ Ð Ø ¼±º ÐØÓÙ Ø ×¹ÓÔØÑÞ
  • ¹Ì
Ö× Ð×Ó ÖÙ ÓÒ ÐÚ Ð Ö¸ Ø × ÚÒ× Ö Ó«×Ø
  • Ý
  • ÐÖÖ
Óר ÓÖ ×Ö Ò Ð Ô× ÛØ Ò Ö× ÙÐÐÓ ØÓÖ׺
  • ¹¬Öר
Ô
  • ¹
Ì Ö× ÐÐ
  • Ú
  • Ø
×Ñ Ò ÙÑ
  • Ö
Ó ÒÓ
  • ÐÚ
Ð× Ò Ø× ר Ó

60 70 80 90 100 1.5 2 2.5 3 3.5 bulkload factor when building the trees execution time (M cycles) Disk−optimized B+tree Micro−indexing Disk−first fpB+tree Cache−first fpB+tree

ÙÖ ½¾ ËÖ
  • Ô
ÖÓÖÑÒ Ú ÖÝÒ ÙÐÐÓ ¹ ØÓÖ× ´¿Å
  • Ý׸
½Ã Ôµ

60 70 80 90 100 10 20 30 40 50 60 70 80 bulkload factor (16KB page) execution time (M cycles) Disk−optimized B+tree Micro−indexing Disk−first fpB+tree Cache−first fpB+tree 10

5

10

6

10

7

10 20 30 40 50 60 70 # of entries in leaf pages (16KB page, 100% full) execution time (M cycles) Disk−optimized B+tree Micro−indexing Disk−first fpB+tree Cache−first fpB+tree

´µ Î ÖÝÒ ÙÐÐÓ ØÓÖ× ´µ Î ÖÝÒ
  • Ó
Ò ØÖ×

10 20 30 40 50 60 70 80 90 (3M entries in leaf pages, 100% full) execution time (M cycles) 4KB 8KB 16KB 32KB Disk−optimized B+tree Micro−indexing Disk−first fpB+tree Cache−first fpB+tree 20 40 60 80 100 (3M entries in leaf pages, 70% full) execution time (M cycles) 4KB 8KB 16KB 32KB Disk−optimized B+tree Micro−indexing Disk−first fpB+tree Cache−first fpB+tree

´ µ Î ÖÝÒ Ô ×Þ× ´½¼¼± ÙÐе ´µ Î ÖÝÒ Ô ×Þ× ´¼± ÙÐе ÙÖ ½¿ ÁÒ×ÖØÓÒ Ô ÖÓÖÑÒ ÜÔ ÖÑÒ Ø× Ò ØÖÓÖ ×ÑÐÖ Ô ÖÓÖÑÒ º

4.2.2 Insertion Performance

ÙÖ ½¿ ×Ó Û× Ø Ò×ÖØÓÒ Ô ÖÓÖÑÒ Ò ÓÙÖ ¹ ÖÒ Ø ×ØØÒ׺ Ì ÜÔ ÖÑÒ Ø× ÐÐ Ñ×ÙÖ Ø Ü Ù¹ ØÓÒ ØÑ× ÓÖ Ò×ÖØÒ ¾¼¼¼ ÖÒÓÑ
  • Ý×
ØÖ ÙÐÐÓ׸ ÛÐ Ú ÖÝÒ Ø ÙÐÐÓ ØÓÖ¸ Ø Ò ÙÑ
  • Ö×
Ó Ò ØÖ× Ò Ð Ô׸ Ò Ø Ô ×Þº Ì Ô
  • ¹Ì
Ö×
  • Ú
  • ÙÔ
ØÓ
  • ¿¹ÓÐ
×Ô ¹ÙÔ Ó Ú Ö ×¹ÓÔØÑÞ
  • ¹Ì
Ö׸ ÛÐ Ñ ÖÓ¹ÒÜÒ Ô ÖÓÖÑ× ÐÑÓר × Ô Ó ÓÖÐÝ × ×¹ÓÔØÑÞ
  • ¹Ì
Ö׺ ÙÖ ½¿´µ ÓÑÔÖ× Ò×ÖØÓÒ Ô ÖÓÖÑÒ Ó ØÖ× ÖÓÑ ¼± ØÓ ½¼¼± ÙÐÐ ÓÒ ØÒÒ ¿Å
  • Ý׺
ÓÑÔÖ ØÓ ×¹ ÓÔØÑÞ
  • ¹Ì
Ö׸ Ø Ô
  • ¹Ì
Ö×
  • Ú
  • ½
ØÓ ¾¼¹ÓÐ ×Ô ¹ÙÔ×
  • Ø
Û Ò ¼± Ò ¼±¸ ÛÐ ÓÖ ½¼¼± ÙÐÐ ØÖ׸ ØÝ Ö Ó Ú Ö ½º ØÑ×
  • ØØÖº
ÁÒ ØÖרÒÐÝ ¸ Ø ÙÖÚ ×
  • Ú
  • ÜØÖÑÐÝ
«ÖÒ Ø ×Ô × ØÓ× Ó ×¹ÓÔØÑÞ
  • ¹
Ì Ö× Ò Ñ ÖÓ¹ÒÜÒ Ò Ö× ÖÓÑ ¼± ØÓ ¼± ÙØ ÖÓÔ Ø Ø ½¼¼± Ô ÓÒ Ø¸ ÛÐ Ø ÙÖÚ × Ó Ô
  • ¹Ì
Ö× ×Ø Ý ­Ø Ø ¬Öר ÙØ ÙÑÔ ÖÑØ ÐÐÝ Ø Ø ½¼¼± Ô ÓÒ Øº Ì× « Ø× Ò
  • ÜÔÐÒ
  • Ý
Ø ÓÑ ÒØÓÒ Ó Ø Û Ó ØÓÖ× Ø ÑÓ Ú ÑÒ Ø Ò Ô ×ÔÐØ×º ÏÒ ØÖ× Ö ¼± ØÓ ¼± ÙÐи Ò×ÖØÓÒ× Ù×ÙÐÐÝ ¬Ò ÑÔØ Ý ×ÐÓØ× Ò Ø Ñ ÓÖ ÓÔ Ö¹ ØÓÒ ØÖ ×Ö Ò ÛÖ Ø
  • Ý
  • ÐÓÒ×
× ØÓ ÑÓ Ú
  • Ø
  • Ý
Ò Ô ÓÒ ØÖ ÖÖ Ý× Ò ÓÖÖ ØÓ Ò×ÖØ Ø ÒÛ Ò ØÖÝ º ÁÒ
slide-26
SLIDE 26

Introduction Optimizing I/O Performance Optimizing Cache Performance Evaluation Discussion

Search Performance on Varied Bulkload

Search on a varied bulkloaded initialization.

10

5

10

6

10

7

1 1.5 2 2.5 3 # of entries in leaf pages execution time (M cycles) Disk−optimized B+tree Micro−indexing Disk−first fpB+tree Cache−first fpB+tree 10

5

10

6

10

7

1 1.5 2 2.5 3 # of entries in leaf pages execution time (M cycles) Disk−optimized B+tree Micro−indexing Disk−first fpB+tree Cache−first fpB+tree

´µ Ô ×Þ
  • Ã
´µ Ô ×Þ
  • Ã

10

5

10

6

10

7

1 1.5 2 2.5 3 3.5 # of entries in leaf pages execution time (M cycles) Disk−optimized B+tree Micro−indexing Disk−first fpB+tree Cache−first fpB+tree 10

5

10

6

10

7

1 1.5 2 2.5 3 3.5 # of entries in leaf pages execution time (M cycles) Disk−optimized B+tree Micro−indexing Disk−first fpB+tree Cache−first fpB+tree

´ µ Ô ×Þ
  • ½Ã
´µ Ô ×Þ
  • ¿¾Ã
ÙÖ ½¼ ËÖ
  • Ô
ÖÓÖÑÒ ÓÖ ½¼¼± ÙÐÐÓ

10

5

10

6

10

7

1 1.5 2 2.5 3 3.5 # of entries in leaf pages execution time (M cycles) nonleaf= 64B nonleaf=128B nonleaf=192B(selected) nonleaf=256B nonleaf=320B nonleaf=384B nonleaf=448B nonleaf=512B 10

5

10

6

10

7

1 1.5 2 2.5 3 3.5 # of entries in leaf pages execution time (M cycles) 128B 256B 512B 704B(selected) 1024B Best Synthesized

´µ ×¹¬Öר Ô
  • ¹Ì
Ö ´µ
  • ¹¬Öר
Ô
  • ¹Ì
Ö ÙÖ ½½ ÇÔØÑÐ ÛØ ×Ð ØÓÒ ´½Ã Ôµ
  • Ú
  • ×Ö
  • Ô
ÖÓÖÑÒ Ú ÖÝ ÐÓ× ØÓ Ø
  • ר
ÑÓÒ Ø ÒÓ
  • Ó ×º
ÙÖ ½½´µ ×Ó Û× Ø Ô ÖÓÖÑÒ Ó ×¹ ¬Öר Ô
  • ¹Ì
Ö× Ù×Ò ÒÓÒÐ ÒÓ
  • ×Þ×
ÖÓÑ
  • ´Ò
ľ
  • ÐÒµ
ØÓ ½¾ ´ ľ
  • ÐÒ×µº
ÇÙÖ ×Ð Ø ÓÔØÑÐ ØÖ × ÛØÒ ¾± Ó Ø
  • ר
Ü ÙØÓÒ ØÑ׺
  • ÓÖ
  • ¹
¬Öר Ô
  • ¹Ì
Ö× Û
  • Ñ×ÙÖ
Ø Ô ÖÓÖÑÒ ÓÖ ÒÓ
  • ×Þ×
ÖÒÒ ÖÓÑ ½¾ ØÓ ½¼¾º ÁÒ ÙÖ ½½´µ¸ ÓÖ ×ÑÔÐ Ø Ý ¸ Û
  • ÓÒÐÝ
×Ó Û ÙÖÚ × ÓÖ ÒÓ
  • ×Þ×
Ó ½¾¸ ¾¸ ½¾¸ ¼¸ ½¼¾¸ Ò
  • ר
Ô ÖÓÖÑÒ ÙÖÚ
  • ×ÝÒ
Ø×Þ
  • Ý
ØÒ Ø ÑÒÑ ÙÑ× Ó ÐÐ ÙÖÚ × ÛØ Ø ×Ñ
  • Ó
Ò¹ ØÖ× Ò Ð Ô׺ ÇÙÖ ×Ð Ø ÓÔØÑÐ ØÖ Ô ÖÓÖÑ× ÛØÒ ± Ó Ø
  • רº
ÁÒ Ø ÜÔ ÖÑÒ Ø× ØØ ÓÐÐÓ Û¸ Û
  • Ù×
Ø ÓÔØÑÐ ÒÓ
  • ×Þ×
Ú Ò Ò Ì Ð ¾º Î ÖÝÒ Ø ÙÐÐÓ ØÓÖº ÁÒ ÙÖ ½¾¸ Û
  • Ú
Ö¹
  • Ø
¿Å¹Ò ØÖÝ ÜÔ ÖÑÒ Ø× Ò ÙÖ ½¼´ µ ÛØ ÙÐÐÓ ØÓÖ× ÖÒÒ ÖÓÑ ¼± ØÓ ½¼¼±º ÓÑÔÖ ÛØ ×¹ ÓÔØÑÞ
  • ¹Ì
Ö׸ Ô
  • ¹Ì
Ö× Ò Ñ ÖÓ¹ÒÜÒ
  • Ú
  • ×Ô
¹ÙÔ×
  • Ø
Û Ò ½º¿ Ò ½º¼º Ì ×ØÔ¹Ó ÛÒ Ø ¼± ÓÖ Ñ ÖÓ¹ÒÜÒ Ò ×¹¬Öר Ô
  • ¹Ì
Ö× ×
  • Ù×
ØÝ ÖÙ ÓÒ Ô ÐÚ Ð Ø ¼±º ÐØÓÙ Ø ×¹ÓÔØÑÞ
  • ¹Ì
Ö× Ð×Ó ÖÙ ÓÒ ÐÚ Ð Ö¸ Ø × ÚÒ× Ö Ó«×Ø
  • Ý
  • ÐÖÖ
Óר ÓÖ ×Ö Ò Ð Ô× ÛØ Ò Ö× ÙÐÐÓ ØÓÖ׺
  • ¹¬Öר
Ô
  • ¹
Ì Ö× ÐÐ
  • Ú
  • Ø
×Ñ Ò ÙÑ
  • Ö
Ó ÒÓ
  • ÐÚ
Ð× Ò Ø× ר Ó

60 70 80 90 100 1.5 2 2.5 3 3.5 bulkload factor when building the trees execution time (M cycles) Disk−optimized B+tree Micro−indexing Disk−first fpB+tree Cache−first fpB+tree

ÙÖ ½¾ ËÖ
  • Ô
ÖÓÖÑÒ Ú ÖÝÒ ÙÐÐÓ ¹ ØÓÖ× ´¿Å
  • Ý׸
½Ã Ôµ

60 70 80 90 100 10 20 30 40 50 60 70 80 bulkload factor (16KB page) execution time (M cycles) Disk−optimized B+tree Micro−indexing Disk−first fpB+tree Cache−first fpB+tree 10

5

10

6

10

7

10 20 30 40 50 60 70 # of entries in leaf pages (16KB page, 100% full) execution time (M cycles) Disk−optimized B+tree Micro−indexing Disk−first fpB+tree Cache−first fpB+tree

´µ Î ÖÝÒ ÙÐÐÓ ØÓÖ× ´µ Î ÖÝÒ
  • Ó
Ò ØÖ×

10 20 30 40 50 60 70 80 90 (3M entries in leaf pages, 100% full) execution time (M cycles) 4KB 8KB 16KB 32KB Disk−optimized B+tree Micro−indexing Disk−first fpB+tree Cache−first fpB+tree 20 40 60 80 100 (3M entries in leaf pages, 70% full) execution time (M cycles) 4KB 8KB 16KB 32KB Disk−optimized B+tree Micro−indexing Disk−first fpB+tree Cache−first fpB+tree

´ µ Î ÖÝÒ Ô ×Þ× ´½¼¼± ÙÐе ´µ Î ÖÝÒ Ô ×Þ× ´¼± ÙÐе ÙÖ ½¿ ÁÒ×ÖØÓÒ Ô ÖÓÖÑÒ ÜÔ ÖÑÒ Ø× Ò ØÖÓÖ ×ÑÐÖ Ô ÖÓÖÑÒ º

4.2.2 Insertion Performance

ÙÖ ½¿ ×Ó Û× Ø Ò×ÖØÓÒ Ô ÖÓÖÑÒ Ò ÓÙÖ ¹ ÖÒ Ø ×ØØÒ׺ Ì ÜÔ ÖÑÒ Ø× ÐÐ Ñ×ÙÖ Ø Ü Ù¹ ØÓÒ ØÑ× ÓÖ Ò×ÖØÒ ¾¼¼¼ ÖÒÓÑ
  • Ý×
ØÖ ÙÐÐÓ׸ ÛÐ Ú ÖÝÒ Ø ÙÐÐÓ ØÓÖ¸ Ø Ò ÙÑ
  • Ö×
Ó Ò ØÖ× Ò Ð Ô׸ Ò Ø Ô ×Þº Ì Ô
  • ¹Ì
Ö×
  • Ú
  • ÙÔ
ØÓ
  • ¿¹ÓÐ
×Ô ¹ÙÔ Ó Ú Ö ×¹ÓÔØÑÞ
  • ¹Ì
Ö׸ ÛÐ Ñ ÖÓ¹ÒÜÒ Ô ÖÓÖÑ× ÐÑÓר × Ô Ó ÓÖÐÝ × ×¹ÓÔØÑÞ
  • ¹Ì
Ö׺ ÙÖ ½¿´µ ÓÑÔÖ× Ò×ÖØÓÒ Ô ÖÓÖÑÒ Ó ØÖ× ÖÓÑ ¼± ØÓ ½¼¼± ÙÐÐ ÓÒ ØÒÒ ¿Å
  • Ý׺
ÓÑÔÖ ØÓ ×¹ ÓÔØÑÞ
  • ¹Ì
Ö׸ Ø Ô
  • ¹Ì
Ö×
  • Ú
  • ½
ØÓ ¾¼¹ÓÐ ×Ô ¹ÙÔ×
  • Ø
Û Ò ¼± Ò ¼±¸ ÛÐ ÓÖ ½¼¼± ÙÐÐ ØÖ׸ ØÝ Ö Ó Ú Ö ½º ØÑ×
  • ØØÖº
ÁÒ ØÖרÒÐÝ ¸ Ø ÙÖÚ ×
  • Ú
  • ÜØÖÑÐÝ
«ÖÒ Ø ×Ô × ØÓ× Ó ×¹ÓÔØÑÞ
  • ¹
Ì Ö× Ò Ñ ÖÓ¹ÒÜÒ Ò Ö× ÖÓÑ ¼± ØÓ ¼± ÙØ ÖÓÔ Ø Ø ½¼¼± Ô ÓÒ Ø¸ ÛÐ Ø ÙÖÚ × Ó Ô
  • ¹Ì
Ö× ×Ø Ý ­Ø Ø ¬Öר ÙØ ÙÑÔ ÖÑØ ÐÐÝ Ø Ø ½¼¼± Ô ÓÒ Øº Ì× « Ø× Ò
  • ÜÔÐÒ
  • Ý
Ø ÓÑ ÒØÓÒ Ó Ø Û Ó ØÓÖ× Ø ÑÓ Ú ÑÒ Ø Ò Ô ×ÔÐØ×º ÏÒ ØÖ× Ö ¼± ØÓ ¼± ÙÐи Ò×ÖØÓÒ× Ù×ÙÐÐÝ ¬Ò ÑÔØ Ý ×ÐÓØ× Ò Ø Ñ ÓÖ ÓÔ Ö¹ ØÓÒ ØÖ ×Ö Ò ÛÖ Ø
  • Ý
  • ÐÓÒ×
× ØÓ ÑÓ Ú
  • Ø
  • Ý
Ò Ô ÓÒ ØÖ ÖÖ Ý× Ò ÓÖÖ ØÓ Ò×ÖØ Ø ÒÛ Ò ØÖÝ º ÁÒ
slide-27
SLIDE 27

Introduction Optimizing I/O Performance Optimizing Cache Performance Evaluation Discussion

Insert Performance

Insert performance under a) different bulkload factors b) # of entries.

10

5

10

6

10

7

1 1.5 2 2.5 3 # of entries in leaf pages execution time (M cycles) Disk−optimized B+tree Micro−indexing Disk−first fpB+tree Cache−first fpB+tree 10

5

10

6

10

7

1 1.5 2 2.5 3 # of entries in leaf pages execution time (M cycles) Disk−optimized B+tree Micro−indexing Disk−first fpB+tree Cache−first fpB+tree

´µ Ô ×Þ
  • Ã
´µ Ô ×Þ
  • Ã

10

5

10

6

10

7

1 1.5 2 2.5 3 3.5 # of entries in leaf pages execution time (M cycles) Disk−optimized B+tree Micro−indexing Disk−first fpB+tree Cache−first fpB+tree 10

5

10

6

10

7

1 1.5 2 2.5 3 3.5 # of entries in leaf pages execution time (M cycles) Disk−optimized B+tree Micro−indexing Disk−first fpB+tree Cache−first fpB+tree

´ µ Ô ×Þ
  • ½Ã
´µ Ô ×Þ
  • ¿¾Ã
ÙÖ ½¼ ËÖ
  • Ô
ÖÓÖÑÒ ÓÖ ½¼¼± ÙÐÐÓ

10

5

10

6

10

7

1 1.5 2 2.5 3 3.5 # of entries in leaf pages execution time (M cycles) nonleaf= 64B nonleaf=128B nonleaf=192B(selected) nonleaf=256B nonleaf=320B nonleaf=384B nonleaf=448B nonleaf=512B 10

5

10

6

10

7

1 1.5 2 2.5 3 3.5 # of entries in leaf pages execution time (M cycles) 128B 256B 512B 704B(selected) 1024B Best Synthesized

´µ ×¹¬Öר Ô
  • ¹Ì
Ö ´µ
  • ¹¬Öר
Ô
  • ¹Ì
Ö ÙÖ ½½ ÇÔØÑÐ ÛØ ×Ð ØÓÒ ´½Ã Ôµ
  • Ú
  • ×Ö
  • Ô
ÖÓÖÑÒ Ú ÖÝ ÐÓ× ØÓ Ø
  • ר
ÑÓÒ Ø ÒÓ
  • Ó ×º
ÙÖ ½½´µ ×Ó Û× Ø Ô ÖÓÖÑÒ Ó ×¹ ¬Öר Ô
  • ¹Ì
Ö× Ù×Ò ÒÓÒÐ ÒÓ
  • ×Þ×
ÖÓÑ
  • ´Ò
ľ
  • ÐÒµ
ØÓ ½¾ ´ ľ
  • ÐÒ×µº
ÇÙÖ ×Ð Ø ÓÔØÑÐ ØÖ × ÛØÒ ¾± Ó Ø
  • ר
Ü ÙØÓÒ ØÑ׺
  • ÓÖ
  • ¹
¬Öר Ô
  • ¹Ì
Ö× Û
  • Ñ×ÙÖ
Ø Ô ÖÓÖÑÒ ÓÖ ÒÓ
  • ×Þ×
ÖÒÒ ÖÓÑ ½¾ ØÓ ½¼¾º ÁÒ ÙÖ ½½´µ¸ ÓÖ ×ÑÔÐ Ø Ý ¸ Û
  • ÓÒÐÝ
×Ó Û ÙÖÚ × ÓÖ ÒÓ
  • ×Þ×
Ó ½¾¸ ¾¸ ½¾¸ ¼¸ ½¼¾¸ Ò
  • ר
Ô ÖÓÖÑÒ ÙÖÚ
  • ×ÝÒ
Ø×Þ
  • Ý
ØÒ Ø ÑÒÑ ÙÑ× Ó ÐÐ ÙÖÚ × ÛØ Ø ×Ñ
  • Ó
Ò¹ ØÖ× Ò Ð Ô׺ ÇÙÖ ×Ð Ø ÓÔØÑÐ ØÖ Ô ÖÓÖÑ× ÛØÒ ± Ó Ø
  • רº
ÁÒ Ø ÜÔ ÖÑÒ Ø× ØØ ÓÐÐÓ Û¸ Û
  • Ù×
Ø ÓÔØÑÐ ÒÓ
  • ×Þ×
Ú Ò Ò Ì Ð ¾º Î ÖÝÒ Ø ÙÐÐÓ ØÓÖº ÁÒ ÙÖ ½¾¸ Û
  • Ú
Ö¹
  • Ø
¿Å¹Ò ØÖÝ ÜÔ ÖÑÒ Ø× Ò ÙÖ ½¼´ µ ÛØ ÙÐÐÓ ØÓÖ× ÖÒÒ ÖÓÑ ¼± ØÓ ½¼¼±º ÓÑÔÖ ÛØ ×¹ ÓÔØÑÞ
  • ¹Ì
Ö׸ Ô
  • ¹Ì
Ö× Ò Ñ ÖÓ¹ÒÜÒ
  • Ú
  • ×Ô
¹ÙÔ×
  • Ø
Û Ò ½º¿ Ò ½º¼º Ì ×ØÔ¹Ó ÛÒ Ø ¼± ÓÖ Ñ ÖÓ¹ÒÜÒ Ò ×¹¬Öר Ô
  • ¹Ì
Ö× ×
  • Ù×
ØÝ ÖÙ ÓÒ Ô ÐÚ Ð Ø ¼±º ÐØÓÙ Ø ×¹ÓÔØÑÞ
  • ¹Ì
Ö× Ð×Ó ÖÙ ÓÒ ÐÚ Ð Ö¸ Ø × ÚÒ× Ö Ó«×Ø
  • Ý
  • ÐÖÖ
Óר ÓÖ ×Ö Ò Ð Ô× ÛØ Ò Ö× ÙÐÐÓ ØÓÖ׺
  • ¹¬Öר
Ô
  • ¹
Ì Ö× ÐÐ
  • Ú
  • Ø
×Ñ Ò ÙÑ
  • Ö
Ó ÒÓ
  • ÐÚ
Ð× Ò Ø× ר Ó

60 70 80 90 100 1.5 2 2.5 3 3.5 bulkload factor when building the trees execution time (M cycles) Disk−optimized B+tree Micro−indexing Disk−first fpB+tree Cache−first fpB+tree

ÙÖ ½¾ ËÖ
  • Ô
ÖÓÖÑÒ Ú ÖÝÒ ÙÐÐÓ ¹ ØÓÖ× ´¿Å
  • Ý׸
½Ã Ôµ

60 70 80 90 100 10 20 30 40 50 60 70 80 bulkload factor (16KB page) execution time (M cycles) Disk−optimized B+tree Micro−indexing Disk−first fpB+tree Cache−first fpB+tree 10

5

10

6

10

7

10 20 30 40 50 60 70 # of entries in leaf pages (16KB page, 100% full) execution time (M cycles) Disk−optimized B+tree Micro−indexing Disk−first fpB+tree Cache−first fpB+tree

´µ Î ÖÝÒ ÙÐÐÓ ØÓÖ× ´µ Î ÖÝÒ
  • Ó
Ò ØÖ×

10 20 30 40 50 60 70 80 90 (3M entries in leaf pages, 100% full) execution time (M cycles) 4KB 8KB 16KB 32KB Disk−optimized B+tree Micro−indexing Disk−first fpB+tree Cache−first fpB+tree 20 40 60 80 100 (3M entries in leaf pages, 70% full) execution time (M cycles) 4KB 8KB 16KB 32KB Disk−optimized B+tree Micro−indexing Disk−first fpB+tree Cache−first fpB+tree

´ µ Î ÖÝÒ Ô ×Þ× ´½¼¼± ÙÐе ´µ Î ÖÝÒ Ô ×Þ× ´¼± ÙÐе ÙÖ ½¿ ÁÒ×ÖØÓÒ Ô ÖÓÖÑÒ ÜÔ ÖÑÒ Ø× Ò ØÖÓÖ ×ÑÐÖ Ô ÖÓÖÑÒ º

4.2.2 Insertion Performance

ÙÖ ½¿ ×Ó Û× Ø Ò×ÖØÓÒ Ô ÖÓÖÑÒ Ò ÓÙÖ ¹ ÖÒ Ø ×ØØÒ׺ Ì ÜÔ ÖÑÒ Ø× ÐÐ Ñ×ÙÖ Ø Ü Ù¹ ØÓÒ ØÑ× ÓÖ Ò×ÖØÒ ¾¼¼¼ ÖÒÓÑ
  • Ý×
ØÖ ÙÐÐÓ׸ ÛÐ Ú ÖÝÒ Ø ÙÐÐÓ ØÓÖ¸ Ø Ò ÙÑ
  • Ö×
Ó Ò ØÖ× Ò Ð Ô׸ Ò Ø Ô ×Þº Ì Ô
  • ¹Ì
Ö×
  • Ú
  • ÙÔ
ØÓ
  • ¿¹ÓÐ
×Ô ¹ÙÔ Ó Ú Ö ×¹ÓÔØÑÞ
  • ¹Ì
Ö׸ ÛÐ Ñ ÖÓ¹ÒÜÒ Ô ÖÓÖÑ× ÐÑÓר × Ô Ó ÓÖÐÝ × ×¹ÓÔØÑÞ
  • ¹Ì
Ö׺ ÙÖ ½¿´µ ÓÑÔÖ× Ò×ÖØÓÒ Ô ÖÓÖÑÒ Ó ØÖ× ÖÓÑ ¼± ØÓ ½¼¼± ÙÐÐ ÓÒ ØÒÒ ¿Å
  • Ý׺
ÓÑÔÖ ØÓ ×¹ ÓÔØÑÞ
  • ¹Ì
Ö׸ Ø Ô
  • ¹Ì
Ö×
  • Ú
  • ½
ØÓ ¾¼¹ÓÐ ×Ô ¹ÙÔ×
  • Ø
Û Ò ¼± Ò ¼±¸ ÛÐ ÓÖ ½¼¼± ÙÐÐ ØÖ׸ ØÝ Ö Ó Ú Ö ½º ØÑ×
  • ØØÖº
ÁÒ ØÖרÒÐÝ ¸ Ø ÙÖÚ ×
  • Ú
  • ÜØÖÑÐÝ
«ÖÒ Ø ×Ô × ØÓ× Ó ×¹ÓÔØÑÞ
  • ¹
Ì Ö× Ò Ñ ÖÓ¹ÒÜÒ Ò Ö× ÖÓÑ ¼± ØÓ ¼± ÙØ ÖÓÔ Ø Ø ½¼¼± Ô ÓÒ Ø¸ ÛÐ Ø ÙÖÚ × Ó Ô
  • ¹Ì
Ö× ×Ø Ý ­Ø Ø ¬Öר ÙØ ÙÑÔ ÖÑØ ÐÐÝ Ø Ø ½¼¼± Ô ÓÒ Øº Ì× « Ø× Ò
  • ÜÔÐÒ
  • Ý
Ø ÓÑ ÒØÓÒ Ó Ø Û Ó ØÓÖ× Ø ÑÓ Ú ÑÒ Ø Ò Ô ×ÔÐØ×º ÏÒ ØÖ× Ö ¼± ØÓ ¼± ÙÐи Ò×ÖØÓÒ× Ù×ÙÐÐÝ ¬Ò ÑÔØ Ý ×ÐÓØ× Ò Ø Ñ ÓÖ ÓÔ Ö¹ ØÓÒ ØÖ ×Ö Ò ÛÖ Ø
  • Ý
  • ÐÓÒ×
× ØÓ ÑÓ Ú
  • Ø
  • Ý
Ò Ô ÓÒ ØÖ ÖÖ Ý× Ò ÓÖÖ ØÓ Ò×ÖØ Ø ÒÛ Ò ØÖÝ º ÁÒ
slide-28
SLIDE 28

Introduction Optimizing I/O Performance Optimizing Cache Performance Evaluation Discussion

Insert Performance

Insert performance under different page size. c) 100% full d) 70% full

10

5

10

6

10

7

1 1.5 2 2.5 3 # of entries in leaf pages execution time (M cycles) Disk−optimized B+tree Micro−indexing Disk−first fpB+tree Cache−first fpB+tree 10

5

10

6

10

7

1 1.5 2 2.5 3 # of entries in leaf pages execution time (M cycles) Disk−optimized B+tree Micro−indexing Disk−first fpB+tree Cache−first fpB+tree

´µ Ô ×Þ
  • Ã
´µ Ô ×Þ
  • Ã

10

5

10

6

10

7

1 1.5 2 2.5 3 3.5 # of entries in leaf pages execution time (M cycles) Disk−optimized B+tree Micro−indexing Disk−first fpB+tree Cache−first fpB+tree 10

5

10

6

10

7

1 1.5 2 2.5 3 3.5 # of entries in leaf pages execution time (M cycles) Disk−optimized B+tree Micro−indexing Disk−first fpB+tree Cache−first fpB+tree

´ µ Ô ×Þ
  • ½Ã
´µ Ô ×Þ
  • ¿¾Ã
ÙÖ ½¼ ËÖ
  • Ô
ÖÓÖÑÒ ÓÖ ½¼¼± ÙÐÐÓ

10

5

10

6

10

7

1 1.5 2 2.5 3 3.5 # of entries in leaf pages execution time (M cycles) nonleaf= 64B nonleaf=128B nonleaf=192B(selected) nonleaf=256B nonleaf=320B nonleaf=384B nonleaf=448B nonleaf=512B 10

5

10

6

10

7

1 1.5 2 2.5 3 3.5 # of entries in leaf pages execution time (M cycles) 128B 256B 512B 704B(selected) 1024B Best Synthesized

´µ ×¹¬Öר Ô
  • ¹Ì
Ö ´µ
  • ¹¬Öר
Ô
  • ¹Ì
Ö ÙÖ ½½ ÇÔØÑÐ ÛØ ×Ð ØÓÒ ´½Ã Ôµ
  • Ú
  • ×Ö
  • Ô
ÖÓÖÑÒ Ú ÖÝ ÐÓ× ØÓ Ø
  • ר
ÑÓÒ Ø ÒÓ
  • Ó ×º
ÙÖ ½½´µ ×Ó Û× Ø Ô ÖÓÖÑÒ Ó ×¹ ¬Öר Ô
  • ¹Ì
Ö× Ù×Ò ÒÓÒÐ ÒÓ
  • ×Þ×
ÖÓÑ
  • ´Ò
ľ
  • ÐÒµ
ØÓ ½¾ ´ ľ
  • ÐÒ×µº
ÇÙÖ ×Ð Ø ÓÔØÑÐ ØÖ × ÛØÒ ¾± Ó Ø
  • ר
Ü ÙØÓÒ ØÑ׺
  • ÓÖ
  • ¹
¬Öר Ô
  • ¹Ì
Ö× Û
  • Ñ×ÙÖ
Ø Ô ÖÓÖÑÒ ÓÖ ÒÓ
  • ×Þ×
ÖÒÒ ÖÓÑ ½¾ ØÓ ½¼¾º ÁÒ ÙÖ ½½´µ¸ ÓÖ ×ÑÔÐ Ø Ý ¸ Û
  • ÓÒÐÝ
×Ó Û ÙÖÚ × ÓÖ ÒÓ
  • ×Þ×
Ó ½¾¸ ¾¸ ½¾¸ ¼¸ ½¼¾¸ Ò
  • ר
Ô ÖÓÖÑÒ ÙÖÚ
  • ×ÝÒ
Ø×Þ
  • Ý
ØÒ Ø ÑÒÑ ÙÑ× Ó ÐÐ ÙÖÚ × ÛØ Ø ×Ñ
  • Ó
Ò¹ ØÖ× Ò Ð Ô׺ ÇÙÖ ×Ð Ø ÓÔØÑÐ ØÖ Ô ÖÓÖÑ× ÛØÒ ± Ó Ø
  • רº
ÁÒ Ø ÜÔ ÖÑÒ Ø× ØØ ÓÐÐÓ Û¸ Û
  • Ù×
Ø ÓÔØÑÐ ÒÓ
  • ×Þ×
Ú Ò Ò Ì Ð ¾º Î ÖÝÒ Ø ÙÐÐÓ ØÓÖº ÁÒ ÙÖ ½¾¸ Û
  • Ú
Ö¹
  • Ø
¿Å¹Ò ØÖÝ ÜÔ ÖÑÒ Ø× Ò ÙÖ ½¼´ µ ÛØ ÙÐÐÓ ØÓÖ× ÖÒÒ ÖÓÑ ¼± ØÓ ½¼¼±º ÓÑÔÖ ÛØ ×¹ ÓÔØÑÞ
  • ¹Ì
Ö׸ Ô
  • ¹Ì
Ö× Ò Ñ ÖÓ¹ÒÜÒ
  • Ú
  • ×Ô
¹ÙÔ×
  • Ø
Û Ò ½º¿ Ò ½º¼º Ì ×ØÔ¹Ó ÛÒ Ø ¼± ÓÖ Ñ ÖÓ¹ÒÜÒ Ò ×¹¬Öר Ô
  • ¹Ì
Ö× ×
  • Ù×
ØÝ ÖÙ ÓÒ Ô ÐÚ Ð Ø ¼±º ÐØÓÙ Ø ×¹ÓÔØÑÞ
  • ¹Ì
Ö× Ð×Ó ÖÙ ÓÒ ÐÚ Ð Ö¸ Ø × ÚÒ× Ö Ó«×Ø
  • Ý
  • ÐÖÖ
Óר ÓÖ ×Ö Ò Ð Ô× ÛØ Ò Ö× ÙÐÐÓ ØÓÖ׺
  • ¹¬Öר
Ô
  • ¹
Ì Ö× ÐÐ
  • Ú
  • Ø
×Ñ Ò ÙÑ
  • Ö
Ó ÒÓ
  • ÐÚ
Ð× Ò Ø× ר Ó

60 70 80 90 100 1.5 2 2.5 3 3.5 bulkload factor when building the trees execution time (M cycles) Disk−optimized B+tree Micro−indexing Disk−first fpB+tree Cache−first fpB+tree

ÙÖ ½¾ ËÖ
  • Ô
ÖÓÖÑÒ Ú ÖÝÒ ÙÐÐÓ ¹ ØÓÖ× ´¿Å
  • Ý׸
½Ã Ôµ

60 70 80 90 100 10 20 30 40 50 60 70 80 bulkload factor (16KB page) execution time (M cycles) Disk−optimized B+tree Micro−indexing Disk−first fpB+tree Cache−first fpB+tree 10

5

10

6

10

7

10 20 30 40 50 60 70 # of entries in leaf pages (16KB page, 100% full) execution time (M cycles) Disk−optimized B+tree Micro−indexing Disk−first fpB+tree Cache−first fpB+tree

´µ Î ÖÝÒ ÙÐÐÓ ØÓÖ× ´µ Î ÖÝÒ
  • Ó
Ò ØÖ×

10 20 30 40 50 60 70 80 90 (3M entries in leaf pages, 100% full) execution time (M cycles) 4KB 8KB 16KB 32KB Disk−optimized B+tree Micro−indexing Disk−first fpB+tree Cache−first fpB+tree 20 40 60 80 100 (3M entries in leaf pages, 70% full) execution time (M cycles) 4KB 8KB 16KB 32KB Disk−optimized B+tree Micro−indexing Disk−first fpB+tree Cache−first fpB+tree

´ µ Î ÖÝÒ Ô ×Þ× ´½¼¼± ÙÐе ´µ Î ÖÝÒ Ô ×Þ× ´¼± ÙÐе ÙÖ ½¿ ÁÒ×ÖØÓÒ Ô ÖÓÖÑÒ ÜÔ ÖÑÒ Ø× Ò ØÖÓÖ ×ÑÐÖ Ô ÖÓÖÑÒ º

4.2.2 Insertion Performance

ÙÖ ½¿ ×Ó Û× Ø Ò×ÖØÓÒ Ô ÖÓÖÑÒ Ò ÓÙÖ ¹ ÖÒ Ø ×ØØÒ׺ Ì ÜÔ ÖÑÒ Ø× ÐÐ Ñ×ÙÖ Ø Ü Ù¹ ØÓÒ ØÑ× ÓÖ Ò×ÖØÒ ¾¼¼¼ ÖÒÓÑ
  • Ý×
ØÖ ÙÐÐÓ׸ ÛÐ Ú ÖÝÒ Ø ÙÐÐÓ ØÓÖ¸ Ø Ò ÙÑ
  • Ö×
Ó Ò ØÖ× Ò Ð Ô׸ Ò Ø Ô ×Þº Ì Ô
  • ¹Ì
Ö×
  • Ú
  • ÙÔ
ØÓ
  • ¿¹ÓÐ
×Ô ¹ÙÔ Ó Ú Ö ×¹ÓÔØÑÞ
  • ¹Ì
Ö׸ ÛÐ Ñ ÖÓ¹ÒÜÒ Ô ÖÓÖÑ× ÐÑÓר × Ô Ó ÓÖÐÝ × ×¹ÓÔØÑÞ
  • ¹Ì
Ö׺ ÙÖ ½¿´µ ÓÑÔÖ× Ò×ÖØÓÒ Ô ÖÓÖÑÒ Ó ØÖ× ÖÓÑ ¼± ØÓ ½¼¼± ÙÐÐ ÓÒ ØÒÒ ¿Å
  • Ý׺
ÓÑÔÖ ØÓ ×¹ ÓÔØÑÞ
  • ¹Ì
Ö׸ Ø Ô
  • ¹Ì
Ö×
  • Ú
  • ½
ØÓ ¾¼¹ÓÐ ×Ô ¹ÙÔ×
  • Ø
Û Ò ¼± Ò ¼±¸ ÛÐ ÓÖ ½¼¼± ÙÐÐ ØÖ׸ ØÝ Ö Ó Ú Ö ½º ØÑ×
  • ØØÖº
ÁÒ ØÖרÒÐÝ ¸ Ø ÙÖÚ ×
  • Ú
  • ÜØÖÑÐÝ
«ÖÒ Ø ×Ô × ØÓ× Ó ×¹ÓÔØÑÞ
  • ¹
Ì Ö× Ò Ñ ÖÓ¹ÒÜÒ Ò Ö× ÖÓÑ ¼± ØÓ ¼± ÙØ ÖÓÔ Ø Ø ½¼¼± Ô ÓÒ Ø¸ ÛÐ Ø ÙÖÚ × Ó Ô
  • ¹Ì
Ö× ×Ø Ý ­Ø Ø ¬Öר ÙØ ÙÑÔ ÖÑØ ÐÐÝ Ø Ø ½¼¼± Ô ÓÒ Øº Ì× « Ø× Ò
  • ÜÔÐÒ
  • Ý
Ø ÓÑ ÒØÓÒ Ó Ø Û Ó ØÓÖ× Ø ÑÓ Ú ÑÒ Ø Ò Ô ×ÔÐØ×º ÏÒ ØÖ× Ö ¼± ØÓ ¼± ÙÐи Ò×ÖØÓÒ× Ù×ÙÐÐÝ ¬Ò ÑÔØ Ý ×ÐÓØ× Ò Ø Ñ ÓÖ ÓÔ Ö¹ ØÓÒ ØÖ ×Ö Ò ÛÖ Ø
  • Ý
  • ÐÓÒ×
× ØÓ ÑÓ Ú
  • Ø
  • Ý
Ò Ô ÓÒ ØÖ ÖÖ Ý× Ò ÓÖÖ ØÓ Ò×ÖØ Ø ÒÛ Ò ØÖÝ º ÁÒ
slide-29
SLIDE 29

Introduction Optimizing I/O Performance Optimizing Cache Performance Evaluation Discussion

Delete Performance

Delete performance under different a) bulkload factors b) page sizes.

60 70 80 90 100 5 10 15 20 25 30 bulkload factor (16KB page) execution time (M cycles) Disk−optimized B+tree Micro−indexing Disk−first fpB+tree Cache−first fpB+tree 10 20 30 40 50 (3M entries in leaf pages, 100% full) execution time (M cycles) 4KB 8KB 16KB 32KB Disk−optimized B+tree Micro−indexing Disk−first fpB+tree Cache−first fpB+tree

´µ Î ÖÝÒ ÙÐÐÓ ØÓÖ× ´µ Î ÖÝÒ Ô ×Þ× ´½¼¼± ÙÐе ÙÖ ½ ÐØÓÒ Ô ÖÓÖÑÒ ×¹ÓÔØÑÞ
  • ¹Ì
Ö׸ Ø× Ø ÑÓ Ú ÑÒ Ø ×
  • Ý
Ö Ø ÓÑÒÒ Ø Óרº × Ø Ó ÙÔ Ô ÓÖØÓÒ× Ó Ø ÖÖ Ý× ÖÓ Û ÖÓÑ ¼± ØÓ ¼±¸ Ø× Óר Ò Ö×׸ Ö×ÙÐØÒ Ò ×ÐÓ Û Ö Ò×ÖØÓÒ ØÑ׺ Å ÖÓ¹ÒÜÒ
  • Ô×
Ø ×Ñ ÐÖ Ö¹ Ö Ý ×ØÖÙ ØÙÖ ÙÒ ØÓÙ
  • Ò
ØÖÓÖ ×Ù«Ö× ÖÓÑ Ø ×Ñ « غ ÀÓ Û Ú Ö¸ Ò Ô
  • ¹Ì
Ö׸ Û
  • ÖÙ
Ø Ø ÑÓ Ú ¹ ÑÒ Ø Óר
  • Ý
Ù×Ò ×ÑÐÐÖ
  • ¹ÓÔØÑÞ
ÒÓ ×¸ Ö×ÙÐØÒ Ò ½ ØÓ ¾¼¹ÓÐ ×Ô ¹ÙÔ׺ Ø ÑÓ Ú ÑÒ Ø ×
  • ÓÑ
Ñ Ù
  • Ð××
ÓרÐÝ ØÒ ×Ö ¸ ÐÒ ØÓ Ø ­Ø ÙÖÚ × ÙÔ ØÖÓÙ ¼± ÙÐк ÏÒ Ø ØÖ× Ö ½¼¼± ÙÐи Ò×ÖØÓÒ× Ù× ÖÕÙÒ Ø Ô ×ÔÐØ×º ÁÒ Ô
  • ¹Ì
Ö׸ Ø Óר Ó
  • Ô
×ÔÐØ × Ö ÑÓÖ ØÒ Ø ÔÖÚÓÙ× Ø ÑÓ Ú ÑÒ Ø Óר¸ Ö¹ ×ÙÐØÒ Ò Ø ÐÖ ÙÑÔ ×Ò Ò Ø ÙÖÚ ×º ÁÒ
  • ¹Ì
Ö× Ò Ñ ÖÓ¹ÒÜÒ¸ Ó Û Ú Ö¸ Ø Ô ×ÔÐØ Óר × ÓÑÔ¹ ÖÐ ØÓ ÓÔ ÝÒ Ð Ó
  • Ô¸
Û
  • ×
Ø
  • Ú
Ö Ø ÑÓ Ú ÑÒ Ø Óר ÓÖ Ò×ÖØÒ Ò ØÓ Ò ÐÑÓר ÙÐÐ Ôº ÙØ ÐØÖ Ò×ÖØÓÒ× Ñ Ý Ø Ð ÑÔØ Ý Ô× ´Ùר ×ÔÐØµ Ò Ò Ò ÙÖ Ð×× Ø ÑÓ Ú ÑÒ Ø¸ Ö×ÙÐØÒ Ò ×ØÖ Ò×ÖØÓÒ ØÑ× Ø Ø ½¼¼± Ô ÓÒ Øº ÙÖ ½¿´µ ×Ó Û× Ò×ÖØÓÒ Ô ÖÓÖÑÒ ÓÒ ÙÐÐ ØÖ× Ó «ÖÒ Ø ×Þ׺ ÓÑÔÖ ØÓ ×¹ÓÔØÑÞ
  • ¹Ì
Ö׸ Ô
  • ¹Ì
Ö×
  • Ú
  • ×Ô
¹ÙÔ× ÖÓÑ º¾ ØÓ ½º¾ ÛÒ Ø Ò ÙÑ
  • Ö
Ó Ò ØÖ× Ò Ð Ô× × Ò Ö× ÖÓÑ ½¼¼Ã ØÓ ½¼Åº Ì× Ö× Ò ×Ô ¹ÙÔ × Ù×
  • Ý
Ø Ò Ö×¹ Ò Ò ÙÑ
  • Ö
Ó Ô ×ÔÐØ× ´ÖÓÑ
  • ØÓ
½¿½ Ð Ô ×ÔÐØ× ÓÖ ×¹ÓÔØÑÞ
  • ¹Ì
Ö׸ Ò ×ÑÐÖ ØÖÒ× ÓÖ ÓØÖ ÒÜ×µº × ÖÙ
  • Ó
Ú ¸ Ò Ö× Ô ×ÔÐØ×
  • Ú
  • Ñ
Ù
  • ÖØÖ
Ô ÖÓÖÑÒ ÑÔ Ø ÓÒ Ô
  • ¹Ì
Ö× ØÒ ÓÒ ×¹ÓÔØÑÞ
  • ¹Ì
Ö× Ò Ñ ÖÓ¹ÒÜÒ¸ ÐÒ ØÓ Ø ×Ô ¹ÙÔ Ö׺ ÙÖ× ½¿´ µ Ò ´µ ÓÑÔÖ Ø Ò×ÖØÓÒ Ô ÖÓÖÑÒ Ú ÖÝÒ Ô ×Þ× ÛÒ ØÖ× Ö ½¼¼± Ò ¼± ÙÐк × Ø Ô ×Þ ÖÓ Û׸ Ø Ü ÙØÓÒ ØÑ× Ó ×¹ÓÔØÑÞ
  • ¹Ì
Ö× Ò Ñ ÖÓ¹ÒÜÒ ÜÔÐÓ
  • Ù×
Ó Ø Óѹ Ò « Ø× Ó ÐÖÖ Ø ÑÓ Ú ÑÒ Ø Ò ÐÖÖ Ô ×ÔÐØ Ó×Ø×º ÁÒ Ô
  • ¹Ì
Ö׸ ØÓÙ Ô ×ÔÐØ Ó×Ø× Ð×Ó Ò Ö׸ ×Ö
  • Ò
Ø ÑÓ Ú ÑÒ Ø Ó×Ø× ÓÒÐÝ Ò ×Ð ØÐÝ ¸
  • ¹
Ù× ÛØ ÐÖÖ Ô ×Þ× ÓÑ× Ø Ú Ò Ø× Ó ÐÖÖ ÓÔØÑÐ ÒÓ
  • ÛØ×º
ÌÖÓÖ Ø ÙÖÚ × Ó Ô
  • ¹Ì
Ö× Ò¹ Ö× Ò ÙÖ ½¿´ µ ÙØ Ö ÐÑÓר ­Ø Ò ´µº ÐØÓØÖ Ò ÙÖ ½¿´ µ Ò ´µ¸ Ô
  • ¹Ì
Ö×
  • Ú
  • ½º½ß¾º¼
Ò ºß¿º ÓÐ ×Ô ¹ÙÔ× Ó Ú Ö ×¹ÓÔØÑÞ
  • ¹Ì
Ö׸ Ö¹ ×Ô ØÚ ÐÝ º ÓÑÔÖÒ Ø Ø Û Ó Ô
  • ¹Ì
Ö׸ Û
  • ×
ØÝ
  • Ú
  • ×ѹ
ÐÖ Ò×ÖØÓÒ Ô ÖÓÖÑÒ º ËÓÑØÑ×
  • ¹¬Öר
Ô
  • ¹Ì
Ö× Ô ÖÓÖÑ Û ÓÖ× ØÒ ×¹¬Öר Ô
  • ¹Ì
Ö׺ Ì× × ÔÖÑÖÐÝ
  • Ù×
Ó Ø ÑÓÖ ÓÑÔÐ Ø ÒÓ »Ô ×ÔÐØ ÓÔ ÖØÓÒ× Ò
  • ¹¬Öר
Ô
  • ¹Ì
Ö׸ × × Ù×× Ò Ë ØÓÒ ¿º¾º

4.2.3 Deletion Performance

ÐØÓÒ× Ö ÑÔÐÑÒ Ø × ÐÞÝ ÐØÓÒ× Ò ÐÐ Ø Ò¹

200 400 600 800 1000 1200 simulation time (M cycles) Disk−optimized B+tree Disk−first fpB+tree Cache−first fpB+tree

ÙÖ ½ ÊÒ × Ò Ô ÖÓÖÑÒ ´½Ã Ô¸ × ÒÒÒ ½Å
  • Ý×µ

10 20 30 40 50 page size space overhead (percentage) 4KB 8KB 16KB 32KB Disk−first fpB+tree Cache−first fpB+tree 10 20 30 40 50 page size space overhead (percentage) 4KB 8KB 16KB 32KB Disk−first fpB+tree Cache−first fpB+tree

´µ ØÖ ÙÐÐÓÒ ØÖ× ½¼¼± ÙÐÐ ´µ ÅØÙÖ ØÖ× ÙÖ ½ ËÔ Ó Ú Ö Ü׺
  • ×Ö
  • ×
ÓÐÐÓ Û
  • Ý
  • Ø
ÑÓ Ú ÑÒ Ø ÓÔ ÖØÓÒ ØÓ ÖÑÓ Ú
  • Ø
ÐØ Ò ØÖÝ ¸ ÙØ Û
  • Ó
ÒÓØ ÑÖ ÙÒÖ­Ó Û
  • Ô×
ÓÖ ÒÓ ×º ÙÖ ½ Ú ÐÙØ× ÐØÓÒ Ô ÖÓÖÑÒ ´ÓÖ ¾¼¼¼ ÖÒÓÑ ÐØÓÒ×µ Ò Ø Û Ó ×ØØÒ× ´µ Ú ÖÝÒ Ø ÙÐÐÓ ØÓÖ ÛÒ Ø Ô ×Þ × ½Ã¸ Ò ´µ Ú ÖÝÒ Ø Ô ×Þ× ÛÒ Ø ØÖ× Ö ½¼¼± ÙÐк Ì ÓÑÒÒ Ø Óר Ò ×¹ÓÔØÑÞ
  • ¹Ì
Ö× Ò Ñ ÖÓ¹ÒÜÒ × Ø Ø ÑÓ Ú ÑÒ Ø Óר¸ Û
  • Ò Ö××
× Ø ÙÐÐÓ ØÓÖ Ò Ö×× Ò Ø Ô ×Þ ÖÓ Û׺ ÀÓ Û Ú Ö¸ Ø ×Ö
  • Ò
Ø ÑÓ Ú ÑÒ Ø Ó×Ø× Ó Ô
  • ¹Ì
Ö× ÓÒÐÝ Ò ×Ð ØÐÝ º ËÓ Ø Ô
  • ¹Ì
Ö×
  • Ú
  • ¿º¾ß¾¼º
ÓÐ ×Ô ¹ÙÔ× Ó Ú Ö ×¹ ÓÔØÑÞ
  • ¹Ì
Ö׺

4.2.4 Range Scan Performance

ÙÖ ½ ÓÑÔÖ× Ø ÖÒ × Ò
  • Ô
ÖÓÖÑÒ Ó Ô
  • ¹Ì
Ö× Ò ×¹ÓÔØÑÞ
  • ¹Ì
Ö׺ Ì ØÖ× Ö ÙÐÐÓ ÛØ ¿Å
  • Ý׸
Ù×Ò
  • ½¼¼±
ÙÐÐÓ ØÓÖº Ï
  • ÒÖØ
½¼¼ ÖÒÓÑ ×ØÖØ
  • Ý׸
ÓÖ
  • ÓÑÔÙØÒ
Ò Ò
  • Ý
×Ù
  • ØØ
Ø ÖÒ ×ÔÒ× ÔÖ ×ÐÝ ½Å ØÙÔÐ Á׸ Ò ØÒ Ô ÖÓÖÑ Ø× ½¼¼ ÖÒ × Ò× ÓÒ ØÖ ÒÓØÖº ÓÑÔÖ ØÓ Ø ×¹ÓÔØÑÞ
  • ¹Ì
Ö׸ Ø ×¹¬Öר Ò
  • ¹¬Öר
Ô
  • ¹Ì
Ö×
  • Ú
  • ×Ô
¹ÙÔ× Ó º¾ Ò ¿º¸ Ö¹ ×Ô ØÚ ÐÝ º

4.3 I/O Performance and Space Overhead

ËÔ ÇÚ Öº ÙÖ ½ ×Ó Û× Ø ×Ô Ó Ú Ö
  • Ó
Ø Ô
  • ¹Ì
Ö× ÓÑÔÖ ØÓ ×¹ÓÔØÑÞ
  • ¹Ì
Ö× ÓÖ
  • ÖÒ
Ó Ô ×Þ׸ Ô ØÒ Ø Û Ó ´ÜØÖÑе × ÒÖÓ× ´µ ÑÑØÐÝ ØÖ ÙÐÐÓÒ Ø ØÖ× ½¼¼± ÙÐи Ò ´µ ØÖ Ò×ÖØÒ Å
  • Ý×
Ò ØÓ ØÖ× ÙÐÐÓ ÛØ ½Å
  • Ý׺
Ï
  • ×
ØØ Ò
  • Ó
Ø× × ÒÖÓ׸ ×¹¬Öר Ô
  • ¹
Ì Ö× Ò ÙÖ Ð×× ØÒ
  • ±
Ó Ú Öº ÁÒ
  • ¹¬Öר
Ô
  • ¹
Ì Ö׸ Ø ×Ô Ó Ú Ö × Ð×× ØÒ ± ÙÒÖ × ÒÖÓ ´µ¸ Ú Ò
  • ØØÖ
ØÒ ×¹¬Öר Ô
  • ¹Ì
Ö׺ Ì× ×
  • Ù×
  • ËÔ
ÇÚ Ö
  • Ó
Ô× Ò Ø ÒÜ
  • Ó
Ô× Ò
  • ×¹ÓÔØÑÞ
  • ¹Ì
Ö
  • ½
slide-30
SLIDE 30

Introduction Optimizing I/O Performance Optimizing Cache Performance Evaluation Discussion

Range Scan Performance

60 70 80 90 100 5 10 15 20 25 30 bulkload factor (16KB page) execution time (M cycles) Disk−optimized B+tree Micro−indexing Disk−first fpB+tree Cache−first fpB+tree 10 20 30 40 50 (3M entries in leaf pages, 100% full) execution time (M cycles) 4KB 8KB 16KB 32KB Disk−optimized B+tree Micro−indexing Disk−first fpB+tree Cache−first fpB+tree

´µ Î ÖÝÒ ÙÐÐÓ ØÓÖ× ´µ Î ÖÝÒ Ô ×Þ× ´½¼¼± ÙÐе ÙÖ ½ ÐØÓÒ Ô ÖÓÖÑÒ ×¹ÓÔØÑÞ
  • ¹Ì
Ö׸ Ø× Ø ÑÓ Ú ÑÒ Ø ×
  • Ý
Ö Ø ÓÑÒÒ Ø Óרº × Ø Ó ÙÔ Ô ÓÖØÓÒ× Ó Ø ÖÖ Ý× ÖÓ Û ÖÓÑ ¼± ØÓ ¼±¸ Ø× Óר Ò Ö×׸ Ö×ÙÐØÒ Ò ×ÐÓ Û Ö Ò×ÖØÓÒ ØÑ׺ Å ÖÓ¹ÒÜÒ
  • Ô×
Ø ×Ñ ÐÖ Ö¹ Ö Ý ×ØÖÙ ØÙÖ ÙÒ ØÓÙ
  • Ò
ØÖÓÖ ×Ù«Ö× ÖÓÑ Ø ×Ñ « غ ÀÓ Û Ú Ö¸ Ò Ô
  • ¹Ì
Ö׸ Û
  • ÖÙ
Ø Ø ÑÓ Ú ¹ ÑÒ Ø Óר
  • Ý
Ù×Ò ×ÑÐÐÖ
  • ¹ÓÔØÑÞ
ÒÓ ×¸ Ö×ÙÐØÒ Ò ½ ØÓ ¾¼¹ÓÐ ×Ô ¹ÙÔ׺ Ø ÑÓ Ú ÑÒ Ø ×
  • ÓÑ
Ñ Ù
  • Ð××
ÓרÐÝ ØÒ ×Ö ¸ ÐÒ ØÓ Ø ­Ø ÙÖÚ × ÙÔ ØÖÓÙ ¼± ÙÐк ÏÒ Ø ØÖ× Ö ½¼¼± ÙÐи Ò×ÖØÓÒ× Ù× ÖÕÙÒ Ø Ô ×ÔÐØ×º ÁÒ Ô
  • ¹Ì
Ö׸ Ø Óר Ó
  • Ô
×ÔÐØ × Ö ÑÓÖ ØÒ Ø ÔÖÚÓÙ× Ø ÑÓ Ú ÑÒ Ø Óר¸ Ö¹ ×ÙÐØÒ Ò Ø ÐÖ ÙÑÔ ×Ò Ò Ø ÙÖÚ ×º ÁÒ
  • ¹Ì
Ö× Ò Ñ ÖÓ¹ÒÜÒ¸ Ó Û Ú Ö¸ Ø Ô ×ÔÐØ Óר × ÓÑÔ¹ ÖÐ ØÓ ÓÔ ÝÒ Ð Ó
  • Ô¸
Û
  • ×
Ø
  • Ú
Ö Ø ÑÓ Ú ÑÒ Ø Óר ÓÖ Ò×ÖØÒ Ò ØÓ Ò ÐÑÓר ÙÐÐ Ôº ÙØ ÐØÖ Ò×ÖØÓÒ× Ñ Ý Ø Ð ÑÔØ Ý Ô× ´Ùר ×ÔÐØµ Ò Ò Ò ÙÖ Ð×× Ø ÑÓ Ú ÑÒ Ø¸ Ö×ÙÐØÒ Ò ×ØÖ Ò×ÖØÓÒ ØÑ× Ø Ø ½¼¼± Ô ÓÒ Øº ÙÖ ½¿´µ ×Ó Û× Ò×ÖØÓÒ Ô ÖÓÖÑÒ ÓÒ ÙÐÐ ØÖ× Ó «ÖÒ Ø ×Þ׺ ÓÑÔÖ ØÓ ×¹ÓÔØÑÞ
  • ¹Ì
Ö׸ Ô
  • ¹Ì
Ö×
  • Ú
  • ×Ô
¹ÙÔ× ÖÓÑ º¾ ØÓ ½º¾ ÛÒ Ø Ò ÙÑ
  • Ö
Ó Ò ØÖ× Ò Ð Ô× × Ò Ö× ÖÓÑ ½¼¼Ã ØÓ ½¼Åº Ì× Ö× Ò ×Ô ¹ÙÔ × Ù×
  • Ý
Ø Ò Ö×¹ Ò Ò ÙÑ
  • Ö
Ó Ô ×ÔÐØ× ´ÖÓÑ
  • ØÓ
½¿½ Ð Ô ×ÔÐØ× ÓÖ ×¹ÓÔØÑÞ
  • ¹Ì
Ö׸ Ò ×ÑÐÖ ØÖÒ× ÓÖ ÓØÖ ÒÜ×µº × ÖÙ
  • Ó
Ú ¸ Ò Ö× Ô ×ÔÐØ×
  • Ú
  • Ñ
Ù
  • ÖØÖ
Ô ÖÓÖÑÒ ÑÔ Ø ÓÒ Ô
  • ¹Ì
Ö× ØÒ ÓÒ ×¹ÓÔØÑÞ
  • ¹Ì
Ö× Ò Ñ ÖÓ¹ÒÜÒ¸ ÐÒ ØÓ Ø ×Ô ¹ÙÔ Ö׺ ÙÖ× ½¿´ µ Ò ´µ ÓÑÔÖ Ø Ò×ÖØÓÒ Ô ÖÓÖÑÒ Ú ÖÝÒ Ô ×Þ× ÛÒ ØÖ× Ö ½¼¼± Ò ¼± ÙÐк × Ø Ô ×Þ ÖÓ Û׸ Ø Ü ÙØÓÒ ØÑ× Ó ×¹ÓÔØÑÞ
  • ¹Ì
Ö× Ò Ñ ÖÓ¹ÒÜÒ ÜÔÐÓ
  • Ù×
Ó Ø Óѹ Ò « Ø× Ó ÐÖÖ Ø ÑÓ Ú ÑÒ Ø Ò ÐÖÖ Ô ×ÔÐØ Ó×Ø×º ÁÒ Ô
  • ¹Ì
Ö׸ ØÓÙ Ô ×ÔÐØ Ó×Ø× Ð×Ó Ò Ö׸ ×Ö
  • Ò
Ø ÑÓ Ú ÑÒ Ø Ó×Ø× ÓÒÐÝ Ò ×Ð ØÐÝ ¸
  • ¹
Ù× ÛØ ÐÖÖ Ô ×Þ× ÓÑ× Ø Ú Ò Ø× Ó ÐÖÖ ÓÔØÑÐ ÒÓ
  • ÛØ×º
ÌÖÓÖ Ø ÙÖÚ × Ó Ô
  • ¹Ì
Ö× Ò¹ Ö× Ò ÙÖ ½¿´ µ ÙØ Ö ÐÑÓר ­Ø Ò ´µº ÐØÓØÖ Ò ÙÖ ½¿´ µ Ò ´µ¸ Ô
  • ¹Ì
Ö×
  • Ú
  • ½º½ß¾º¼
Ò ºß¿º ÓÐ ×Ô ¹ÙÔ× Ó Ú Ö ×¹ÓÔØÑÞ
  • ¹Ì
Ö׸ Ö¹ ×Ô ØÚ ÐÝ º ÓÑÔÖÒ Ø Ø Û Ó Ô
  • ¹Ì
Ö׸ Û
  • ×
ØÝ
  • Ú
  • ×ѹ
ÐÖ Ò×ÖØÓÒ Ô ÖÓÖÑÒ º ËÓÑØÑ×
  • ¹¬Öר
Ô
  • ¹Ì
Ö× Ô ÖÓÖÑ Û ÓÖ× ØÒ ×¹¬Öר Ô
  • ¹Ì
Ö׺ Ì× × ÔÖÑÖÐÝ
  • Ù×
Ó Ø ÑÓÖ ÓÑÔÐ Ø ÒÓ »Ô ×ÔÐØ ÓÔ ÖØÓÒ× Ò
  • ¹¬Öר
Ô
  • ¹Ì
Ö׸ × × Ù×× Ò Ë ØÓÒ ¿º¾º

4.2.3 Deletion Performance

ÐØÓÒ× Ö ÑÔÐÑÒ Ø × ÐÞÝ ÐØÓÒ× Ò ÐÐ Ø Ò¹

200 400 600 800 1000 1200 simulation time (M cycles) Disk−optimized B+tree Disk−first fpB+tree Cache−first fpB+tree

ÙÖ ½ ÊÒ × Ò Ô ÖÓÖÑÒ ´½Ã Ô¸ × ÒÒÒ ½Å
  • Ý×µ

10 20 30 40 50 page size space overhead (percentage) 4KB 8KB 16KB 32KB Disk−first fpB+tree Cache−first fpB+tree 10 20 30 40 50 page size space overhead (percentage) 4KB 8KB 16KB 32KB Disk−first fpB+tree Cache−first fpB+tree

´µ ØÖ ÙÐÐÓÒ ØÖ× ½¼¼± ÙÐÐ ´µ ÅØÙÖ ØÖ× ÙÖ ½ ËÔ Ó Ú Ö Ü׺
  • ×Ö
  • ×
ÓÐÐÓ Û
  • Ý
  • Ø
ÑÓ Ú ÑÒ Ø ÓÔ ÖØÓÒ ØÓ ÖÑÓ Ú
  • Ø
ÐØ Ò ØÖÝ ¸ ÙØ Û
  • Ó
ÒÓØ ÑÖ ÙÒÖ­Ó Û
  • Ô×
ÓÖ ÒÓ ×º ÙÖ ½ Ú ÐÙØ× ÐØÓÒ Ô ÖÓÖÑÒ ´ÓÖ ¾¼¼¼ ÖÒÓÑ ÐØÓÒ×µ Ò Ø Û Ó ×ØØÒ× ´µ Ú ÖÝÒ Ø ÙÐÐÓ ØÓÖ ÛÒ Ø Ô ×Þ × ½Ã¸ Ò ´µ Ú ÖÝÒ Ø Ô ×Þ× ÛÒ Ø ØÖ× Ö ½¼¼± ÙÐк Ì ÓÑÒÒ Ø Óר Ò ×¹ÓÔØÑÞ
  • ¹Ì
Ö× Ò Ñ ÖÓ¹ÒÜÒ × Ø Ø ÑÓ Ú ÑÒ Ø Óר¸ Û
  • Ò Ö××
× Ø ÙÐÐÓ ØÓÖ Ò Ö×× Ò Ø Ô ×Þ ÖÓ Û׺ ÀÓ Û Ú Ö¸ Ø ×Ö
  • Ò
Ø ÑÓ Ú ÑÒ Ø Ó×Ø× Ó Ô
  • ¹Ì
Ö× ÓÒÐÝ Ò ×Ð ØÐÝ º ËÓ Ø Ô
  • ¹Ì
Ö×
  • Ú
  • ¿º¾ß¾¼º
ÓÐ ×Ô ¹ÙÔ× Ó Ú Ö ×¹ ÓÔØÑÞ
  • ¹Ì
Ö׺

4.2.4 Range Scan Performance

ÙÖ ½ ÓÑÔÖ× Ø ÖÒ × Ò
  • Ô
ÖÓÖÑÒ Ó Ô
  • ¹Ì
Ö× Ò ×¹ÓÔØÑÞ
  • ¹Ì
Ö׺ Ì ØÖ× Ö ÙÐÐÓ ÛØ ¿Å
  • Ý׸
Ù×Ò
  • ½¼¼±
ÙÐÐÓ ØÓÖº Ï
  • ÒÖØ
½¼¼ ÖÒÓÑ ×ØÖØ
  • Ý׸
ÓÖ
  • ÓÑÔÙØÒ
Ò Ò
  • Ý
×Ù
  • ØØ
Ø ÖÒ ×ÔÒ× ÔÖ ×ÐÝ ½Å ØÙÔÐ Á׸ Ò ØÒ Ô ÖÓÖÑ Ø× ½¼¼ ÖÒ × Ò× ÓÒ ØÖ ÒÓØÖº ÓÑÔÖ ØÓ Ø ×¹ÓÔØÑÞ
  • ¹Ì
Ö׸ Ø ×¹¬Öר Ò
  • ¹¬Öר
Ô
  • ¹Ì
Ö×
  • Ú
  • ×Ô
¹ÙÔ× Ó º¾ Ò ¿º¸ Ö¹ ×Ô ØÚ ÐÝ º

4.3 I/O Performance and Space Overhead

ËÔ ÇÚ Öº ÙÖ ½ ×Ó Û× Ø ×Ô Ó Ú Ö
  • Ó
Ø Ô
  • ¹Ì
Ö× ÓÑÔÖ ØÓ ×¹ÓÔØÑÞ
  • ¹Ì
Ö× ÓÖ
  • ÖÒ
Ó Ô ×Þ׸ Ô ØÒ Ø Û Ó ´ÜØÖÑе × ÒÖÓ× ´µ ÑÑØÐÝ ØÖ ÙÐÐÓÒ Ø ØÖ× ½¼¼± ÙÐи Ò ´µ ØÖ Ò×ÖØÒ Å
  • Ý×
Ò ØÓ ØÖ× ÙÐÐÓ ÛØ ½Å
  • Ý׺
Ï
  • ×
ØØ Ò
  • Ó
Ø× × ÒÖÓ׸ ×¹¬Öר Ô
  • ¹
Ì Ö× Ò ÙÖ Ð×× ØÒ
  • ±
Ó Ú Öº ÁÒ
  • ¹¬Öר
Ô
  • ¹
Ì Ö׸ Ø ×Ô Ó Ú Ö × Ð×× ØÒ ± ÙÒÖ × ÒÖÓ ´µ¸ Ú Ò
  • ØØÖ
ØÒ ×¹¬Öר Ô
  • ¹Ì
Ö׺ Ì× ×
  • Ù×
  • ËÔ
ÇÚ Ö
  • Ó
Ô× Ò Ø ÒÜ
  • Ó
Ô× Ò
  • ×¹ÓÔØÑÞ
  • ¹Ì
Ö
  • ½
slide-31
SLIDE 31

Introduction Optimizing I/O Performance Optimizing Cache Performance Evaluation Discussion

Space Overhead

a) Bulkload 10M keys. b) Insert 9M keys and bulkload 1M keys.

60 70 80 90 100 5 10 15 20 25 30 bulkload factor (16KB page) execution time (M cycles) Disk−optimized B+tree Micro−indexing Disk−first fpB+tree Cache−first fpB+tree 10 20 30 40 50 (3M entries in leaf pages, 100% full) execution time (M cycles) 4KB 8KB 16KB 32KB Disk−optimized B+tree Micro−indexing Disk−first fpB+tree Cache−first fpB+tree

´µ Î ÖÝÒ ÙÐÐÓ ØÓÖ× ´µ Î ÖÝÒ Ô ×Þ× ´½¼¼± ÙÐе ÙÖ ½ ÐØÓÒ Ô ÖÓÖÑÒ ×¹ÓÔØÑÞ
  • ¹Ì
Ö׸ Ø× Ø ÑÓ Ú ÑÒ Ø ×
  • Ý
Ö Ø ÓÑÒÒ Ø Óרº × Ø Ó ÙÔ Ô ÓÖØÓÒ× Ó Ø ÖÖ Ý× ÖÓ Û ÖÓÑ ¼± ØÓ ¼±¸ Ø× Óר Ò Ö×׸ Ö×ÙÐØÒ Ò ×ÐÓ Û Ö Ò×ÖØÓÒ ØÑ׺ Å ÖÓ¹ÒÜÒ
  • Ô×
Ø ×Ñ ÐÖ Ö¹ Ö Ý ×ØÖÙ ØÙÖ ÙÒ ØÓÙ
  • Ò
ØÖÓÖ ×Ù«Ö× ÖÓÑ Ø ×Ñ « غ ÀÓ Û Ú Ö¸ Ò Ô
  • ¹Ì
Ö׸ Û
  • ÖÙ
Ø Ø ÑÓ Ú ¹ ÑÒ Ø Óר
  • Ý
Ù×Ò ×ÑÐÐÖ
  • ¹ÓÔØÑÞ
ÒÓ ×¸ Ö×ÙÐØÒ Ò ½ ØÓ ¾¼¹ÓÐ ×Ô ¹ÙÔ׺ Ø ÑÓ Ú ÑÒ Ø ×
  • ÓÑ
Ñ Ù
  • Ð××
ÓרÐÝ ØÒ ×Ö ¸ ÐÒ ØÓ Ø ­Ø ÙÖÚ × ÙÔ ØÖÓÙ ¼± ÙÐк ÏÒ Ø ØÖ× Ö ½¼¼± ÙÐи Ò×ÖØÓÒ× Ù× ÖÕÙÒ Ø Ô ×ÔÐØ×º ÁÒ Ô
  • ¹Ì
Ö׸ Ø Óר Ó
  • Ô
×ÔÐØ × Ö ÑÓÖ ØÒ Ø ÔÖÚÓÙ× Ø ÑÓ Ú ÑÒ Ø Óר¸ Ö¹ ×ÙÐØÒ Ò Ø ÐÖ ÙÑÔ ×Ò Ò Ø ÙÖÚ ×º ÁÒ
  • ¹Ì
Ö× Ò Ñ ÖÓ¹ÒÜÒ¸ Ó Û Ú Ö¸ Ø Ô ×ÔÐØ Óר × ÓÑÔ¹ ÖÐ ØÓ ÓÔ ÝÒ Ð Ó
  • Ô¸
Û
  • ×
Ø
  • Ú
Ö Ø ÑÓ Ú ÑÒ Ø Óר ÓÖ Ò×ÖØÒ Ò ØÓ Ò ÐÑÓר ÙÐÐ Ôº ÙØ ÐØÖ Ò×ÖØÓÒ× Ñ Ý Ø Ð ÑÔØ Ý Ô× ´Ùר ×ÔÐØµ Ò Ò Ò ÙÖ Ð×× Ø ÑÓ Ú ÑÒ Ø¸ Ö×ÙÐØÒ Ò ×ØÖ Ò×ÖØÓÒ ØÑ× Ø Ø ½¼¼± Ô ÓÒ Øº ÙÖ ½¿´µ ×Ó Û× Ò×ÖØÓÒ Ô ÖÓÖÑÒ ÓÒ ÙÐÐ ØÖ× Ó «ÖÒ Ø ×Þ׺ ÓÑÔÖ ØÓ ×¹ÓÔØÑÞ
  • ¹Ì
Ö׸ Ô
  • ¹Ì
Ö×
  • Ú
  • ×Ô
¹ÙÔ× ÖÓÑ º¾ ØÓ ½º¾ ÛÒ Ø Ò ÙÑ
  • Ö
Ó Ò ØÖ× Ò Ð Ô× × Ò Ö× ÖÓÑ ½¼¼Ã ØÓ ½¼Åº Ì× Ö× Ò ×Ô ¹ÙÔ × Ù×
  • Ý
Ø Ò Ö×¹ Ò Ò ÙÑ
  • Ö
Ó Ô ×ÔÐØ× ´ÖÓÑ
  • ØÓ
½¿½ Ð Ô ×ÔÐØ× ÓÖ ×¹ÓÔØÑÞ
  • ¹Ì
Ö׸ Ò ×ÑÐÖ ØÖÒ× ÓÖ ÓØÖ ÒÜ×µº × ÖÙ
  • Ó
Ú ¸ Ò Ö× Ô ×ÔÐØ×
  • Ú
  • Ñ
Ù
  • ÖØÖ
Ô ÖÓÖÑÒ ÑÔ Ø ÓÒ Ô
  • ¹Ì
Ö× ØÒ ÓÒ ×¹ÓÔØÑÞ
  • ¹Ì
Ö× Ò Ñ ÖÓ¹ÒÜÒ¸ ÐÒ ØÓ Ø ×Ô ¹ÙÔ Ö׺ ÙÖ× ½¿´ µ Ò ´µ ÓÑÔÖ Ø Ò×ÖØÓÒ Ô ÖÓÖÑÒ Ú ÖÝÒ Ô ×Þ× ÛÒ ØÖ× Ö ½¼¼± Ò ¼± ÙÐк × Ø Ô ×Þ ÖÓ Û׸ Ø Ü ÙØÓÒ ØÑ× Ó ×¹ÓÔØÑÞ
  • ¹Ì
Ö× Ò Ñ ÖÓ¹ÒÜÒ ÜÔÐÓ
  • Ù×
Ó Ø Óѹ Ò « Ø× Ó ÐÖÖ Ø ÑÓ Ú ÑÒ Ø Ò ÐÖÖ Ô ×ÔÐØ Ó×Ø×º ÁÒ Ô
  • ¹Ì
Ö׸ ØÓÙ Ô ×ÔÐØ Ó×Ø× Ð×Ó Ò Ö׸ ×Ö
  • Ò
Ø ÑÓ Ú ÑÒ Ø Ó×Ø× ÓÒÐÝ Ò ×Ð ØÐÝ ¸
  • ¹
Ù× ÛØ ÐÖÖ Ô ×Þ× ÓÑ× Ø Ú Ò Ø× Ó ÐÖÖ ÓÔØÑÐ ÒÓ
  • ÛØ×º
ÌÖÓÖ Ø ÙÖÚ × Ó Ô
  • ¹Ì
Ö× Ò¹ Ö× Ò ÙÖ ½¿´ µ ÙØ Ö ÐÑÓר ­Ø Ò ´µº ÐØÓØÖ Ò ÙÖ ½¿´ µ Ò ´µ¸ Ô
  • ¹Ì
Ö×
  • Ú
  • ½º½ß¾º¼
Ò ºß¿º ÓÐ ×Ô ¹ÙÔ× Ó Ú Ö ×¹ÓÔØÑÞ
  • ¹Ì
Ö׸ Ö¹ ×Ô ØÚ ÐÝ º ÓÑÔÖÒ Ø Ø Û Ó Ô
  • ¹Ì
Ö׸ Û
  • ×
ØÝ
  • Ú
  • ×ѹ
ÐÖ Ò×ÖØÓÒ Ô ÖÓÖÑÒ º ËÓÑØÑ×
  • ¹¬Öר
Ô
  • ¹Ì
Ö× Ô ÖÓÖÑ Û ÓÖ× ØÒ ×¹¬Öר Ô
  • ¹Ì
Ö׺ Ì× × ÔÖÑÖÐÝ
  • Ù×
Ó Ø ÑÓÖ ÓÑÔÐ Ø ÒÓ »Ô ×ÔÐØ ÓÔ ÖØÓÒ× Ò
  • ¹¬Öר
Ô
  • ¹Ì
Ö׸ × × Ù×× Ò Ë ØÓÒ ¿º¾º

4.2.3 Deletion Performance

ÐØÓÒ× Ö ÑÔÐÑÒ Ø × ÐÞÝ ÐØÓÒ× Ò ÐÐ Ø Ò¹

200 400 600 800 1000 1200 simulation time (M cycles) Disk−optimized B+tree Disk−first fpB+tree Cache−first fpB+tree

ÙÖ ½ ÊÒ × Ò Ô ÖÓÖÑÒ ´½Ã Ô¸ × ÒÒÒ ½Å
  • Ý×µ

10 20 30 40 50 page size space overhead (percentage) 4KB 8KB 16KB 32KB Disk−first fpB+tree Cache−first fpB+tree 10 20 30 40 50 page size space overhead (percentage) 4KB 8KB 16KB 32KB Disk−first fpB+tree Cache−first fpB+tree

´µ ØÖ ÙÐÐÓÒ ØÖ× ½¼¼± ÙÐÐ ´µ ÅØÙÖ ØÖ× ÙÖ ½ ËÔ Ó Ú Ö Ü׺
  • ×Ö
  • ×
ÓÐÐÓ Û
  • Ý
  • Ø
ÑÓ Ú ÑÒ Ø ÓÔ ÖØÓÒ ØÓ ÖÑÓ Ú
  • Ø
ÐØ Ò ØÖÝ ¸ ÙØ Û
  • Ó
ÒÓØ ÑÖ ÙÒÖ­Ó Û
  • Ô×
ÓÖ ÒÓ ×º ÙÖ ½ Ú ÐÙØ× ÐØÓÒ Ô ÖÓÖÑÒ ´ÓÖ ¾¼¼¼ ÖÒÓÑ ÐØÓÒ×µ Ò Ø Û Ó ×ØØÒ× ´µ Ú ÖÝÒ Ø ÙÐÐÓ ØÓÖ ÛÒ Ø Ô ×Þ × ½Ã¸ Ò ´µ Ú ÖÝÒ Ø Ô ×Þ× ÛÒ Ø ØÖ× Ö ½¼¼± ÙÐк Ì ÓÑÒÒ Ø Óר Ò ×¹ÓÔØÑÞ
  • ¹Ì
Ö× Ò Ñ ÖÓ¹ÒÜÒ × Ø Ø ÑÓ Ú ÑÒ Ø Óר¸ Û
  • Ò Ö××
× Ø ÙÐÐÓ ØÓÖ Ò Ö×× Ò Ø Ô ×Þ ÖÓ Û׺ ÀÓ Û Ú Ö¸ Ø ×Ö
  • Ò
Ø ÑÓ Ú ÑÒ Ø Ó×Ø× Ó Ô
  • ¹Ì
Ö× ÓÒÐÝ Ò ×Ð ØÐÝ º ËÓ Ø Ô
  • ¹Ì
Ö×
  • Ú
  • ¿º¾ß¾¼º
ÓÐ ×Ô ¹ÙÔ× Ó Ú Ö ×¹ ÓÔØÑÞ
  • ¹Ì
Ö׺

4.2.4 Range Scan Performance

ÙÖ ½ ÓÑÔÖ× Ø ÖÒ × Ò
  • Ô
ÖÓÖÑÒ Ó Ô
  • ¹Ì
Ö× Ò ×¹ÓÔØÑÞ
  • ¹Ì
Ö׺ Ì ØÖ× Ö ÙÐÐÓ ÛØ ¿Å
  • Ý׸
Ù×Ò
  • ½¼¼±
ÙÐÐÓ ØÓÖº Ï
  • ÒÖØ
½¼¼ ÖÒÓÑ ×ØÖØ
  • Ý׸
ÓÖ
  • ÓÑÔÙØÒ
Ò Ò
  • Ý
×Ù
  • ØØ
Ø ÖÒ ×ÔÒ× ÔÖ ×ÐÝ ½Å ØÙÔÐ Á׸ Ò ØÒ Ô ÖÓÖÑ Ø× ½¼¼ ÖÒ × Ò× ÓÒ ØÖ ÒÓØÖº ÓÑÔÖ ØÓ Ø ×¹ÓÔØÑÞ
  • ¹Ì
Ö׸ Ø ×¹¬Öר Ò
  • ¹¬Öר
Ô
  • ¹Ì
Ö×
  • Ú
  • ×Ô
¹ÙÔ× Ó º¾ Ò ¿º¸ Ö¹ ×Ô ØÚ ÐÝ º

4.3 I/O Performance and Space Overhead

ËÔ ÇÚ Öº ÙÖ ½ ×Ó Û× Ø ×Ô Ó Ú Ö
  • Ó
Ø Ô
  • ¹Ì
Ö× ÓÑÔÖ ØÓ ×¹ÓÔØÑÞ
  • ¹Ì
Ö× ÓÖ
  • ÖÒ
Ó Ô ×Þ׸ Ô ØÒ Ø Û Ó ´ÜØÖÑе × ÒÖÓ× ´µ ÑÑØÐÝ ØÖ ÙÐÐÓÒ Ø ØÖ× ½¼¼± ÙÐи Ò ´µ ØÖ Ò×ÖØÒ Å
  • Ý×
Ò ØÓ ØÖ× ÙÐÐÓ ÛØ ½Å
  • Ý׺
Ï
  • ×
ØØ Ò
  • Ó
Ø× × ÒÖÓ׸ ×¹¬Öר Ô
  • ¹
Ì Ö× Ò ÙÖ Ð×× ØÒ
  • ±
Ó Ú Öº ÁÒ
  • ¹¬Öר
Ô
  • ¹
Ì Ö׸ Ø ×Ô Ó Ú Ö × Ð×× ØÒ ± ÙÒÖ × ÒÖÓ ´µ¸ Ú Ò
  • ØØÖ
ØÒ ×¹¬Öר Ô
  • ¹Ì
Ö׺ Ì× ×
  • Ù×
  • ËÔ
ÇÚ Ö
  • Ó
Ô× Ò Ø ÒÜ
  • Ó
Ô× Ò
  • ×¹ÓÔØÑÞ
  • ¹Ì
Ö
  • ½
slide-32
SLIDE 32

Introduction Optimizing I/O Performance Optimizing Cache Performance Evaluation Discussion

Discussions

  • Too hard to implement (compare to micro-indexing). Insertion is expensive

anyway.

  • Concurrency problem. Lock at node level or page level? Fine grain or coarse

grain?

  • Logging issue? How to guarantee consistency of this data structure.
  • Missing real word benchmark for search/insert/delete.