write amplification: an analysis of in-memory database durability techniques

73
Write Amplification: An Analysis of In-Memory Database Durability Techniques Jaemyung Kim, Kenneth Salem, Khuzaima Daudjee University of Waterloo IMDM 2015

Upload: jaemyung-kim

Post on 22-Jan-2018

157 views

Category:

Software


0 download

TRANSCRIPT

Page 1: Write Amplification: An Analysis of In-Memory Database Durability Techniques

Write Amplification: An Analysis of In-MemoryDatabase Durability Techniques

Jaemyung Kim, Kenneth Salem, Khuzaima Daudjee

University of Waterloo

IMDM 2015

Page 2: Write Amplification: An Analysis of In-Memory Database Durability Techniques

Durability Matters

OLTP IMDB

I/O is unavoidable!(ACID, Durability)

Orders of magnitude faster!

Write I/O efficiency of in-memoryDBMS is an important issue.

cliparts from openclipart.org

2

Page 3: Write Amplification: An Analysis of In-Memory Database Durability Techniques

Durability Matters

OLTP IMDB

I/O is unavoidable!(ACID, Durability)

Orders of magnitude faster!

Write I/O efficiency of in-memoryDBMS is an important issue.

cliparts from openclipart.org

2

Page 4: Write Amplification: An Analysis of In-Memory Database Durability Techniques

Durability Matters

OLTP IMDB

I/O is unavoidable!(ACID, Durability)

Orders of magnitude faster!

Write I/O efficiency of in-memoryDBMS is an important issue.

cliparts from openclipart.org

2

Page 5: Write Amplification: An Analysis of In-Memory Database Durability Techniques

Durability Matters

OLTP IMDB

I/O is unavoidable!(ACID, Durability)

Orders of magnitude faster!

Write I/O efficiency of in-memoryDBMS is an important issue.

cliparts from openclipart.org

2

Page 6: Write Amplification: An Analysis of In-Memory Database Durability Techniques

Write Amplification?

In-memory Database

Persistent Storage

On-diskDatabase

λ P

λ

Application

I/O Per Update = λPλ

3

Page 7: Write Amplification: An Analysis of In-Memory Database Durability Techniques

Write Amplification?

In-memory Database

Persistent Storage

On-diskDatabase

λ P

λ

Application

I/O Per Update = λPλ

3

Page 8: Write Amplification: An Analysis of In-Memory Database Durability Techniques

Goal of Write Amplification Model

Quantify and compare the I/O efficiency of the persistentstorage management schemes

Provide us with some insight into the different natures ofupdate-in-place and copy-on-write storage managers

Lower cost for operating a database management system(contributed by improved I/O efficiency)

Lead to better system performance in situations that I/Ocapacity is constrained (restart recovery)

The following is not our goals:

Emulate a specific storage manager implementationCompare specific implemenations: e.g., Hekaton is better thanH-Store

4

Page 9: Write Amplification: An Analysis of In-Memory Database Durability Techniques

Goal of Write Amplification Model

Quantify and compare the I/O efficiency of the persistentstorage management schemes

Provide us with some insight into the different natures ofupdate-in-place and copy-on-write storage managers

Lower cost for operating a database management system(contributed by improved I/O efficiency)

Lead to better system performance in situations that I/Ocapacity is constrained (restart recovery)

The following is not our goals:

Emulate a specific storage manager implementationCompare specific implemenations: e.g., Hekaton is better thanH-Store

4

Page 10: Write Amplification: An Analysis of In-Memory Database Durability Techniques

Goal of Write Amplification Model

Quantify and compare the I/O efficiency of the persistentstorage management schemes

Provide us with some insight into the different natures ofupdate-in-place and copy-on-write storage managers

Lower cost for operating a database management system(contributed by improved I/O efficiency)

Lead to better system performance in situations that I/Ocapacity is constrained (restart recovery)

The following is not our goals:

Emulate a specific storage manager implementationCompare specific implemenations: e.g., Hekaton is better thanH-Store

4

Page 11: Write Amplification: An Analysis of In-Memory Database Durability Techniques

Goal of Write Amplification Model

Quantify and compare the I/O efficiency of the persistentstorage management schemes

Provide us with some insight into the different natures ofupdate-in-place and copy-on-write storage managers

Lower cost for operating a database management system(contributed by improved I/O efficiency)

Lead to better system performance in situations that I/Ocapacity is constrained (restart recovery)

The following is not our goals:

Emulate a specific storage manager implementationCompare specific implemenations: e.g., Hekaton is better thanH-Store

4

Page 12: Write Amplification: An Analysis of In-Memory Database Durability Techniques

Goal of Write Amplification Model

Quantify and compare the I/O efficiency of the persistentstorage management schemes

Provide us with some insight into the different natures ofupdate-in-place and copy-on-write storage managers

Lower cost for operating a database management system(contributed by improved I/O efficiency)

Lead to better system performance in situations that I/Ocapacity is constrained (restart recovery)

The following is not our goals:

Emulate a specific storage manager implementationCompare specific implemenations: e.g., Hekaton is better thanH-Store

4

Page 13: Write Amplification: An Analysis of In-Memory Database Durability Techniques

Goal of Write Amplification Model

Quantify and compare the I/O efficiency of the persistentstorage management schemes

Provide us with some insight into the different natures ofupdate-in-place and copy-on-write storage managers

Lower cost for operating a database management system(contributed by improved I/O efficiency)

