Reducing the Storage Overhead of Main-Memory OLTP Databases with
Hybrid Indexes
Huanchen Zhang
C
- a
u t h
- r
s :
D a v i d G . A n d e r s e n A n d r e w P a v l
- M
i c h a e l K a m i n s k y L i n M a R u i S h e n
Hybrid Indexes D a v i d G . A n d e r s e n A n d - - PowerPoint PPT Presentation
Reducing the Storage Overhead of Main-Memory OLTP Databases with C o - a u t h o r s : Hybrid Indexes D a v i d G . A n d e r s e n A n d r e w P a v l o M i c h a e l K a m i n s k y Huanchen
C
u t h
s :
D a v i d G . A n d e r s e n A n d r e w P a v l
i c h a e l K a m i n s k y L i n M a R u i S h e n
You are running out of memory
2
You are running out of memory
2
Buy more
You are running out of memory
2
2M 4M 6M 8M 10M 20K 60K
3
Disk tuples In-memory tuples Indexes
4 8 Memory Limit = 5GB
4
5
Benchmark % space for index
6
7
2M 4M 6M 8M 10M 20K 60K
TPC-C on
8
9
dynamic stage static stage
10
dynamic stage static stage write merge
11
dynamic stage static stage read read
12
dynamic stage static stage read read
13
dynamic stage static stage read read write merge Memory-efficient Skew-aware
14
dynamic stage static stage merge
15
16
2 4 4 1 2 a b 6 8 10 3 c 4 d 5 5 e f 5 g 6 h 7 i 8 j 9 k 10 l 11 m 12 n
17
1 2 3 a b c 4 5 6 d h 7 8 9 i j k 10 11 12 l m n e f g 3 6 9 17
1 2 3 a b c 4 5 6 d h 7 8 9 i j k 10 11 12 l m n e f g 3 6 9
18
2 4 4 1 2 a b 6 8 10 3 4 c d 5 5 e f 5 6 g h 7 8 i j 9 10 k l 11 12 m n 1 2 3 a b c 4 5 6 d h 7 8 9 i j k 10 11 12 l m n e f g 3 6 9 18
dynamic stage static stage merge
19
? ? ?
2M 4M 6M 8M 10M 20K 60K
TPC-C on
B+tree
20
2M 4M 6M 8M 10M 20K 60K
60K 20K
TPC-C on
B+tree Hybrid
20
Transactions Executed Throughput (txn/s)
20K 60K 20K 60K
Memory (GB)
2M 4M 6M 8M 10M
4 4 8 8
B+tree Hybrid B+tree Hybrid Disk tuples In-memory tuples Indexes
21
Transactions Executed Throughput (txn/s)
20K 60K 20K 60K
Memory (GB)
2M 4M 6M 8M 10M
4 4 8 8
B+tree Hybrid B+tree Hybrid Disk tuples In-memory tuples Indexes
21
Transactions Executed Throughput (txn/s)
20K 60K 20K 60K
Memory (GB)
2M 4M 6M 8M 10M
4 4 8 8
B+tree Hybrid B+tree Hybrid Disk tuples In-memory tuples Indexes
21
Transactions Executed Throughput (txn/s)
20K 60K 20K 60K
Memory (GB)
2M 4M 6M 8M 10M
4 4 8 8
B+tree Hybrid B+tree Hybrid Disk tuples In-memory tuples Indexes
21
Transactions Executed Throughput (txn/s)
20K 60K 20K 60K
Memory (GB)
2M 4M 6M 8M 10M
4 4 8 8
B+tree Hybrid B+tree Hybrid Disk tuples In-memory tuples Indexes
21
22
23