Approximate ¡Indexing ¡with ¡BF-‑Trees* A ¡RUM ¡access ¡method
Manos ¡Athanassoulis* ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡Anastasia ¡Ailamaki Harvard ¡SEAS ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡EPFL
*work ¡done ¡while ¡at ¡EPFL
Approximate Indexing with BF-Trees* A RUM access method Manos - - PowerPoint PPT Presentation
Approximate Indexing with BF-Trees* A RUM access method Manos Athanassoulis* Anastasia Ailamaki Harvard SEAS
*work ¡done ¡while ¡at ¡EPFL
2
3
4
5
6
LA-‑Tree ¡[PVLDB09] FD-‑Tree ¡[PVLDB10] μ-‑Tree ¡[EMSOFT10] SILT ¡[SOSP11] MaSM [SIGMOD11] PIO ¡B-‑Tree ¡[PVLDB11] Bw-‑Tree ¡[ICDE13]
7
Better Better
8
9
LA-‑Tree ¡[PVLDB09] FD-‑Tree ¡[PVLDB10] μ-‑Tree ¡[EMSOFT10] SILT ¡[SOSP11] MaSM [SIGMOD11] PIO ¡B-‑Tree ¡[PVLDB11] Bw-‑Tree ¡[ICDE13]
10
11
12
13
14
15
16
Partition ¡Pj with ¡k ¡pages
min:1 max: ¡8
17
Partition ¡Pj with ¡k ¡pages
min:1 max: ¡8
18
Partition ¡Pj with ¡k ¡pages
min:1 max: ¡8
19
Partition ¡Pj with ¡k ¡pages
min:1 max: ¡8
20
Partition ¡Pj with ¡k ¡pages
min:1 max: ¡8
min:1 max: ¡8
21
Partition ¡Pj with ¡k ¡pages
22
Partition ¡Pj with ¡k ¡pages
min:1 max: ¡8
23
Partition ¡Pj with ¡k ¡pages
min:1 max: ¡8
24
1GB ¡synthetic with ¡256b ¡tuples ¡and ¡8b ¡keys 30GB ¡TPCH ¡(SF30) Smart ¡Home ¡Dataset ¡(SHD)
Point ¡queries ¡(PK ¡or ¡TPCH ¡date ¡or ¡energy ¡level)
mem/SSD mem/HDD SSD/SSD SSD/HDD HDD/HDD
25
1.E-‑01 1.E+00 1.E+01 1.E+02 1.00E-‑15 1.00E-‑12 1.00E-‑09 1.00E-‑06 1.00E-‑03 1.00E+00
Response ¡time ¡(ms)
mem/SSD mem/HDD SSD/SSD SSD/HDD HDD/HDD
false ¡positive ¡probability; ¡storage ¡configuration
26 false ¡positive ¡probability
1.E-‑01 1.E+00 1.E+01 1.E+02
B+-‑Tree ¡Latency
Tuplesize: ¡256 ¡bytes Keysize: ¡8 ¡bytes
Bigger ¡Tree ¡Size
1.E-‑01 1.E+00 1.E+01 1.E+02 1.00E-‑15 1.00E-‑12 1.00E-‑09 1.00E-‑06 1.00E-‑03 1.00E+00
Response ¡time ¡(ms)
mem/SSD mem/HDD SSD/SSD SSD/HDD HDD/HDD
false ¡positive ¡probability; ¡storage ¡configuration
27 false ¡positive ¡probability
1.E-‑01 1.E+00 1.E+01 1.E+02
B+-‑Tree ¡Latency
Tuplesize: ¡256 ¡bytes Keysize: ¡8 ¡bytes
Bigger ¡Tree ¡Size
Data ¡location ¡ matters ¡most Both ¡data/index ¡ locations ¡matter
false ¡positive ¡probability; ¡storage ¡configuration
1.E-‑01 1.E+00 1.E+01 1.E+02
mem/SSD mem/HDD SSD/SSD SSD/HDD HDD/HDD
Response ¡time ¡(ms) Solid: B+-‑Tree Pattern: BF-‑Tree ¡(best)
28
Tuplesize: ¡256 ¡bytes Keysize: ¡8 ¡bytes
3.8x ¡ smaller ¡size 12.2x 19.4x
false ¡positive ¡probability; ¡storage ¡configuration
1.E-‑01 1.E+00 1.E+01 1.E+02
mem/SSD mem/HDD SSD/SSD SSD/HDD HDD/HDD
Response ¡time ¡(ms) Solid: B+-‑Tree Pattern: BF-‑Tree ¡(best)
29
Tuplesize: ¡256 ¡bytes Keysize: ¡8 ¡bytes
3.8x ¡ smaller ¡size
12.2x 19.4x
30 0.25 6.2 0.7 6.2 22 0.31 6.0 0.6 6.2 16
1 2 3 4
1.E-‑01 1.E+00 1.E+01 1.E+02
mem/SSD mem/HDD SSD/SSD SSD/HDD HDD/HDD
Capacity ¡Gain Response ¡time ¡(ms) Solid: B+-‑Tree Pattern: BF-‑Tree ¡(best)
31
1 2 3 4 5 6 7 8 9 0% 5% 10% 25%
BF ¡normalized ¡resp. ¡time ¡with ¡B+Tree Probe ¡hit ¡rate
mem/SSD mem/HDD SSD/SSD SSD/HDD HDD/HDD
BF-‑Tree ¡is ¡always ¡faster ¡for ¡low ¡hit ¡rate High ¡hit ¡rate: ¡B+ ¡Tree ¡is ¡faster Data ¡on ¡HDD ¡à High ¡overhead ¡(unless ¡index ¡is ¡slow) Index ¡perf. ¡≈ ¡data ¡perf. ¡à Low ¡overhead
Cardinality: ¡2k ¡values
32
33
LA-‑Tree ¡[PVLDB09] FD-‑Tree ¡[PVLDB10] μ-‑Tree ¡[EMSOFT10] SILT ¡[SOSP11] MaSM [SIGMOD11] PIO ¡B-‑Tree ¡[PVLDB11] Bw-‑Tree ¡[ICDE13]
34