Lead to better system performance in situations that I/Ocapacity is constrained (restart recovery)

The following is not our goals:

Emulate a specific storage manager implementationCompare specific implemenations: e.g., Hekaton is better thanH-Store

4

Page 14: Write Amplification: An Analysis of In-Memory Database Durability Techniques

Goal of Write Amplification Model

Quantify and compare the I/O efficiency of the persistentstorage management schemes

Provide us with some insight into the different natures ofupdate-in-place and copy-on-write storage managers

Lower cost for operating a database management system(contributed by improved I/O efficiency)

Lead to better system performance in situations that I/Ocapacity is constrained (restart recovery)

The following is not our goals:

Emulate a specific storage manager implementationCompare specific implemenations: e.g., Hekaton is better thanH-Store

4

Page 15: Write Amplification: An Analysis of In-Memory Database Durability Techniques

Architectural Diversity in IMDB SM

Two broad classes: Update In-Place and Copy-On-Write

Update In-Place (UIP)UIP: conventional page-based (e.g., Shore-MT)

random writes for checkpointingdevice sensitive: e.g., HDD vs. SSD

UIP-S: snapshot checkpointing (e.g., H-Store, SiloR)

Copy-On-Write (COW)

COW-D: logging only (log-structured) database (e.g.,Hekaton)COW-M: log-structured memory and disk datbases (e.g.,RAMCloud)

5

Page 16: Write Amplification: An Analysis of In-Memory Database Durability Techniques

Architectural Diversity in IMDB SM

Two broad classes: Update In-Place and Copy-On-Write

Update In-Place (UIP)UIP: conventional page-based (e.g., Shore-MT)

random writes for checkpointingdevice sensitive: e.g., HDD vs. SSD

UIP-S: snapshot checkpointing (e.g., H-Store, SiloR)

Copy-On-Write (COW)

COW-D: logging only (log-structured) database (e.g.,Hekaton)COW-M: log-structured memory and disk datbases (e.g.,RAMCloud)

5

Page 17: Write Amplification: An Analysis of In-Memory Database Durability Techniques

Architectural Diversity in IMDB SM

Two broad classes: Update In-Place and Copy-On-Write

Update In-Place (UIP)UIP: conventional page-based (e.g., Shore-MT)

random writes for checkpointingdevice sensitive: e.g., HDD vs. SSD

UIP-S: snapshot checkpointing (e.g., H-Store, SiloR)

Copy-On-Write (COW)

COW-D: logging only (log-structured) database (e.g.,Hekaton)COW-M: log-structured memory and disk datbases (e.g.,RAMCloud)

5

Page 18: Write Amplification: An Analysis of In-Memory Database Durability Techniques

Architectural Diversity in IMDB SM

Two broad classes: Update In-Place and Copy-On-Write

Update In-Place (UIP)UIP: conventional page-based (e.g., Shore-MT)

random writes for checkpointingdevice sensitive: e.g., HDD vs. SSD

UIP-S: snapshot checkpointing (e.g., H-Store, SiloR)

Copy-On-Write (COW)

COW-D: logging only (log-structured) database (e.g.,Hekaton)COW-M: log-structured memory and disk datbases (e.g.,RAMCloud)

5

Page 19: Write Amplification: An Analysis of In-Memory Database Durability Techniques

Architectural Diversity in IMDB SM

Two broad classes: Update In-Place and Copy-On-Write

Update In-Place (UIP)UIP: conventional page-based (e.g., Shore-MT)

random writes for checkpointingdevice sensitive: e.g., HDD vs. SSD

UIP-S: snapshot checkpointing (e.g., H-Store, SiloR)

Copy-On-Write (COW)

COW-D: logging only (log-structured) database (e.g.,Hekaton)COW-M: log-structured memory and disk datbases (e.g.,RAMCloud)

5

Page 20: Write Amplification: An Analysis of In-Memory Database Durability Techniques

Architectural Diversity in IMDB SM

Two broad classes: Update In-Place and Copy-On-Write

Update In-Place (UIP)UIP: conventional page-based (e.g., Shore-MT)

random writes for checkpointingdevice sensitive: e.g., HDD vs. SSD

UIP-S: snapshot checkpointing (e.g., H-Store, SiloR)

Copy-On-Write (COW)

COW-D: logging only (log-structured) database (e.g.,Hekaton)COW-M: log-structured memory and disk datbases (e.g.,RAMCloud)

5

Page 21: Write Amplification: An Analysis of In-Memory Database Durability Techniques

Architectural Diversity in IMDB SM

Two broad classes: Update In-Place and Copy-On-Write

Update In-Place (UIP)UIP: conventional page-based (e.g., Shore-MT)

random writes for checkpointingdevice sensitive: e.g., HDD vs. SSD

UIP-S: snapshot checkpointing (e.g., H-Store, SiloR)

Copy-On-Write (COW)

COW-D: logging only (log-structured) database (e.g.,Hekaton)COW-M: log-structured memory and disk datbases (e.g.,RAMCloud)

5

Page 22: Write Amplification: An Analysis of In-Memory Database Durability Techniques

Architectural Diversity in IMDB SM

Two broad classes: Update In-Place and Copy-On-Write

Update In-Place (UIP)UIP: conventional page-based (e.g., Shore-MT)

random writes for checkpointingdevice sensitive: e.g., HDD vs. SSD

UIP-S: snapshot checkpointing (e.g., H-Store, SiloR)

Copy-On-Write (COW)

