Write Amplification: An Analysis of In-Memory Database Durability Techniques - 2015 Third International Workshop on In-Memory Data Management and Analytics
%in Soweto+277-882-255-28 abortion pills for sale in soweto
Write Amplification: An Analysis of In-Memory Database Durability Techniques
1. Write Amplification: An Analysis of In-Memory
Database Durability Techniques
Jaemyung Kim, Kenneth Salem, Khuzaima Daudjee
University of Waterloo
IMDM 2015
5. Durability Matters
OLTP IMDB
I/O is unavoidable!
(ACID, Durability)
Orders of magnitude faster!
Write I/O efficiency of in-memory
DBMS is an important issue.
cliparts from openclipart.org
2
8. Goal of Write Amplification Model
Quantify and compare the I/O efficiency of the persistent
storage management schemes
Provide us with some insight into the different natures of
update-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/O
capacity is constrained (restart recovery)
The following is not our goals:
Emulate a specific storage manager implementation
Compare specific implemenations: e.g., Hekaton is better than
H-Store
4
9. Goal of Write Amplification Model
Quantify and compare the I/O efficiency of the persistent
storage management schemes
Provide us with some insight into the different natures of
update-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/O
capacity is constrained (restart recovery)
The following is not our goals:
Emulate a specific storage manager implementation
Compare specific implemenations: e.g., Hekaton is better than
H-Store
4
10. Goal of Write Amplification Model
Quantify and compare the I/O efficiency of the persistent
storage management schemes
Provide us with some insight into the different natures of
update-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/O
capacity is constrained (restart recovery)
The following is not our goals:
Emulate a specific storage manager implementation
Compare specific implemenations: e.g., Hekaton is better than
H-Store
4
11. Goal of Write Amplification Model
Quantify and compare the I/O efficiency of the persistent
storage management schemes
Provide us with some insight into the different natures of
update-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/O
capacity is constrained (restart recovery)
The following is not our goals:
Emulate a specific storage manager implementation
Compare specific implemenations: e.g., Hekaton is better than
H-Store
4
12. Goal of Write Amplification Model
Quantify and compare the I/O efficiency of the persistent
storage management schemes
Provide us with some insight into the different natures of
update-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/O
capacity is constrained (restart recovery)
The following is not our goals:
Emulate a specific storage manager implementation
Compare specific implemenations: e.g., Hekaton is better than
H-Store
4
13. Goal of Write Amplification Model
Quantify and compare the I/O efficiency of the persistent
storage management schemes
Provide us with some insight into the different natures of
update-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/O
capacity is constrained (restart recovery)
The following is not our goals:
Emulate a specific storage manager implementation
Compare specific implemenations: e.g., Hekaton is better than
H-Store
4
14. Goal of Write Amplification Model
Quantify and compare the I/O efficiency of the persistent
storage management schemes
Provide us with some insight into the different natures of
update-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/O
capacity is constrained (restart recovery)
The following is not our goals:
Emulate a specific storage manager implementation
Compare specific implemenations: e.g., Hekaton is better than
H-Store
4
15. 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 checkpointing
device 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
16. 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 checkpointing
device 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
17. 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 checkpointing
device 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
18. 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 checkpointing
device 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
19. 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 checkpointing
device 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
20. 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 checkpointing
device 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
21. 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 checkpointing
device 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
22. 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 checkpointing
device 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
23. 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 checkpointing
device 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
24. 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 0
DB LOG
Memory:
Disk:
LOG I/O History:
DB I/O History:
I/O Per Update = #DBIO+#LogIO
#Updates =
6
25. 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 0
DB LOG
Memory:
Disk:
LOG I/O History: I
DB I/O History:
I/O Per Update = #DBIO+#LogIO
#Updates =0+1
1 = 1
6
26. 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 D
DB 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
27. 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 0
DB 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
28. 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 0
DB 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
29. 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 0
DB 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
30. 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 D
DB 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
31. 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 0
DB 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
32. 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 0
DB 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
33. 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 0
DB 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
34. 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 checkpointing
device 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
35. 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
Log-structured DB
Memory:
Disk:
DB I/O History:
Read:
Write:
I/O Per Update = #ReadIO+#WriteIO
#Updates =
9
36. 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 I 0
Log-structured DB
Memory:
Disk:
DB I/O History:
Read:
Write: I
I/O Per Update = #ReadIO+#WriteIO
#Updates =0+1
1 = 1
9
37. 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 I D
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
38. 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
I F G D C B J I D H A E
Log-structured DB
Memory:
Disk:
DB I/O History:
Read: H,A,E
Write: I,D,H,A,E
I/O Per Update = #ReadIO+#WriteIO
#Updates =3+5
2 = 4
9
39. 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
F G D C B J I D H A E 0
Log-structured DB
Memory:
Disk:
DB I/O History:
Read: H,A,E,I
Write: I,D,H,A,E
I/O Per Update = #ReadIO+#WriteIO
#Updates =4+5
2 = 4.5
9
40. 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
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,I
Write: I,D,H,A,E,B
I/O Per Update = #ReadIO+#WriteIO
#Updates =4+6
3 ≈ 3.33
9
41. 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
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,I
Write: I,D,H,A,E,B
I/O Per Update = #ReadIO+#WriteIO
#Updates =4+6
3 ≈ 3.33
9
42. 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
Log-structured IMDB
Log-structured DB
Memory:
Disk:
DB I/O History:
Write:
I/O Per Update = #WriteIO
#Updates =
10
43. 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 I 0
Log-structured IMDB
Log-structured DB
Memory:
Disk:
DB I/O History:
Write: I
I/O Per Update = #WriteIO
#Updates =1
1 = 1
10
44. 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 I D
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
45. 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
F G D C B J I D H A E 0
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
46. 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
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
47. 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
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
48. What We Can Do Using WAF Model
Compare UIP and COW
Analyze 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 performance
characteristic
Analyze the effect of SSD vs. HDD persistent storage
Weight random and sequential I/O differently, depending on
the device type
In-memory
Database
Persistent Storage
On-disk
Database
λP
λ
Application
I/O Per Update = λP
λ
11
49. What We Can Do Using WAF Model
Compare UIP and COW
Analyze 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 performance
characteristic
Analyze the effect of SSD vs. HDD persistent storage
Weight random and sequential I/O differently, depending on
the device type
In-memory
Database
Persistent Storage
On-disk
Database
λP
λ
Application
I/O Per Update = λP
λ
11
50. What We Can Do Using WAF Model
Compare UIP and COW
Analyze 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 performance
characteristic
Analyze the effect of SSD vs. HDD persistent storage
Weight random and sequential I/O differently, depending on
the device type
In-memory
Database
Persistent Storage
On-disk
Database
λP
λ
Application
I/O Per Update = λP
λ
11
51. What We Can Do Using WAF Model
Compare UIP and COW
Analyze 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 performance
characteristic
Analyze the effect of SSD vs. HDD persistent storage
Weight random and sequential I/O differently, depending on
the device type
In-memory
Database
Persistent Storage
On-disk
Database
λP
λ
Application
I/O Per Update = λP
λ
11
52. What We Can Do Using WAF Model
Compare UIP and COW
Analyze 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 performance
characteristic
Analyze the effect of SSD vs. HDD persistent storage
Weight random and sequential I/O differently, depending on
the device type
In-memory
Database
Persistent Storage
On-disk
Database
λP
λ
Application
I/O Per Update = λP
λ
11
53. What We Can Do Using WAF Model
Compare UIP and COW
Analyze 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 performance
characteristic
Analyze the effect of SSD vs. HDD persistent storage
Weight random and sequential I/O differently, depending on
the device type
In-memory
Database
Persistent Storage
On-disk
Database
λP
λ
Application
I/O Per Update = λP
λ
11
54. What We Can Do Using WAF Model
Compare UIP and COW
Analyze 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 performance
characteristic
Analyze the effect of SSD vs. HDD persistent storage
Weight random and sequential I/O differently, depending on
the device type
In-memory
Database
Persistent Storage
On-disk
Database
λP
λ
Application
I/O Per Update = λP
λ
11
62. Summary and Discussion
Write amplification model for in-memory database storage
managers
Quantify and compare the I/O efficiency of two broad classes
of storage managers (UIP,COW)
UIP (page-level)
commonly used in disk-based database
effective when the capacity of persistent storage (or recovery
time) is tightly constrained and/or highly skewed (e.g., 99:1)
UIP-S
appealing option among UIPs (only sequential writes)
insensitive to update skew
COW-M
the most I/O efficient (lowest write amplification) in many
settings
require a log structure in memory that mirrors the log
structure in persistent storage
15
63. Summary and Discussion
Write amplification model for in-memory database storage
managers
Quantify and compare the I/O efficiency of two broad classes
of storage managers (UIP,COW)
UIP (page-level)
commonly used in disk-based database
effective when the capacity of persistent storage (or recovery
time) is tightly constrained and/or highly skewed (e.g., 99:1)
UIP-S
appealing option among UIPs (only sequential writes)
insensitive to update skew
COW-M
the most I/O efficient (lowest write amplification) in many
settings
require a log structure in memory that mirrors the log
structure in persistent storage
15
64. Summary and Discussion
Write amplification model for in-memory database storage
managers
Quantify and compare the I/O efficiency of two broad classes
of storage managers (UIP,COW)
UIP (page-level)
commonly used in disk-based database
effective when the capacity of persistent storage (or recovery
time) is tightly constrained and/or highly skewed (e.g., 99:1)
UIP-S
appealing option among UIPs (only sequential writes)
insensitive to update skew
COW-M
the most I/O efficient (lowest write amplification) in many
settings
require a log structure in memory that mirrors the log
structure in persistent storage
15
65. Summary and Discussion
Write amplification model for in-memory database storage
managers
Quantify and compare the I/O efficiency of two broad classes
of storage managers (UIP,COW)
UIP (page-level)
commonly used in disk-based database
effective when the capacity of persistent storage (or recovery
time) is tightly constrained and/or highly skewed (e.g., 99:1)
UIP-S
appealing option among UIPs (only sequential writes)
insensitive to update skew
COW-M
the most I/O efficient (lowest write amplification) in many
settings
require a log structure in memory that mirrors the log
structure in persistent storage
15
66. Summary and Discussion
Write amplification model for in-memory database storage
managers
Quantify and compare the I/O efficiency of two broad classes
of storage managers (UIP,COW)
UIP (page-level)
commonly used in disk-based database
effective when the capacity of persistent storage (or recovery
time) is tightly constrained and/or highly skewed (e.g., 99:1)
UIP-S
appealing option among UIPs (only sequential writes)
insensitive to update skew
COW-M
the most I/O efficient (lowest write amplification) in many
settings
require a log structure in memory that mirrors the log
structure in persistent storage
15
67. Summary and Discussion
Write amplification model for in-memory database storage
managers
Quantify and compare the I/O efficiency of two broad classes
of storage managers (UIP,COW)
UIP (page-level)
commonly used in disk-based database
effective when the capacity of persistent storage (or recovery
time) is tightly constrained and/or highly skewed (e.g., 99:1)
UIP-S
appealing option among UIPs (only sequential writes)
insensitive to update skew
COW-M
the most I/O efficient (lowest write amplification) in many
settings
require a log structure in memory that mirrors the log
structure in persistent storage
15
68. Summary and Discussion
Write amplification model for in-memory database storage
managers
Quantify and compare the I/O efficiency of two broad classes
of storage managers (UIP,COW)
UIP (page-level)
commonly used in disk-based database
effective when the capacity of persistent storage (or recovery
time) is tightly constrained and/or highly skewed (e.g., 99:1)
UIP-S
appealing option among UIPs (only sequential writes)
insensitive to update skew
COW-M
the most I/O efficient (lowest write amplification) in many
settings
require a log structure in memory that mirrors the log
structure in persistent storage
15
69. Summary and Discussion
Write amplification model for in-memory database storage
managers
Quantify and compare the I/O efficiency of two broad classes
of storage managers (UIP,COW)
UIP (page-level)
commonly used in disk-based database
effective when the capacity of persistent storage (or recovery
time) is tightly constrained and/or highly skewed (e.g., 99:1)
UIP-S
appealing option among UIPs (only sequential writes)
insensitive to update skew
COW-M
the most I/O efficient (lowest write amplification) in many
settings
require a log structure in memory that mirrors the log
structure in persistent storage
15
70. Summary and Discussion
Write amplification model for in-memory database storage
managers
Quantify and compare the I/O efficiency of two broad classes
of storage managers (UIP,COW)
UIP (page-level)
commonly used in disk-based database
effective when the capacity of persistent storage (or recovery
time) is tightly constrained and/or highly skewed (e.g., 99:1)
UIP-S
appealing option among UIPs (only sequential writes)
insensitive to update skew
COW-M
the most I/O efficient (lowest write amplification) in many
settings
require a log structure in memory that mirrors the log
structure in persistent storage
15
71. Summary and Discussion
Write amplification model for in-memory database storage
managers
Quantify and compare the I/O efficiency of two broad classes
of storage managers (UIP,COW)
UIP (page-level)
commonly used in disk-based database
effective when the capacity of persistent storage (or recovery
time) is tightly constrained and/or highly skewed (e.g., 99:1)
UIP-S
appealing option among UIPs (only sequential writes)
insensitive to update skew
COW-M
the most I/O efficient (lowest write amplification) in many
settings
require a log structure in memory that mirrors the log
structure in persistent storage
15
72. Summary and Discussion
Write amplification model for in-memory database storage
managers
Quantify and compare the I/O efficiency of two broad classes
of storage managers (UIP,COW)
UIP (page-level)
commonly used in disk-based database
effective when the capacity of persistent storage (or recovery
time) is tightly constrained and/or highly skewed (e.g., 99:1)
UIP-S
appealing option among UIPs (only sequential writes)
insensitive to update skew
COW-M
the most I/O efficient (lowest write amplification) in many
settings
require a log structure in memory that mirrors the log
structure in persistent storage
15