CS 839: Design the Next-Generation Database Lecture 11:...
Transcript of CS 839: Design the Next-Generation Database Lecture 11:...
![Page 1: CS 839: Design the Next-Generation Database Lecture 11: NVM2pages.cs.wisc.edu/~yxy/cs839-s20/slides/L11.pdf · 2020. 2. 25. · •Allows hot/cold data separation How would you design](https://reader035.fdocuments.net/reader035/viewer/2022071410/610515a0d1a2405d33032264/html5/thumbnails/1.jpg)
Xiangyao Yu2/25/2020
CS 839: Design the Next-Generation DatabaseLecture 11: NVM2
1
![Page 2: CS 839: Design the Next-Generation Database Lecture 11: NVM2pages.cs.wisc.edu/~yxy/cs839-s20/slides/L11.pdf · 2020. 2. 25. · •Allows hot/cold data separation How would you design](https://reader035.fdocuments.net/reader035/viewer/2022071410/610515a0d1a2405d33032264/html5/thumbnails/2.jpg)
Announcements
2
Upcoming deadlines:• Form groups: Feb. 27• Proposal due: Mar. 10
Fill this Google sheet for course project information• https://docs.google.com/spreadsheets/d/1W7ObfjLqjDChm49GqrLg49x6r4B
28-f-PBpQPHX01Mk/edit?usp=sharing
![Page 3: CS 839: Design the Next-Generation Database Lecture 11: NVM2pages.cs.wisc.edu/~yxy/cs839-s20/slides/L11.pdf · 2020. 2. 25. · •Allows hot/cold data separation How would you design](https://reader035.fdocuments.net/reader035/viewer/2022071410/610515a0d1a2405d33032264/html5/thumbnails/3.jpg)
Project Proposal
3
Use VLDB 2020 format• https://vldb2020.org/formatting-guidelines.html
The proposal is 1-page containing the following• Project name• Author list• Abstract (1-2 paragraphs about your idea)• Introduction (Why is the problem interesting; what’s your contribution)• Methodology (how do you plan to approach the problem)• Task-list (Who works on what tasks of the project)• Timeline (List of milestones and when you plan to achieve them)
Submit proposal by March 3 to https://wisc-cs839-ngdb20.hotcrp.com
![Page 4: CS 839: Design the Next-Generation Database Lecture 11: NVM2pages.cs.wisc.edu/~yxy/cs839-s20/slides/L11.pdf · 2020. 2. 25. · •Allows hot/cold data separation How would you design](https://reader035.fdocuments.net/reader035/viewer/2022071410/610515a0d1a2405d33032264/html5/thumbnails/4.jpg)
Discussion Highlights
4
How does memory-mode affect the design? • Will be faster when data fits in DRAM• Need to take care of logging • Memory mode can ease programming• Just use existing main-memory DB without change
Advantage of app-direct mode over memory mode• Directly manage replacement policy• Larger aggregated memory space• Logging can potentially be simplified• Allows hot/cold data separation
How would you design NVM-DB differently? • Better recovery structures that use NVM• Minimize writes to NVM• Use memory-mode or the dual-mode• Replace SSD with NVM (cost?)• Build LSM-tree based storage system
![Page 5: CS 839: Design the Next-Generation Database Lecture 11: NVM2pages.cs.wisc.edu/~yxy/cs839-s20/slides/L11.pdf · 2020. 2. 25. · •Allows hot/cold data separation How would you design](https://reader035.fdocuments.net/reader035/viewer/2022071410/610515a0d1a2405d33032264/html5/thumbnails/5.jpg)
Today’s Paper
5VLDB 2016
![Page 6: CS 839: Design the Next-Generation Database Lecture 11: NVM2pages.cs.wisc.edu/~yxy/cs839-s20/slides/L11.pdf · 2020. 2. 25. · •Allows hot/cold data separation How would you design](https://reader035.fdocuments.net/reader035/viewer/2022071410/610515a0d1a2405d33032264/html5/thumbnails/6.jpg)
Today’s AgendaIntel Optane fault tolerance features
Database logging
Write-behind logging
6
![Page 7: CS 839: Design the Next-Generation Database Lecture 11: NVM2pages.cs.wisc.edu/~yxy/cs839-s20/slides/L11.pdf · 2020. 2. 25. · •Allows hot/cold data separation How would you design](https://reader035.fdocuments.net/reader035/viewer/2022071410/610515a0d1a2405d33032264/html5/thumbnails/7.jpg)
NVM Fault ToleranceCLFLUSH
• Flushes a single cache line out of cache (invalidate). Multiple CLFLUSH instructions execute one by one without concurrency.
CLFLUSHOPT• Similar to CLFLUSH but multiple CLFLUSHOPT instructions can execute in parallel.
CLWB• Cache line write back: Similar to CLFLUSHOPT but the cacheline can stay valid (in
shared state) in the cache.
SFENCE• Store fence. Ensure all previous stores are persistent once the instruction completes.
7
![Page 8: CS 839: Design the Next-Generation Database Lecture 11: NVM2pages.cs.wisc.edu/~yxy/cs839-s20/slides/L11.pdf · 2020. 2. 25. · •Allows hot/cold data separation How would you design](https://reader035.fdocuments.net/reader035/viewer/2022071410/610515a0d1a2405d33032264/html5/thumbnails/8.jpg)
Asynchronous DRAM Refresh (ADR)
• Stores reaching the memory controller (MC) are guaranteed to be persistent
• Reducing latency of persistent store
8
CPU
NVM
On-chip cache
Memory Controller
![Page 9: CS 839: Design the Next-Generation Database Lecture 11: NVM2pages.cs.wisc.edu/~yxy/cs839-s20/slides/L11.pdf · 2020. 2. 25. · •Allows hot/cold data separation How would you design](https://reader035.fdocuments.net/reader035/viewer/2022071410/610515a0d1a2405d33032264/html5/thumbnails/9.jpg)
Database Logging
9
![Page 10: CS 839: Design the Next-Generation Database Lecture 11: NVM2pages.cs.wisc.edu/~yxy/cs839-s20/slides/L11.pdf · 2020. 2. 25. · •Allows hot/cold data separation How would you design](https://reader035.fdocuments.net/reader035/viewer/2022071410/610515a0d1a2405d33032264/html5/thumbnails/10.jpg)
Recap: Write Ahead Logging (Lecture 2)
Begin
Initiallychecking = 1000
Write(Checking =
900)Commit
CRASH
Recovery Read(Checking = 900)
Logging
T1 T2 T3 T4 T5Log(on disk)
…
10
Log to persistent storage before commit
![Page 11: CS 839: Design the Next-Generation Database Lecture 11: NVM2pages.cs.wisc.edu/~yxy/cs839-s20/slides/L11.pdf · 2020. 2. 25. · •Allows hot/cold data separation How would you design](https://reader035.fdocuments.net/reader035/viewer/2022071410/610515a0d1a2405d33032264/html5/thumbnails/11.jpg)
Logging in Disk-Based DatabasesSystem must recover to a valid state no matter when crash occurs
11
Processor
DiskDRAM
Page
![Page 12: CS 839: Design the Next-Generation Database Lecture 11: NVM2pages.cs.wisc.edu/~yxy/cs839-s20/slides/L11.pdf · 2020. 2. 25. · •Allows hot/cold data separation How would you design](https://reader035.fdocuments.net/reader035/viewer/2022071410/610515a0d1a2405d33032264/html5/thumbnails/12.jpg)
Logging in Disk-Based DatabasesSystem must recover to a valid state no matter when crash occurs How does a processor update a page?
12
Processor
DiskDRAM
Page
![Page 13: CS 839: Design the Next-Generation Database Lecture 11: NVM2pages.cs.wisc.edu/~yxy/cs839-s20/slides/L11.pdf · 2020. 2. 25. · •Allows hot/cold data separation How would you design](https://reader035.fdocuments.net/reader035/viewer/2022071410/610515a0d1a2405d33032264/html5/thumbnails/13.jpg)
Logging in Disk-Based DatabasesSystem must recover to a valid state no matter when crash occurs How does a processor update a page?
What if the page is evicted to disk and the system crashes? • The transaction may not have
committed but the dirty page cannot be rolled back
13
Processor
DiskDRAM
Page
![Page 14: CS 839: Design the Next-Generation Database Lecture 11: NVM2pages.cs.wisc.edu/~yxy/cs839-s20/slides/L11.pdf · 2020. 2. 25. · •Allows hot/cold data separation How would you design](https://reader035.fdocuments.net/reader035/viewer/2022071410/610515a0d1a2405d33032264/html5/thumbnails/14.jpg)
Logging in Disk-Based DatabasesSystem must recover to a valid state no matter when crash occurs How does a processor update a page?
What if the page is evicted to disk and the system crashes? • The transaction may not have
committed but the dirty page cannot be rolled back
Design decision:Steal vs. no steal
14
Processor
DiskDRAM
Page
![Page 15: CS 839: Design the Next-Generation Database Lecture 11: NVM2pages.cs.wisc.edu/~yxy/cs839-s20/slides/L11.pdf · 2020. 2. 25. · •Allows hot/cold data separation How would you design](https://reader035.fdocuments.net/reader035/viewer/2022071410/610515a0d1a2405d33032264/html5/thumbnails/15.jpg)
Steal vs. No StealNo steal: dirty pages stay in DRAM• Processor can directly update a page• Main memory database
15
Processor
DiskDRAM
Page
![Page 16: CS 839: Design the Next-Generation Database Lecture 11: NVM2pages.cs.wisc.edu/~yxy/cs839-s20/slides/L11.pdf · 2020. 2. 25. · •Allows hot/cold data separation How would you design](https://reader035.fdocuments.net/reader035/viewer/2022071410/610515a0d1a2405d33032264/html5/thumbnails/16.jpg)
Steal vs. No StealNo steal: dirty pages stay in DRAM• Processor can directly update a page• Main memory database
Steal: dirty pages may overwrite pages on disk• Must flush UNDO log (before-image) to
disk before writing to the page
16
Processor
DiskDRAM
Page
UNDO
![Page 17: CS 839: Design the Next-Generation Database Lecture 11: NVM2pages.cs.wisc.edu/~yxy/cs839-s20/slides/L11.pdf · 2020. 2. 25. · •Allows hot/cold data separation How would you design](https://reader035.fdocuments.net/reader035/viewer/2022071410/610515a0d1a2405d33032264/html5/thumbnails/17.jpg)
Logging in Disk-Based Databases
17
Processor
DiskDRAM
Page
System must recover to a valid state no matter when crash occurs How does a processor commit a transaction?
![Page 18: CS 839: Design the Next-Generation Database Lecture 11: NVM2pages.cs.wisc.edu/~yxy/cs839-s20/slides/L11.pdf · 2020. 2. 25. · •Allows hot/cold data separation How would you design](https://reader035.fdocuments.net/reader035/viewer/2022071410/610515a0d1a2405d33032264/html5/thumbnails/18.jpg)
Logging in Disk-Based Databases
18
Processor
DiskDRAM
Page
System must recover to a valid state no matter when crash occurs How does a processor commit a transaction?
What if the system crashes before the page is evicted to disk? • The transaction may have committed
but the page is lost
![Page 19: CS 839: Design the Next-Generation Database Lecture 11: NVM2pages.cs.wisc.edu/~yxy/cs839-s20/slides/L11.pdf · 2020. 2. 25. · •Allows hot/cold data separation How would you design](https://reader035.fdocuments.net/reader035/viewer/2022071410/610515a0d1a2405d33032264/html5/thumbnails/19.jpg)
Logging in Disk-Based Databases
19
Processor
DiskDRAM
Page
System must recover to a valid state no matter when crash occurs How does a processor commit a transaction?
What if the system crashes before the page is evicted to disk? • The transaction may have committed
but the page is lost
Design decision:Force vs. no force
![Page 20: CS 839: Design the Next-Generation Database Lecture 11: NVM2pages.cs.wisc.edu/~yxy/cs839-s20/slides/L11.pdf · 2020. 2. 25. · •Allows hot/cold data separation How would you design](https://reader035.fdocuments.net/reader035/viewer/2022071410/610515a0d1a2405d33032264/html5/thumbnails/20.jpg)
Force vs. No Force
20
Processor
DiskDRAMPage
Force: All modified pages written back to disk before commit • Can commit transaction after all pages
are forced to disk
![Page 21: CS 839: Design the Next-Generation Database Lecture 11: NVM2pages.cs.wisc.edu/~yxy/cs839-s20/slides/L11.pdf · 2020. 2. 25. · •Allows hot/cold data separation How would you design](https://reader035.fdocuments.net/reader035/viewer/2022071410/610515a0d1a2405d33032264/html5/thumbnails/21.jpg)
Force vs. No Force
21
Processor
DiskDRAM
Page
Force: All modified pages written back to disk before commit • Can commit transaction after all pages
are forced to disk
No Force: Modified pages may stay in main memory• Flush REDO log (after-image) to disk
before committing the transaction
REDO
![Page 22: CS 839: Design the Next-Generation Database Lecture 11: NVM2pages.cs.wisc.edu/~yxy/cs839-s20/slides/L11.pdf · 2020. 2. 25. · •Allows hot/cold data separation How would you design](https://reader035.fdocuments.net/reader035/viewer/2022071410/610515a0d1a2405d33032264/html5/thumbnails/22.jpg)
Steal/No-Steal, Force/No-Force
22
Steal No Steal
Force UNDO only No REDO nor UNDO
No Force REDO and UNDO logging (ARIES)
REDO only
[1] Philip Bernstein, Vassos Hadzilacos, Nathan Goodman, Concurrency Control and Recovery in Database Systems, 1987
![Page 23: CS 839: Design the Next-Generation Database Lecture 11: NVM2pages.cs.wisc.edu/~yxy/cs839-s20/slides/L11.pdf · 2020. 2. 25. · •Allows hot/cold data separation How would you design](https://reader035.fdocuments.net/reader035/viewer/2022071410/610515a0d1a2405d33032264/html5/thumbnails/23.jpg)
Steal/No-Steal, Force/No-Force
23
Steal No Steal
Force UNDO only No REDO nor UNDO
No Force REDO and UNDO logging (ARIES)
REDO only
[1] Philip Bernstein, Vassos Hadzilacos, Nathan Goodman, Concurrency Control and Recovery in Database Systems, 1987
Disk-based DB
![Page 24: CS 839: Design the Next-Generation Database Lecture 11: NVM2pages.cs.wisc.edu/~yxy/cs839-s20/slides/L11.pdf · 2020. 2. 25. · •Allows hot/cold data separation How would you design](https://reader035.fdocuments.net/reader035/viewer/2022071410/610515a0d1a2405d33032264/html5/thumbnails/24.jpg)
Steal/No-Steal, Force/No-Force
24
Steal No Steal
Force UNDO only No REDO nor UNDO
No Force REDO and UNDO logging (ARIES)
REDO only
[1] Philip Bernstein, Vassos Hadzilacos, Nathan Goodman, Concurrency Control and Recovery in Database Systems, 1987
Disk-based DB Main memory DB
![Page 25: CS 839: Design the Next-Generation Database Lecture 11: NVM2pages.cs.wisc.edu/~yxy/cs839-s20/slides/L11.pdf · 2020. 2. 25. · •Allows hot/cold data separation How would you design](https://reader035.fdocuments.net/reader035/viewer/2022071410/610515a0d1a2405d33032264/html5/thumbnails/25.jpg)
Steal/No-Steal, Force/No-Force
25
Steal No Steal
Force UNDO only No REDO nor UNDO
No Force REDO and UNDO logging (ARIES)
REDO only
[1] Philip Bernstein, Vassos Hadzilacos, Nathan Goodman, Concurrency Control and Recovery in Database Systems, 1987
Disk-based DB Main memory DB
NVM DB
![Page 26: CS 839: Design the Next-Generation Database Lecture 11: NVM2pages.cs.wisc.edu/~yxy/cs839-s20/slides/L11.pdf · 2020. 2. 25. · •Allows hot/cold data separation How would you design](https://reader035.fdocuments.net/reader035/viewer/2022071410/610515a0d1a2405d33032264/html5/thumbnails/26.jpg)
Steal/No-Steal, Force/No-Force
26
Steal No StealForce UNDO only No
REDO/UNDONo Force
REDO and UNDO
REDO only
UNDO only:• Flush UNDO record before each update to database
![Page 27: CS 839: Design the Next-Generation Database Lecture 11: NVM2pages.cs.wisc.edu/~yxy/cs839-s20/slides/L11.pdf · 2020. 2. 25. · •Allows hot/cold data separation How would you design](https://reader035.fdocuments.net/reader035/viewer/2022071410/610515a0d1a2405d33032264/html5/thumbnails/27.jpg)
Steal/No-Steal, Force/No-Force
27
Steal No StealForce UNDO only No
REDO/UNDONo Force
REDO and UNDO
REDO only
UNDO only:• Flush UNDO record before each update to database• After all updates are forced to persistent storage, flush COMMIT record• Transaction commits after COMMIT record is persistent
![Page 28: CS 839: Design the Next-Generation Database Lecture 11: NVM2pages.cs.wisc.edu/~yxy/cs839-s20/slides/L11.pdf · 2020. 2. 25. · •Allows hot/cold data separation How would you design](https://reader035.fdocuments.net/reader035/viewer/2022071410/610515a0d1a2405d33032264/html5/thumbnails/28.jpg)
Steal/No-Steal, Force/No-Force
28
Steal No StealForce UNDO only No
REDO/UNDONo Force
REDO and UNDO
REDO only
UNDO only:• Flush UNDO record before each update to database• After all updates are forced to persistent storage, flush COMMIT record• Transaction commits after COMMIT record is persistent • UNDO records of a transaction can be ignored after the transaction commits
![Page 29: CS 839: Design the Next-Generation Database Lecture 11: NVM2pages.cs.wisc.edu/~yxy/cs839-s20/slides/L11.pdf · 2020. 2. 25. · •Allows hot/cold data separation How would you design](https://reader035.fdocuments.net/reader035/viewer/2022071410/610515a0d1a2405d33032264/html5/thumbnails/29.jpg)
Steal/No-Steal, Force/No-Force
29
Steal No StealForce UNDO only No
REDO/UNDONo Force
REDO and UNDO
REDO only
UNDO only:• Flush UNDO record before each update to database• After all updates are forced to persistent storage, flush COMMIT record• Transaction commits after COMMIT record is persistent • UNDO records of a transaction can be ignored after the transaction commits• Recovery: UNDO uncommitted transactions
![Page 30: CS 839: Design the Next-Generation Database Lecture 11: NVM2pages.cs.wisc.edu/~yxy/cs839-s20/slides/L11.pdf · 2020. 2. 25. · •Allows hot/cold data separation How would you design](https://reader035.fdocuments.net/reader035/viewer/2022071410/610515a0d1a2405d33032264/html5/thumbnails/30.jpg)
Steal/No-Steal, Force/No-Force
30
Steal No StealForce UNDO only No
REDO/UNDONo Force
REDO and UNDO
REDO only
All of a transaction’s updates recorded in persistent storage in a single atomic operation
![Page 31: CS 839: Design the Next-Generation Database Lecture 11: NVM2pages.cs.wisc.edu/~yxy/cs839-s20/slides/L11.pdf · 2020. 2. 25. · •Allows hot/cold data separation How would you design](https://reader035.fdocuments.net/reader035/viewer/2022071410/610515a0d1a2405d33032264/html5/thumbnails/31.jpg)
Steal/No-Steal, Force/No-Force
31
Steal No StealForce UNDO only No
REDO/UNDONo Force
REDO and UNDO
REDO only
Shadow version algorithm (No UNDO, no REDO):• Maintain two copies of directories (D0 and D1) that point to the location of records,
use a master bit M to indicate the master copy• Transaction writes all updates to unused location in persistent storage and update
D1-M
• Atomically M = 1-M• Update D1-M
All of a transaction’s updates recorded in persistent storage in a single atomic operation
![Page 32: CS 839: Design the Next-Generation Database Lecture 11: NVM2pages.cs.wisc.edu/~yxy/cs839-s20/slides/L11.pdf · 2020. 2. 25. · •Allows hot/cold data separation How would you design](https://reader035.fdocuments.net/reader035/viewer/2022071410/610515a0d1a2405d33032264/html5/thumbnails/32.jpg)
Multi-Version Database
32
Steal No StealForce UNDO only No
REDO/UNDONo Force
REDO and UNDO
REDO only
For an MVCC database, each update writes to a new version (with a transaction-specific version ID), which naturally achieves no steal
Now need a mechanism to make new versions of a transaction visible using a single atomic operation
All of a transaction’s updates recorded in persistent storage in a single atomic operation
![Page 33: CS 839: Design the Next-Generation Database Lecture 11: NVM2pages.cs.wisc.edu/~yxy/cs839-s20/slides/L11.pdf · 2020. 2. 25. · •Allows hot/cold data separation How would you design](https://reader035.fdocuments.net/reader035/viewer/2022071410/610515a0d1a2405d33032264/html5/thumbnails/33.jpg)
Atomic Visibility
33
Atomically flush commit timestamp to log --> transaction commit
ts=5
ts=6ts=7
Record A
Record BRecord B
ts=10
ts=10ts=10
Record A
Record BRecord B
Updates from Transaction T
TS=10
![Page 34: CS 839: Design the Next-Generation Database Lecture 11: NVM2pages.cs.wisc.edu/~yxy/cs839-s20/slides/L11.pdf · 2020. 2. 25. · •Allows hot/cold data separation How would you design](https://reader035.fdocuments.net/reader035/viewer/2022071410/610515a0d1a2405d33032264/html5/thumbnails/34.jpg)
Atomic Visibility
34
Atomically flush commit timestamp to log --> transaction commitDownside: during recovery, difficult to decide what records have committed
ts=5
ts=6ts=7
Record A
Record BRecord B
ts=10
ts=10ts=10
Record A
Record BRecord B
Updates from Transaction T
TS=10
![Page 35: CS 839: Design the Next-Generation Database Lecture 11: NVM2pages.cs.wisc.edu/~yxy/cs839-s20/slides/L11.pdf · 2020. 2. 25. · •Allows hot/cold data separation How would you design](https://reader035.fdocuments.net/reader035/viewer/2022071410/610515a0d1a2405d33032264/html5/thumbnails/35.jpg)
Write-Behind Logging
35
• Group commit TS=(cp, cd)• All transactions before cp have committed except listed outliers• No transactions after cd could have started• During recovery, ignore versions between cp and cd and outliers
ts=5
ts=6ts=7
Record A
Record BRecord B
ts=10
ts=10ts=10
Record A
Record BRecord B
Updates from a group of transactions
8, TS=(10, 20)
![Page 36: CS 839: Design the Next-Generation Database Lecture 11: NVM2pages.cs.wisc.edu/~yxy/cs839-s20/slides/L11.pdf · 2020. 2. 25. · •Allows hot/cold data separation How would you design](https://reader035.fdocuments.net/reader035/viewer/2022071410/610515a0d1a2405d33032264/html5/thumbnails/36.jpg)
Evaluations33
PERFORMANCE33
Write-Behind LoggingWrite-Ahead Logging
Throughput(txn/sec)
1
100
10,000
Hard Disk Drive
Solid State Drive
Non-Volatile Memory
10x
1.3x
36Slide from https://www.cc.gatech.edu/~jarulraj/talks/2016.wbl.pdf
![Page 37: CS 839: Design the Next-Generation Database Lecture 11: NVM2pages.cs.wisc.edu/~yxy/cs839-s20/slides/L11.pdf · 2020. 2. 25. · •Allows hot/cold data separation How would you design](https://reader035.fdocuments.net/reader035/viewer/2022071410/610515a0d1a2405d33032264/html5/thumbnails/37.jpg)
Evaluations32
APPLICATION AVAILABILITY32
1
100
10,000
Hard Disk Drive
Solid State Drive
Non-Volatile Memory
Write-Behind LoggingWrite-Ahead Logging
Recovery Time(sec)
1000x
Slide from https://www.cc.gatech.edu/~jarulraj/talks/2016.wbl.pdf 37
![Page 38: CS 839: Design the Next-Generation Database Lecture 11: NVM2pages.cs.wisc.edu/~yxy/cs839-s20/slides/L11.pdf · 2020. 2. 25. · •Allows hot/cold data separation How would you design](https://reader035.fdocuments.net/reader035/viewer/2022071410/610515a0d1a2405d33032264/html5/thumbnails/38.jpg)
SummaryNVM: new device in the storage hierarchy• Byte-addressable• Non-volatile
Taking advantage of both byte-addressability and non-volatility to improve performance of fault tolerance • Force + steal ---> UNDO only• Force + MVCC ---> No UNDO, No REDO
38
![Page 39: CS 839: Design the Next-Generation Database Lecture 11: NVM2pages.cs.wisc.edu/~yxy/cs839-s20/slides/L11.pdf · 2020. 2. 25. · •Allows hot/cold data separation How would you design](https://reader035.fdocuments.net/reader035/viewer/2022071410/610515a0d1a2405d33032264/html5/thumbnails/39.jpg)
NVM – Q/A Physical vs. logical logging?
256 GB of DRAM (AWS u-24tb1.metal has 24 TB main memory)
Torn writes: Only part of a multi-sector update are written successfully to disk
Value-based vs. operational logging?
WBL in the three-tier BM architecture39
![Page 40: CS 839: Design the Next-Generation Database Lecture 11: NVM2pages.cs.wisc.edu/~yxy/cs839-s20/slides/L11.pdf · 2020. 2. 25. · •Allows hot/cold data separation How would you design](https://reader035.fdocuments.net/reader035/viewer/2022071410/610515a0d1a2405d33032264/html5/thumbnails/40.jpg)
Group DiscussionDistributed databases today require high availability (i.e., datareplication) and recovery from a different machine; what does this mean for NVM-based fault tolerance?
What are the advantages of REDO only, UNDO only, and write-behind logging with respective to each other?
How does WBL work in the three-tier architecture from last lecture?
40
![Page 41: CS 839: Design the Next-Generation Database Lecture 11: NVM2pages.cs.wisc.edu/~yxy/cs839-s20/slides/L11.pdf · 2020. 2. 25. · •Allows hot/cold data separation How would you design](https://reader035.fdocuments.net/reader035/viewer/2022071410/610515a0d1a2405d33032264/html5/thumbnails/41.jpg)
Before Next LectureSubmit discussion summary to https://wisc-cs839-ngdb20.hotcrp.com• Deadline: Wednesday 11:59pm
Submit review for• Joins in a Heterogeneous Memory Hierarchy: Exploiting High-Bandwidth
Memory• [optional] Fundamental Latency Trade-offs in Architecting DRAM Caches
41