COW-D: logging only (log-structured) database (e.g.,Hekaton)COW-M: log-structured memory and disk datbases (e.g.,RAMCloud)

5

Page 23: Write Amplification: An Analysis of In-Memory Database Durability Techniques

Architectural Diversity in IMDB SM

Two broad classes: Update In-Place and Copy-On-Write

Update In-Place (UIP)UIP: conventional page-based (e.g., Shore-MT)

random writes for checkpointingdevice sensitive: e.g., HDD vs. SSD

UIP-S: snapshot checkpointing (e.g., H-Store, SiloR)

Copy-On-Write (COW)

COW-D: logging only (log-structured) database (e.g.,Hekaton)COW-M: log-structured memory and disk datbases (e.g.,RAMCloud)

5

Page 24: Write Amplification: An Analysis of In-Memory Database Durability Techniques

UIP: Page-level Checkpoint

Example Space Constraint (α) = 1.2×DBSize, PageSize=2

Example Update Sequence: I,D,B

A B C D E F G H I J

A B C D E F G H I J 0 0DB LOG

Memory:

Disk:

LOG I/O History:

DB I/O History:

I/O Per Update = #DBIO+#LogIO#Updates =

6

Page 25: Write Amplification: An Analysis of In-Memory Database Durability Techniques

UIP: Page-level Checkpoint

Example Space Constraint (α) = 1.2×DBSize, PageSize=2

Example Update Sequence: I,D,B

A B C D E F G H I J

A B C D E F G H I J I 0DB LOG

Memory:

Disk:

LOG I/O History: I

DB I/O History:

I/O Per Update = #DBIO+#LogIO#Updates =0+1

1 = 1

6

Page 26: Write Amplification: An Analysis of In-Memory Database Durability Techniques

UIP: Page-level Checkpoint

Example Space Constraint (α) = 1.2×DBSize, PageSize=2

Example Update Sequence: I,D,B

A B C D E F G H I J

A B C D E F G H I J I DDB LOG

Memory:

Disk:

LOG I/O History: I,D

DB I/O History:

I/O Per Update = #DBIO+#LogIO#Updates =0+2

2 = 1

6

Page 27: Write Amplification: An Analysis of In-Memory Database Durability Techniques

UIP: Page-level Checkpoint

Example Space Constraint (α) = 1.2×DBSize, PageSize=2

Example Update Sequence: I,D,B

A B C D E F G H I J

A B C D E F G H I J 0 0DB LOG

Memory:

Disk:

LOG I/O History: I,D

DB I/O History: C,D,I,J

I/O Per Update = #DBIO+#LogIO#Updates =4+2

2 = 3

6

Page 28: Write Amplification: An Analysis of In-Memory Database Durability Techniques

UIP: Page-level Checkpoint

Example Space Constraint (α) = 1.2×DBSize, PageSize=2

Example Update Sequence: I,D,B

A B C D E F G H I J

A B C D E F G H I J B 0DB LOG

Memory:

Disk:

LOG I/O History: I,D,B

DB I/O History: C,D,I,J

I/O Per Update = #DBIO+#LogIO#Updates =4+3

3 ≈ 2.33

6

Page 29: Write Amplification: An Analysis of In-Memory Database Durability Techniques

UIP: Page-level Checkpoint

Example Space Constraint (α) = 1.2×DBSize, PageSize=2

Example Update Sequence: I,D,B

A B C D E F G H I J

A B C D E F G H I J B 0DB LOG

Memory:

Disk:

LOG I/O History: I,D,B

DB I/O History: C,D,I,J

I/O Per Update = #DBIO+#LogIO#Updates =4+3

3 ≈ 2.33

6

Page 30: Write Amplification: An Analysis of In-Memory Database Durability Techniques

UIP-S: Snapshot Checkpoint

Example Space Constraint (α) = 1.2× DB Size

Example Update Sequence: I,D,B

A B C D E F G H I J

A B C D E F G H I J I DDB LOG

Memory:

Disk:

LOG I/O History: I,D

DB I/O History:

I/O Per Update = #DBIO+#LogIO#Updates =0+2

2 = 1

7

Page 31: Write Amplification: An Analysis of In-Memory Database Durability Techniques

UIP-S: Snapshot Checkpoint

Example Space Constraint (α) = 1.2× DB Size

Example Update Sequence: I,D,B

A B C D E F G H I J

A B C D E F G H I J 0 0DB LOG

Memory:

Disk:

LOG I/O History: I,D

DB I/O History: A,B,C,D,E,F,G,H,I,J

I/O Per Update = #DBIO+#LogIO#Updates =10+2

2 = 6

7

Page 32: Write Amplification: An Analysis of In-Memory Database Durability Techniques

UIP-S: Snapshot Checkpoint

Example Space Constraint (α) = 1.2× DB Size

Example Update Sequence: I,D,B

A B C D E F G H I J

A B C D E F G H I J B 0DB LOG

Memory:

Disk:

LOG I/O History: I,D,B

DB I/O History: A,B,C,D,E,F,G,H,I,J

I/O Per Update = #DBIO+#LogIO#Updates =10+3

3 ≈ 4.33

7

Page 33: Write Amplification: An Analysis of In-Memory Database Durability Techniques

UIP-S: Snapshot Checkpoint

Example Space Constraint (α) = 1.2× DB Size

Example Update Sequence: I,D,B

A B C D E F G H I J

A B C D E F G H I J B 0DB LOG

Memory:

Disk:

LOG I/O History: I,D,B

DB I/O History: A,B,C,D,E,F,G,H,I,J

I/O Per Update = #DBIO+#LogIO#Updates =10+3

3 ≈ 4.33

7

Page 34: Write Amplification: An Analysis of In-Memory Database Durability Techniques

Architectural Diversity in IMDB SM

Two broad classes: Update In-Place and Copy-On-Write

Update In-Place (UIP)UIP: conventional page-based (e.g., Shore-MT)

random writes for checkpointingdevice sensitive: e.g., HDD vs. SSD

UIP-S: snapshot checkpointing (e.g., H-Store, SiloR)

Copy-On-Write (COW)

COW-D: logging only (log-structured) database (e.g.,Hekaton)COW-M: log-structured memory and disk datbases (e.g.,RAMCloud)

8

Page 35: Write Amplification: An Analysis of In-Memory Database Durability Techniques

COW-D: Log-structured Disk

Example Space Constraint (α) = 1.2× DB Size

Example Update Sequence: I,D,B

A B C D E F G H I J

H A E I F G D C B J 0 0

H A E I F G D C B J I 0H A E I F G D C B J I DI F G D C B J I D H A EF G D C B J I D H A E 0F G D C B J I D H A E B

Log-structured DB

Memory:

Disk:

DB I/O History:

Read:Write:

I/O Per Update = #ReadIO+#WriteIO#Updates =

9

Page 36: Write Amplification: An Analysis of In-Memory Database Durability Techniques

COW-D: Log-structured Disk

Example Space Constraint (α) = 1.2× DB Size

Example Update Sequence: I,D,B

A B C D E F G H I J

H A E I F G D C B J 0 0

H A E I F G D C B J I 0

H A E I F G D C B J I DI F G D C B J I D H A EF G D C B J I D H A E 0F G D C B J I D H A E B

Log-structured DB

Memory:

Disk:

DB I/O History:

Read:Write: I

I/O Per Update = #ReadIO+#WriteIO#Updates =0+1

1 = 1

9

Page 37: Write Amplification: An Analysis of In-Memory Database Durability Techniques

COW-D: Log-structured Disk

Example Space Constraint (α) = 1.2× DB Size

Example Update Sequence: I,D,B

A B C D E F G H I J

H A E I F G D C B J 0 0H A E I F G D C B J I 0

H A E I F G D C B J I D

I F G D C B J I D H A EF G D C B J I D H A E 0F G D C B J I D H A E B

Log-structured DB

Memory:

Disk:

DB I/O History:

Read:Write: I,D

I/O Per Update = #ReadIO+#WriteIO#Updates =0+2

2 = 1

9

Page 38: Write Amplification: An Analysis of In-Memory Database Durability Techniques

COW-D: Log-structured Disk

Example Space Constraint (α) = 1.2× DB Size

Example Update Sequence: I,D,B

A B C D E F G H I J

H A E I F G D C B J 0 0H A E I F G D C B J I 0H A E I F G D C B J I D

I F G D C B J I D H A E

F G D C B J I D H A E 0F G D C B J I D H A E B

Log-structured DB

Memory:

Disk:

DB I/O History:

Read: H,A,EWrite: I,D,H,A,E

I/O Per Update = #ReadIO+#WriteIO#Updates =3+5

2 = 4

9

Page 39: Write Amplification: An Analysis of In-Memory Database Durability Techniques

COW-D: Log-structured Disk

Example Space Constraint (α) = 1.2× DB Size

Example Update Sequence: I,D,B

A B C D E F G H I J

H A E I F G D C B J 0 0H A E I F G D C B J I 0H A E I F G D C B J I DI F G D C B J I D H A E

F G D C B J I D H A E 0

F G D C B J I D H A E B

Log-structured DB

Memory:

Disk:

DB I/O History:

Read: H,A,E,IWrite: I,D,H,A,E

I/O Per Update = #ReadIO+#WriteIO#Updates =4+5

2 = 4.5

9

Page 40: Write Amplification: An Analysis of In-Memory Database Durability Techniques

COW-D: Log-structured Disk

Example Space Constraint (α) = 1.2× DB Size

Example Update Sequence: I,D,B

A B C D E F G H I J

H A E I F G D C B J 0 0H A E I F G D C B J I 0H A E I F G D C B J I DI F G D C B J I D H A EF G D C B J I D H A E 0

F G D C B J I D H A E BLog-structured DB

Memory:

Disk:

DB I/O History:

Read: H,A,E,IWrite: I,D,H,A,E,B

I/O Per Update = #ReadIO+#WriteIO#Updates =4+6

3 ≈ 3.33

9

Page 41: Write Amplification: An Analysis of In-Memory Database Durability Techniques

COW-D: Log-structured Disk

Example Space Constraint (α) = 1.2× DB Size

Example Update Sequence: I,D,B

A B C D E F G H I J

H A E I F G D C B J 0 0H A E I F G D C B J I 0H A E I F G D C B J I DI F G D C B J I D H A EF G D C B J I D H A E 0

F G D C B J I D H A E BLog-structured DB

Memory:

Disk:

DB I/O History:

Read: H,A,E,IWrite: I,D,H,A,E,B

I/O Per Update = #ReadIO+#WriteIO#Updates =4+6

3 ≈ 3.33

9

Page 42: Write Amplification: An Analysis of In-Memory Database Durability Techniques

COW-M: Log-structured Memory

Example Space Constraint (α) = 1.2× DB Size

Example Update Sequence: I,D,B

H A E I F G D C B J I

H A E I F G D C B J 0 0

H A E I F G D C B J I 0H A E I F G D C B J I DF G D C B J I D H A E 0F G D C B J I D H A E B

Log-structured IMDB

Log-structured DB

Memory:

Disk:

DB I/O History:

Write:

I/O Per Update = #WriteIO#Updates =

10

Page 43: Write Amplification: An Analysis of In-Memory Database Durability Techniques

COW-M: Log-structured Memory

Example Space Constraint (α) = 1.2× DB Size

Example Update Sequence: I,D,B

H A E F G D C B J I D

H A E I F G D C B J 0 0

H A E I F G D C B J I 0

H A E I F G D C B J I DF G D C B J I D H A E 0F G D C B J I D H A E B

Log-structured IMDB

Log-structured DB

Memory:

Disk:

DB I/O History:

Write: I

I/O Per Update = #WriteIO#Updates =1

1 = 1

10

Page 44: Write Amplification: An Analysis of In-Memory Database Durability Techniques

COW-M: Log-structured Memory

Example Space Constraint (α) = 1.2× DB Size

Example Update Sequence: I,D,B

H A E F G C B J I D B

H A E I F G D C B J 0 0H A E I F G D C B J I 0

H A E I F G D C B J I D

F G D C B J I D H A E 0F G D C B J I D H A E B

Log-structured IMDB

Log-structured DB

Memory:

Disk:

DB I/O History:

Write: I,D

I/O Per Update = #WriteIO#Updates =2

2 = 1

10

Page 45: Write Amplification: An Analysis of In-Memory Database Durability Techniques

COW-M: Log-structured Memory

Example Space Constraint (α) = 1.2× DB Size

Example Update Sequence: I,D,B

F G C B J I D H A E B

H A E I F G D C B J 0 0H A E I F G D C B J I 0H A E I F G D C B J I D

F G D C B J I D H A E 0

F G D C B J I D H A E B

Log-structured IMDB

Log-structured DB

Memory:

Disk:

DB I/O History:

Write: I,D,H,A,E

I/O Per Update = #WriteIO#Updates =5

2 = 2.5

10

Page 46: Write Amplification: An Analysis of In-Memory Database Durability Techniques

COW-M: Log-structured Memory

Example Space Constraint (α) = 1.2× DB Size

Example Update Sequence: I,D,B

F G C J I D H A E B

H A E I F G D C B J 0 0H A E I F G D C B J I 0H A E I F G D C B J I DF G D C B J I D H A E 0

F G D C B J I D H A E B

Log-structured IMDB

Log-structured DB

Memory:

Disk:

DB I/O History:

Write: I,D,H,A,E,B

I/O Per Update = #WriteIO#Updates =6

3 = 2

10

Page 47: Write Amplification: An Analysis of In-Memory Database Durability Techniques

COW-M: Log-structured Memory

Example Space Constraint (α) = 1.2× DB Size

Example Update Sequence: I,D,B

F G C J I D H A E B

H A E I F G D C B J 0 0H A E I F G D C B J I 0H A E I F G D C B J I DF G D C B J I D H A E 0

F G D C B J I D H A E B

Log-structured IMDB

Log-structured DB

Memory:

Disk:

DB I/O History:

Write: I,D,H,A,E,B

I/O Per Update = #WriteIO#Updates =6

3 = 2

10

Page 48: Write Amplification: An Analysis of In-Memory Database Durability Techniques

What We Can Do Using WAF Model

Compare UIP and COWAnalyze the effect of persistent storage utilization (α)Analyze the effect of update workload (uniform vs. skew)Analyze the effect of page size on UIP

Find best page size for storage-specific performancecharacteristic

Analyze the effect of SSD vs. HDD persistent storageWeight random and sequential I/O differently, depending onthe device type

In-memory Database

Persistent Storage

On-diskDatabase

λ P

λ

Application

I/O Per Update = λPλ

11

Page 49: Write Amplification: An Analysis of In-Memory Database Durability Techniques

What We Can Do Using WAF Model

Compare UIP and COWAnalyze the effect of persistent storage utilization (α)Analyze the effect of update workload (uniform vs. skew)Analyze the effect of page size on UIP

Find best page size for storage-specific performancecharacteristic

Analyze the effect of SSD vs. HDD persistent storageWeight random and sequential I/O differently, depending onthe device type

In-memory Database

Persistent Storage

On-diskDatabase

λ P

λ

Application

I/O Per Update = λPλ

11

Page 50: Write Amplification: An Analysis of In-Memory Database Durability Techniques

What We Can Do Using WAF Model

Compare UIP and COWAnalyze the effect of persistent storage utilization (α)Analyze the effect of update workload (uniform vs. skew)Analyze the effect of page size on UIP

Find best page size for storage-specific performancecharacteristic

Analyze the effect of SSD vs. HDD persistent storageWeight random and sequential I/O differently, depending onthe device type

In-memory Database

Persistent Storage

On-diskDatabase

λ P

λ

Application

I/O Per Update = λPλ

11

Page 51: Write Amplification: An Analysis of In-Memory Database Durability Techniques

What We Can Do Using WAF Model

Compare UIP and COWAnalyze the effect of persistent storage utilization (α)Analyze the effect of update workload (uniform vs. skew)Analyze the effect of page size on UIP

Find best page size for storage-specific performancecharacteristic

Analyze the effect of SSD vs. HDD persistent storageWeight random and sequential I/O differently, depending onthe device type

In-memory Database

Persistent Storage

On-diskDatabase

λ P

λ

Application

I/O Per Update = λPλ

11

Page 52: Write Amplification: An Analysis of In-Memory Database Durability Techniques

What We Can Do Using WAF Model

Compare UIP and COWAnalyze the effect of persistent storage utilization (α)Analyze the effect of update workload (uniform vs. skew)Analyze the effect of page size on UIP

Find best page size for storage-specific performancecharacteristic

Analyze the effect of SSD vs. HDD persistent storageWeight random and sequential I/O differently, depending onthe device type

In-memory Database

Persistent Storage

On-diskDatabase

λ P

λ

Application

I/O Per Update = λPλ

11

Page 53: Write Amplification: An Analysis of In-Memory Database Durability Techniques

What We Can Do Using WAF Model

Compare UIP and COWAnalyze the effect of persistent storage utilization (α)Analyze the effect of update workload (uniform vs. skew)Analyze the effect of page size on UIP

Find best page size for storage-specific performancecharacteristic

Analyze the effect of SSD vs. HDD persistent storageWeight random and sequential I/O differently, depending onthe device type

In-memory Database

Persistent Storage

On-diskDatabase

λ P

λ

Application

I/O Per Update = λPλ

11

Page 54: Write Amplification: An Analysis of In-Memory Database Durability Techniques

What We Can Do Using WAF Model

Compare UIP and COWAnalyze the effect of persistent storage utilization (α)Analyze the effect of update workload (uniform vs. skew)Analyze the effect of page size on UIP

Find best page size for storage-specific performancecharacteristic

Analyze the effect of SSD vs. HDD persistent storageWeight random and sequential I/O differently, depending onthe device type

In-memory Database

Persistent Storage

On-diskDatabase

λ P

λ

Application

I/O Per Update = λPλ

11

Page 55: Write Amplification: An Analysis of In-Memory Database Durability Techniques

Result (Upate In-Place)

��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������

1.0 1.2 1.4 1.6 1.8 2.0

12

510

20

α

IO P

er U

pdat

e

●●

●●

●● ● ● ● ●

�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������

UIP(HDD)UIP(SSD)UIP(HDD)−SKEWUIP(SSD)−SKEWUIP−S

��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������

1.0 1.2 1.4 1.6 1.8 2.0

12

510

20

α

IO P

er U

pdat

e

●●

●●

●● ● ● ● ●

�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������

��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������

UIP(HDD)UIP(SSD)UIP(HDD)−SKEWUIP(SSD)−SKEWUIP−S

��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������

1.0 1.2 1.4 1.6 1.8 2.0

12

510

20

α

IO P

er U

pdat

e

●●

●●

●● ● ● ● ●

�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������

��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������

�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������

UIP(HDD)UIP(SSD)UIP(HDD)−SKEWUIP(SSD)−SKEWUIP−S

��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������

1.0 1.2 1.4 1.6 1.8 2.0

12

510

20

α

IO P

er U

pdat

e

●●

●●

●● ● ● ● ●

�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������

��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������

�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������

��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������

UIP(HDD)UIP(SSD)UIP(HDD)−SKEWUIP(SSD)−SKEWUIP−S

HDD

SSD

skew

skew

UIP-S

12

Page 56: Write Amplification: An Analysis of In-Memory Database Durability Techniques

Result (Upate In-Place)

��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������

1.0 1.2 1.4 1.6 1.8 2.0

12

510

20

α

IO P

er U

pdat

e

●●

●●

●● ● ● ● ●

�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������

UIP(HDD)UIP(SSD)UIP(HDD)−SKEWUIP(SSD)−SKEWUIP−S

��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������

1.0 1.2 1.4 1.6 1.8 2.0

12

510

20

α

IO P

er U

pdat

e

●●

●●

●● ● ● ● ●

�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������

��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������

UIP(HDD)UIP(SSD)UIP(HDD)−SKEWUIP(SSD)−SKEWUIP−S

��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������

1.0 1.2 1.4 1.6 1.8 2.0

12

510

20

α

IO P

er U

pdat

e

●●

●●

●● ● ● ● ●

�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������

��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������

�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������

UIP(HDD)UIP(SSD)UIP(HDD)−SKEWUIP(SSD)−SKEWUIP−S

��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������

1.0 1.2 1.4 1.6 1.8 2.0

12

510

20

α

IO P

er U

pdat

e

●●

●●

●● ● ● ● ●

�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������

��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������

�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������

��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������

UIP(HDD)UIP(SSD)UIP(HDD)−SKEWUIP(SSD)−SKEWUIP−S

HDD

SSD

skew

skew

UIP-S

12

Page 57: Write Amplification: An Analysis of In-Memory Database Durability Techniques

Result (Upate In-Place)

��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������

1.0 1.2 1.4 1.6 1.8 2.0

12

510

20

α

IO P

er U

pdat

e

●●

●●

●● ● ● ● ●

�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������

UIP(HDD)UIP(SSD)UIP(HDD)−SKEWUIP(SSD)−SKEWUIP−S

��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������

1.0 1.2 1.4 1.6 1.8 2.0

12

510

20

α

IO P

er U

pdat

e

●●

●●

●● ● ● ● ●

�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������

��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������

UIP(HDD)UIP(SSD)UIP(HDD)−SKEWUIP(SSD)−SKEWUIP−S

��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������

1.0 1.2 1.4 1.6 1.8 2.0

12

510

20

α

IO P

er U

pdat

e

●●

●●

●● ● ● ● ●

�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������

��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������

�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������

UIP(HDD)UIP(SSD)UIP(HDD)−SKEWUIP(SSD)−SKEWUIP−S

��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������

1.0 1.2 1.4 1.6 1.8 2.0

12

510

20

α

IO P

er U

pdat

e

●●

●●

●● ● ● ● ●

�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������

��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������

�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������

��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������

UIP(HDD)UIP(SSD)UIP(HDD)−SKEWUIP(SSD)−SKEWUIP−S

HDD

SSD

skew

skew

UIP-S

12

Page 58: Write Amplification: An Analysis of In-Memory Database Durability Techniques

Result (Upate In-Place)

��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������

1.0 1.2 1.4 1.6 1.8 2.0

12

510

20

α

IO P

er U

pdat

e

●●

●●

●● ● ● ● ●

�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������

UIP(HDD)UIP(SSD)UIP(HDD)−SKEWUIP(SSD)−SKEWUIP−S

��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������

1.0 1.2 1.4 1.6 1.8 2.0

12

510

20

α

IO P

er U

pdat

e

●●

●●

●● ● ● ● ●

�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������

��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������

UIP(HDD)UIP(SSD)UIP(HDD)−SKEWUIP(SSD)−SKEWUIP−S

��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������

1.0 1.2 1.4 1.6 1.8 2.0

12

510

20

α

IO P

er U

pdat

e

●●

●●

●● ● ● ● ●

�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������

��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������

�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������

UIP(HDD)UIP(SSD)UIP(HDD)−SKEWUIP(SSD)−SKEWUIP−S

��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������

1.0 1.2 1.4 1.6 1.8 2.0

12

510

20

α

IO P

er U

pdat

e

●●

●●

●● ● ● ● ●

�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������

��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������

�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������

��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������

UIP(HDD)UIP(SSD)UIP(HDD)−SKEWUIP(SSD)−SKEWUIP−S

HDD

SSD

skew

skew

UIP-S

12

Page 59: Write Amplification: An Analysis of In-Memory Database Durability Techniques

Result (Copy-On-Write)

����������� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � �� ����������������������������������������������������������������������������������������������������������������������������������������������������

1.0 1.2 1.4 1.6 1.8 2.0

12

510

20

α

IO P

er U

pdat

e

COW−DCOW−MUIP−S

����������� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � ������������������������������������������������������������������������������������������������������������������������������������������������������

1.0 1.2 1.4 1.6 1.8 2.0

12

510

20

α

IO P

er U

pdat

e

����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������

COW−DCOW−MUIP−S

COW-D

COW-M

13

Page 60: Write Amplification: An Analysis of In-Memory Database Durability Techniques

Result (Copy-On-Write)

����������� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � ������������������������������������������������������������������������������������������������������������������������������������������������������

1.0 1.2 1.4 1.6 1.8 2.0

12

510

20

α

IO P

er U

pdat

e

COW−DCOW−MUIP−S

����������� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � �� ����������������������������������������������������������������������������������������������������������������������������������������������������

1.0 1.2 1.4 1.6 1.8 2.0

12

510

20

α

IO P

er U

pdat

e�

����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������

COW−DCOW−MUIP−S

COW-D

COW-M

13

Page 61: Write Amplification: An Analysis of In-Memory Database Durability Techniques

Result (COW vs. UIP)

����������� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � �� ����������������������������������������������������������������������������������������������������������������������������������������������������

1.0 1.2 1.4 1.6 1.8 2.0

12

510

20

α

IO P

er U

pdat

e�

����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������

��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������

●●

●●

●●

●●

● ● ● ● ● ● ●

COW−DCOW−MUIP−S

COW-D

COW-M

UIP-S

14

Page 62: Write Amplification: An Analysis of In-Memory Database Durability Techniques

Summary and Discussion

Write amplification model for in-memory database storagemanagers

Quantify and compare the I/O efficiency of two broad classesof storage managers (UIP,COW)

UIP (page-level)commonly used in disk-based databaseeffective when the capacity of persistent storage (or recoverytime) is tightly constrained and/or highly skewed (e.g., 99:1)

UIP-Sappealing option among UIPs (only sequential writes)insensitive to update skew

COW-Mthe most I/O efficient (lowest write amplification) in manysettingsrequire a log structure in memory that mirrors the logstructure in persistent storage

15

Page 63: Write Amplification: An Analysis of In-Memory Database Durability Techniques

Summary and Discussion

Write amplification model for in-memory database storagemanagers

Quantify and compare the I/O efficiency of two broad classesof storage managers (UIP,COW)

UIP (page-level)commonly used in disk-based databaseeffective when the capacity of persistent storage (or recoverytime) is tightly constrained and/or highly skewed (e.g., 99:1)

UIP-Sappealing option among UIPs (only sequential writes)insensitive to update skew

COW-Mthe most I/O efficient (lowest write amplification) in manysettingsrequire a log structure in memory that mirrors the logstructure in persistent storage

15

Page 64: Write Amplification: An Analysis of In-Memory Database Durability Techniques

Summary and Discussion

Write amplification model for in-memory database storagemanagers

Quantify and compare the I/O efficiency of two broad classesof storage managers (UIP,COW)

UIP (page-level)commonly used in disk-based databaseeffective when the capacity of persistent storage (or recoverytime) is tightly constrained and/or highly skewed (e.g., 99:1)

UIP-Sappealing option among UIPs (only sequential writes)insensitive to update skew

COW-Mthe most I/O efficient (lowest write amplification) in manysettingsrequire a log structure in memory that mirrors the logstructure in persistent storage

15

Page 65: Write Amplification: An Analysis of In-Memory Database Durability Techniques

Summary and Discussion

Write amplification model for in-memory database storagemanagers

Quantify and compare the I/O efficiency of two broad classesof storage managers (UIP,COW)

UIP (page-level)commonly used in disk-based databaseeffective when the capacity of persistent storage (or recoverytime) is tightly constrained and/or highly skewed (e.g., 99:1)

UIP-Sappealing option among UIPs (only sequential writes)insensitive to update skew

COW-Mthe most I/O efficient (lowest write amplification) in manysettingsrequire a log structure in memory that mirrors the logstructure in persistent storage

15

Page 66: Write Amplification: An Analysis of In-Memory Database Durability Techniques

Summary and Discussion

Write amplification model for in-memory database storagemanagers

Quantify and compare the I/O efficiency of two broad classesof storage managers (UIP,COW)

UIP (page-level)commonly used in disk-based databaseeffective when the capacity of persistent storage (or recoverytime) is tightly constrained and/or highly skewed (e.g., 99:1)

UIP-Sappealing option among UIPs (only sequential writes)insensitive to update skew

COW-Mthe most I/O efficient (lowest write amplification) in manysettingsrequire a log structure in memory that mirrors the logstructure in persistent storage

15

Page 67: Write Amplification: An Analysis of In-Memory Database Durability Techniques

Summary and Discussion

Write amplification model for in-memory database storagemanagers

Quantify and compare the I/O efficiency of two broad classesof storage managers (UIP,COW)

UIP (page-level)commonly used in disk-based databaseeffective when the capacity of persistent storage (or recoverytime) is tightly constrained and/or highly skewed (e.g., 99:1)

UIP-Sappealing option among UIPs (only sequential writes)insensitive to update skew

COW-Mthe most I/O efficient (lowest write amplification) in manysettingsrequire a log structure in memory that mirrors the logstructure in persistent storage

15

Page 68: Write Amplification: An Analysis of In-Memory Database Durability Techniques

Summary and Discussion

Write amplification model for in-memory database storagemanagers

Quantify and compare the I/O efficiency of two broad classesof storage managers (UIP,COW)

UIP (page-level)commonly used in disk-based databaseeffective when the capacity of persistent storage (or recoverytime) is tightly constrained and/or highly skewed (e.g., 99:1)

UIP-Sappealing option among UIPs (only sequential writes)insensitive to update skew

COW-Mthe most I/O efficient (lowest write amplification) in manysettingsrequire a log structure in memory that mirrors the logstructure in persistent storage

15

Page 69: Write Amplification: An Analysis of In-Memory Database Durability Techniques

Summary and Discussion

Write amplification model for in-memory database storagemanagers

Quantify and compare the I/O efficiency of two broad classesof storage managers (UIP,COW)

UIP (page-level)commonly used in disk-based databaseeffective when the capacity of persistent storage (or recoverytime) is tightly constrained and/or highly skewed (e.g., 99:1)

UIP-Sappealing option among UIPs (only sequential writes)insensitive to update skew

COW-Mthe most I/O efficient (lowest write amplification) in manysettingsrequire a log structure in memory that mirrors the logstructure in persistent storage

15

Page 70: Write Amplification: An Analysis of In-Memory Database Durability Techniques

Summary and Discussion

Write amplification model for in-memory database storagemanagers

Quantify and compare the I/O efficiency of two broad classesof storage managers (UIP,COW)

UIP (page-level)commonly used in disk-based databaseeffective when the capacity of persistent storage (or recoverytime) is tightly constrained and/or highly skewed (e.g., 99:1)

UIP-Sappealing option among UIPs (only sequential writes)insensitive to update skew

COW-Mthe most I/O efficient (lowest write amplification) in manysettingsrequire a log structure in memory that mirrors the logstructure in persistent storage

15

Page 71: Write Amplification: An Analysis of In-Memory Database Durability Techniques

Summary and Discussion

Write amplification model for in-memory database storagemanagers

Quantify and compare the I/O efficiency of two broad classesof storage managers (UIP,COW)

UIP (page-level)commonly used in disk-based databaseeffective when the capacity of persistent storage (or recoverytime) is tightly constrained and/or highly skewed (e.g., 99:1)

UIP-Sappealing option among UIPs (only sequential writes)insensitive to update skew

COW-Mthe most I/O efficient (lowest write amplification) in manysettingsrequire a log structure in memory that mirrors the logstructure in persistent storage

15

Page 72: Write Amplification: An Analysis of In-Memory Database Durability Techniques

Summary and Discussion

Write amplification model for in-memory database storagemanagers

Quantify and compare the I/O efficiency of two broad classesof storage managers (UIP,COW)

UIP (page-level)commonly used in disk-based databaseeffective when the capacity of persistent storage (or recoverytime) is tightly constrained and/or highly skewed (e.g., 99:1)

UIP-Sappealing option among UIPs (only sequential writes)insensitive to update skew

COW-Mthe most I/O efficient (lowest write amplification) in manysettingsrequire a log structure in memory that mirrors the logstructure in persistent storage

15

Page 73: Write Amplification: An Analysis of In-Memory Database Durability Techniques

Mahalo!

16