SlideShare a Scribd company logo
1 of 87
Databases: zero-downtime
backup & point-in-time
recovery
INTRODUCTION
Bartosz Sypytkowski
▪ @Horusiath
▪ b.sypytkowski@gmail.com
▪ bartoszsypytkowski.com
 How databases persist data on disk
 How to backup changes
 How to restore database
 Optimizations and tricks
AGENDA
B+TREE
B+TREE
P1
k6 k8 k10 k11
P2
k2 k4 k6
P3
k7 v7 k8 v8
P4
k9 v9 k10 v10
P5
k11 v11
P6
k1 v1 k2 v2
P7
k3 v3 k4 v4
P8
k5 v5 k6 v6
B+TREE
ON DISK
P1
P2 P3 P8 P9
P5 P6 P10
P1 P2 P3 P5 P6 P8 P9
Database file
P10
Free pages
Root page
4KiB 4KiB 4KiB
4KiB 4KiB
4KiB
COMPAR
ING
VECTOR
CLOCKS
SQLITE
ARCHITECTURE
Core
Backend
Compiler
Interface
SQL Command
Processor
Virtual Machine
B+Tree
Pager
Virtual File System
Tokenizer
Parser
Code Generator
Rollback
Journal
Write-Ahead
Log
ROLLBACK JOURNAL
SQLITE
ROLLBACK
JOURNAL P1
P2 P3
UPDATE users SET name = ‘Joe’ WHERE id = 1;
B+Tree
Pager
Database
File
P1
P2
P3
Rollback
Journal
SQLITE
ROLLBACK
JOURNAL P1
P2 P3
UPDATE users SET name = ‘Joe’ WHERE id = 1;
B+Tree
Pager
Database
File
P1
P2
P3
Rollback
Journal
Locate page
with the
record
SQLITE
ROLLBACK
JOURNAL P1
P2 P3
UPDATE users SET name = ‘Joe’ WHERE id = 1;
B+Tree
Pager
Database
File
P1
P2
P3
Rollback
Journal
P2
Copy pages to
Rollback
Journal
P1
SQLITE
ROLLBACK
JOURNAL P1
P2 P3
UPDATE users SET name = ‘Joe’ WHERE id = 1;
B+Tree
Pager
Database
File
P1
P2
P3
Rollback
Journal
P2
P1
Modify
affected
pages
SQLITE
ROLLBACK
JOURNAL P1
P2 P3
UPDATE users SET name = ‘Joe’ WHERE id = 1;
B+Tree
Pager
Database
File
P1
P2
P3
Rollback
Journal
WRITE-AHEAD LOG
SQLITE
WRITE-AHEAD
LOG P1
P2 P3
UPDATE users SET name = ‘Joe’ WHERE id = 1;
B+Tree
Pager
Database
File
P1
P2
P3
Write-Ahead
Log
SQLITE
WRITE-AHEAD
LOG P1
P2 P3
UPDATE users SET name = ‘Joe’ WHERE id = 1;
B+Tree
Pager
Database
File
P1
P2
P3
Write-Ahead
Log
Locate page
with the
record
SQLITE
WRITE-AHEAD
LOG P1
P2 P3
UPDATE users SET name = ‘Joe’ WHERE id = 1;
B+Tree
Pager
Database
File
P1
P2
P3
Write-Ahead
Log
P1
P2
Write new
page versions
SQLITE
WRITE-AHEAD
LOG P1
P2 P3
UPDATE users SET name = ‘Joe’ WHERE id = 1;
B+Tree
Pager
Database
File
P1
P2
P3
Write-Ahead
Log
P1
P2
Pager
redirects
pages to new
versions
WRITE-AHEAD LOG
CHECKPOINT
SQLITE
WRITE-AHEAD
LOG P1
P2 P3
PRAGMA checkpoint(TRUNCATE);
B+Tree
Pager
Database
File
P1
P2
P3
Write-Ahead
Log
P1
P2
SQLITE
WRITE-AHEAD
LOG P1
P2 P3
PRAGMA checkpoint(TRUNCATE);
B+Tree
Pager
Database
File
P1
P2
P3
Write-Ahead
Log
P1
P2
Override DB
file with log
data
SQLITE
WRITE-AHEAD
LOG P1
P2 P3
PRAGMA checkpoint(TRUNCATE);
B+Tree
Pager
Database
File
P1
P2
P3
Write-Ahead
Log
EVERY CHANGED PAGE MUST BE
FIRST APPENDED AT THE END OF
THE WRITE-AHEAD LOG FILE
EVERY CHANGE IN THE DATABASE
FILE COMES FROM READING
FRONT-TO-BACK WRITE-AHEAD
LOG FILE
EVERY CHANGED PAGE MUST BE
FIRST APPENDED AT THE END OF
THE WRITE-AHEAD LOG FILE
LOG CAN BE PRETTY USEFUL
SQLITE BACKUP
BACKING UP CHANGED PAGES
101
Write-Ahead Log
Database process
Backup service Backup drive
BACKING UP CHANGED PAGES
101
Write-Ahead Log
Database process
Backup service Backup drive
P3
F1
BACKING UP CHANGED PAGES
101
Write-Ahead Log
Database process
Backup service Backup drive
P3
F1 P4
F2
BACKING UP CHANGED PAGES
101
Write-Ahead Log
Database process
Backup service Backup drive
P3
F1 P4
F2 P3
F3
BACKING UP CHANGED PAGES
101
Write-Ahead Log
Database process
Backup service Backup drive
P3
F1 P4
F2 P3
F3 P1
F4
BACKING UP CHANGED PAGES
101
Write-Ahead Log
Database process
Backup service Backup drive
P3
F1 P4
F2 P3
F3
P3
F1
P4
F2
P3
F3
F1-F3-2024/02/10/07:54:00
P1
F4
BACKING UP CHANGED PAGES
101
Write-Ahead Log
Database process
Backup service Backup drive
P3
F1 P4
F2 P3
F3
P3
F1
P4
F2
P3
F3
F1-F3-2024/02/10/07:54:00
P1
F4
BACKING UP CHANGED PAGES
101
Write-Ahead Log
Database process
Backup service Backup drive
P3
F1 P4
F2 P3
F3
P3
F1
P4
F2
P3
F3
F1-F3-2024/02/10/07:54:00
P1
F4
RESTORE
POINT-IN-TIME RECOVRERY
101
Write-Ahead Log
Database process
Backup service Backup drive F1-F3-2024/02/10/07:54:00
F4-F5-2024/02/10/07:54:10
F6-F7-2024/02/11/11:02:00
F8-F9-2024/02/12/20:30:00
POINT-IN-TIME RECOVRERY
101
Write-Ahead Log
Database process
Backup service Backup drive F1-F3-2024/02/10/07:54:00
F4-F5-2024/02/10/07:54:10
F6-F7-2024/02/11/11:02:00
F8-F9-2024/02/12/20:30:00
restore(2024/02/11/10:00:00)
POINT-IN-TIME RECOVRERY
101
Write-Ahead Log
Database process
Backup service Backup drive F1-F3-2024/02/10/07:54:00
F4-F5-2024/02/10/07:54:10
F6-F7-2024/02/11/11:02:00
F8-F9-2024/02/12/20:30:00
P3
F1
P4
F2
P3
F3
F1-F3-2024/02/10/07:54:00
POINT-IN-TIME RECOVRERY
101
Write-Ahead Log
Database process
Backup service Backup drive F1-F3-2024/02/10/07:54:00
F4-F5-2024/02/10/07:54:10
F6-F7-2024/02/11/11:02:00
F8-F9-2024/02/12/20:30:00
P3
F1 P3
F1 P3
F1
POINT-IN-TIME RECOVRERY
101
Write-Ahead Log
Database process
Backup service Backup drive F1-F3-2024/02/10/07:54:00
F4-F5-2024/02/10/07:54:10
F6-F7-2024/02/11/11:02:00
F8-F9-2024/02/12/20:30:00
P3
F1 P3
F1 P3
F1
P1
F4
P2
F5
F4-F5-2024/02/10/07:54:10
POINT-IN-TIME RECOVRERY
101
Write-Ahead Log
Database process
Backup service Backup drive F1-F3-2024/02/10/07:54:00
F4-F5-2024/02/10/07:54:10
F6-F7-2024/02/11/11:02:00
F8-F9-2024/02/12/20:30:00
P3
F1 P3
F1 P3
F1 P1
F4 P2
F5
POINT-IN-TIME RECOVRERY
101
Write-Ahead Log
Database process
Backup service Backup drive F1-F3-2024/02/10/07:54:00
F4-F5-2024/02/10/07:54:10
F6-F7-2024/02/11/11:02:00
F8-F9-2024/02/12/20:30:00
P3
F1 P3
F1 P3
F1 P1
F4 P2
F5
PRAGMA CHECKPOINT(TRUNCATE);
POINT-IN-TIME RECOVRERY
101
Write-Ahead Log
Database process
Backup service Backup drive F1-F3-2024/02/10/07:54:00
F4-F5-2024/02/10/07:54:10
F6-F7-2024/02/11/11:02:00
F8-F9-2024/02/12/20:30:00
P3
F1 P3
F1 P3
F1 P1
F4 P2
F5
POINT-IN-TIME RECOVRERY
101
Write-Ahead Log
Database process
Backup service Backup drive F1-F3-2024/02/10/07:54:00
F4-F5-2024/02/10/07:54:10
F6-F7-2024/02/11/11:02:00
F8-F9-2024/02/12/20:30:00
P3
F1 P3
F1 P3
F1 P1
F4 P2
F5
POINT-IN-TIME RECOVRERY
101
Write-Ahead Log
Database process
Backup service Backup drive F1-F3-2024/02/10/07:54:00
F4-F5-2024/02/10/07:54:10
F6-F7-2024/02/11/11:02:00
F8-F9-2024/02/12/20:30:00
P3
F1 P3
F1 P3
F1 P1
F4 P2
F5
POINT-IN-TIME RECOVRERY
101
Write-Ahead Log
Database process
Backup service Backup drive F1-F3-2024/02/10/07:54:00
F4-F5-2024/02/10/07:54:10
F6-F7-2024/02/11/11:02:00
F8-F9-2024/02/12/20:30:00
P3
F1 P3
F1 P3
F1 P1
F4 P2
F5
POINT-IN-TIME RECOVRERY
101
Write-Ahead Log
Database process
Backup service Backup drive F1-F3-2024/02/10/07:54:00
F4-F5-2024/02/10/07:54:10
F6-F7-2024/02/11/11:02:00
F8-F9-2024/02/12/20:30:00
P3
F1 P3
F1 P3
F1 P1
F4 P2
F5
POINT-IN-TIME RECOVRERY
101
Write-Ahead Log
Database process
Backup service Backup drive F1-F3-2024/02/10/07:54:00
F4-F5-2024/02/10/07:54:10
F6-F7-2024/02/11/11:02:00
F8-F9-2024/02/12/20:30:00
WHAT IF LOG FILE IS TOO BIG?
COMPAR
ING
VECTOR
CLOCKS
WRITE-AHEAD
LOG FRAMES
https://www.sqlite.org/fileformat.html#the_write_ahead_log
Magic number File version
Database page size Checkpoint Seq. No.
0 4B 8B
Salt
Checksum
WAL HEADER
Page number DB size after commit
Salt
Checksum
Page data (4KiB)
Page number DB size after commit
WAL FRAME 1
WAL FRAME 2
COMPAR
ING
VECTOR
CLOCKS
WRITE-AHEAD
LOG FRAMES
https://www.sqlite.org/fileformat.html#the_write_ahead_log
Magic number File version
Database page size Checkpoint Seq. No.
0 4B 8B
Salt
Checksum
Page number DB size after commit
Salt
Checksum
Page data (4KiB)
Page number DB size after commit
if NOT 0, current
frame marks
transaction commit
ROLLBACK ISSUE
TRANSACTION
COMMIT & ROLLBACK
Write-Ahead Log
Database process
BEGIN DEFERRED;
T1
EOF
TRANSACTION
COMMIT & ROLLBACK
Write-Ahead Log
Database process
P3
F1
INSERT INTO t(name) VALUES(‘John Doe’);
size_after=0
T1
T1
EOF
TRANSACTION
COMMIT & ROLLBACK
Write-Ahead Log
Database process
P3
F1
COMMIT;
P1
F2
size_after=0 size_after=3
T1
T1
EOF
TRANSACTION
COMMIT & ROLLBACK
Write-Ahead Log
Database process
P3
F1 P1
F2
size_after=0 size_after=3
T1
BEGIN DEFERRED;
T2
EOF
TRANSACTION
COMMIT & ROLLBACK
Write-Ahead Log
Database process
P3
F1 P1
F2
size_after=0 size_after=3
T1
T2
UPDATE t SET banned = 1;
P3
F3 P1
F4
size_after=0 size_after=0
EOF
TRANSACTION
COMMIT & ROLLBACK
Write-Ahead Log
Database process
P3
F1 P1
F2
size_after=0 size_after=3
T1
P3
F3 P1
F4
size_after=0 size_after=0
ROLLBACK;
EOF
TRANSACTION
COMMIT & ROLLBACK
Write-Ahead Log
Database process
P3
F1 P1
F2
size_after=0 size_after=3
T1
P3
F3 P1
F4
size_after=0 size_after=0
ROLLBACK;
EOF
what if we already backed up these
frames? :/
DON’T BACKUP FRAMES THAT WERE NOT CONFIRMED AS
COMMITTED
POINT-IN-TIME RECOVRERY PROBLEM
Write-Ahead Log
Database process
Backup service Backup drive F1-F3-2024/02/10/07:54:00
F4-F5-2024/02/10/07:54:10
F6-F7-2024/02/11/11:02:00
F8-F9-2024/02/12/20:30:00
restore(2024/02/11/10:00:00)
Write-Ahead Log
Database process
Backup service Backup drive F1-F3-2024/02/10/07:54:00
F4-F5-2024/02/10/07:54:10
F6-F7-2024/02/11/11:02:00
F8-F9-2024/02/12/20:30:00
P3
F1 P3
F1 P3
F1 P1
F4 P2
F5
POINT-IN-TIME RECOVRERY PROBLEM
F1-F3-2024/02/10/07:54:00
F4-F5-2024/02/10/07:54:10
Write-Ahead Log
Database process
Backup service Backup drive F1-F3-2024/02/10/07:54:00
F4-F5-2024/02/10/07:54:10
F6-F7-2024/02/11/11:02:00
F8-F9-2024/02/12/20:30:00
POINT-IN-TIME RECOVRERY PROBLEM
INSERT INTO t(name)
VALUES(‘John Doe’);
Write-Ahead Log
Database process
Backup service Backup drive F1-F3-2024/02/10/07:54:00
F4-F5-2024/02/10/07:54:10
F6-F7-2024/02/11/11:02:00
F8-F9-2024/02/12/20:30:00
POINT-IN-TIME RECOVRERY PROBLEM
P5
F1 P1
F2
Write-Ahead Log
Database process
Backup service Backup drive F1-F3-2024/02/10/07:54:00
F4-F5-2024/02/10/07:54:10
F6-F7-2024/02/11/11:02:00
F8-F9-2024/02/12/20:30:00
POINT-IN-TIME RECOVRERY PROBLEM
P5
F1 P1
F2
P5
F1
P1
F2
F1-F2-2024/02/13/09:30:00
Write-Ahead Log
Database process
Backup service Backup drive F1-F3-2024/02/10/07:54:00
F4-F5-2024/02/10/07:54:10
F6-F7-2024/02/11/11:02:00
F8-F9-2024/02/12/20:30:00
POINT-IN-TIME RECOVRERY PROBLEM
P5
F1 P1
F2
P5
F1
P1
F2
F1-F2-2024/02/13/09:30:00
Write-Ahead Log
Database process
Backup service Backup drive F1-F3-2024/02/10/07:54:00
F4-F5-2024/02/10/07:54:10
F6-F7-2024/02/11/11:02:00
F8-F9-2024/02/12/20:30:00
POINT-IN-TIME RECOVRERY PROBLEM
P5
F1 P1
F2
P5
F1
P1
F2
F1-F2-2024/02/13/09:30:00
Database history is no longer linear!
GENERATIONS
SPLIT LOG HISTORY INTO SESSIONS
COMPAR
ING
VECTOR
CLOCKS
GENERATIONS
G1/F1-F3-2024/02/10/07:54:00
Backup drive
G1/.snapshot
G1/F4-F6-2024/02/10/09:30:00
G1/F7-F8-2024/02/11/03:11:00
G1/F9-F10-2024/02/12/14:44:10
G2/.parent
G2/F1-F2-2024/02/11/04:39:13
G2/F3-F8-2024/02/12/05:12:55
G1
G2
DELTAS
COMPACTING HISTORY
DELTAS
Backup drive
P3
F1
P4
F2
P3
F3
F1-F3-2024/02/10/07:54:00
P1
F4
P2
F5
P3
F6
F4-F6-2024/02/10/09:33:00
Compacting process
DELTAS
Backup drive
P3
F1
P4
F2
P3
F3
F1-F3-2024/02/10/07:54:00
P1
F4
P2
F5
P3
F6
F4-F6-2024/02/10/09:33:00
Compacting process
Visited pages:
P3
P3
H1
Delta file
Artificial Delta
Header
DELTAS
Backup drive
P3
F1
P4
F2
P3
F3
F1-F3-2024/02/10/07:54:00
P1
F4
P2
F5
P3
F6
F4-F6-2024/02/10/09:33:00
Compacting process
Visited pages:
P2 P3
P3
H1
Delta file
P2
H1
DELTAS
Backup drive
P3
F1
P4
F2
P3
F3
F1-F3-2024/02/10/07:54:00
P1
F4
P2
F5
P3
F6
F4-F6-2024/02/10/09:33:00
Compacting process
Visited pages:
P1 P2 P3
P3
H1
Delta file
P2
H1
P1
H3
DELTAS
Backup drive
P3
F1
P4
F2
P3
F3
F1-F3-2024/02/10/07:54:00
P1
F4
P2
F5
P3
F6
F4-F6-2024/02/10/09:33:00
Compacting process
Visited pages:
P1 P2 P3
Skip P3 since it’s
already present in
visited pages
P3
H1
Delta file
P2
H1
P1
H3
DELTAS
Backup drive
P3
F1
P4
F2
P3
F3
F1-F3-2024/02/10/07:54:00
P1
F4
P2
F5
P3
F6
F4-F6-2024/02/10/09:33:00
Compacting process
Visited pages:
P1 P2 P3 P4
P3
H1
Delta file
P2
H1
P1
H3
P4
H4
DELTAS
Backup drive
P3
F1
P4
F2
P3
F3
F1-F3-2024/02/10/07:54:00
P1
F4
P2
F5
P3
F6
F4-F6-2024/02/10/09:33:00
Compacting process
P3
H1
Delta file
Visited pages:
P1 P2 P3 P4
P2
H1
P1
H3
P4
H4
Skip P3 since it’s
already present in
visited pages
DELTAS CAN BE EASILY MERGED
COMPAR
ING
VECTOR
CLOCKS
DELTA MERGE
P3
H1
Delta
file
P2
H1
P1
H3
P4
H4
F1-F6-2024/02/10/09:33:00
P5
H1
Delta
file
P1
H1
P3
H3
P4
H4
F7-F13-2024/02/10/12:02:00
COMPAR
ING
VECTOR
CLOCKS
DELTA MERGE
P3
H1
Delta
file
P2
H1
P1
H3
P4
H4
F1-F6-2024/02/10/09:33:00
P5
H1
Delta
file
P1
H1
P3
H3
P4
H4
F7-F13-2024/02/10/12:02:00
P5
H1
Delta
file
P1
H1
P3
H3
P4
H4
F1-F13-2024/02/10/12:02:00
Latest delta can be
copied as is
Visited pages:
P1 P3 P4 P5
COMPAR
ING
VECTOR
CLOCKS
DELTA MERGE
P3
H1
Delta
file
P2
H1
P1
H3
P4
H4
F1-F6-2024/02/10/09:33:00
P5
H1
Delta
file
P1
H1
P3
H3
P4
H4
F7-F13-2024/02/10/12:02:00
P5
H1
Delta
file
P1
H1
P3
H3
P4
H4
F1-F13-2024/02/10/12:02:00
Visited pages:
P1 P3 P4 P5
Skip P3 since it’s
already present in
visited pages
COMPAR
ING
VECTOR
CLOCKS
DELTA MERGE
P3
H1
Delta
file
P2
H1
P1
H3
P4
H4
F1-F6-2024/02/10/09:33:00
P5
H1
Delta
file
P1
H1
P3
H3
P4
H4
F7-F13-2024/02/10/12:02:00
P5
H1
Delta
file
P1
H1
P3
H3
P4
H4
F1-F13-2024/02/10/12:02:00
Visited pages:
P1 P2 P3 P4 P5
P2
H1
COMPAR
ING
VECTOR
CLOCKS
DELTA MERGE
P3
H1
Delta
file
P2
H1
P1
H3
P4
H4
F1-F6-2024/02/10/09:33:00
P5
H1
Delta
file
P1
H1
P3
H3
P4
H4
F7-F13-2024/02/10/12:02:00
F1-F13-2024/02/10/12:02:00
Visited pages:
P1 P2 P3 P4 P5
Skip P1 since it’s
already present in
visited pages
P5
H1
Delta
file
P1
H1
P3
H3
P4
H4
P2
H1
COMPAR
ING
VECTOR
CLOCKS
DELTA MERGE
P3
H1
Delta
file
P2
H1
P1
H3
P4
H4
F1-F6-2024/02/10/09:33:00
P5
H1
Delta
file
P1
H1
P3
H3
P4
H4
F7-F13-2024/02/10/12:02:00
P5
H1
Delta
file
P1
H1
P3
H3
P4
H4
F1-F13-2024/02/10/12:02:00
Visited pages:
P1 P3 P4 P5
Skip P4 since it’s
already present in
visited pages
SUMMARY
 How does continuous backup and point-in-time recovery work in databases:
https://www.bartoszsypytkowski.com/db-backup-point-in-time-recovery
 Litestream: https://litestream.io/
 SQLite write-ahead log docs: https://www.sqlite.org/wal.html
REFERENCES

More Related Content

Similar to How do databases perform live backups and point-in-time recovery

About Flink streaming
About Flink streamingAbout Flink streaming
About Flink streaming용휘 김
 
2600Hz - The Next Wave - KazooCon 2015
2600Hz - The Next Wave - KazooCon 2015 2600Hz - The Next Wave - KazooCon 2015
2600Hz - The Next Wave - KazooCon 2015 2600Hz
 
3 Ways to Improve Performance from a Storage Perspective
3 Ways to Improve Performance from a Storage Perspective3 Ways to Improve Performance from a Storage Perspective
3 Ways to Improve Performance from a Storage PerspectivePerforce
 
Intel® Xeon® Processor E5-2600 v4 Big Data Analytics Applications Showcase
Intel® Xeon® Processor E5-2600 v4 Big Data Analytics Applications ShowcaseIntel® Xeon® Processor E5-2600 v4 Big Data Analytics Applications Showcase
Intel® Xeon® Processor E5-2600 v4 Big Data Analytics Applications ShowcaseIntel IT Center
 
Data as a Service
Data as a Service Data as a Service
Data as a Service Kyle Hailey
 
oracle upgrade 2015_509_Swonger_ppt.pptx
oracle upgrade 2015_509_Swonger_ppt.pptxoracle upgrade 2015_509_Swonger_ppt.pptx
oracle upgrade 2015_509_Swonger_ppt.pptxssuser670564
 
2516186 oracle9i-dba-fundamentals-ii-volume-ii
2516186 oracle9i-dba-fundamentals-ii-volume-ii2516186 oracle9i-dba-fundamentals-ii-volume-ii
2516186 oracle9i-dba-fundamentals-ii-volume-iiNishant Gupta
 
Chicago Docker Meetup Presentation - Mediafly
Chicago Docker Meetup Presentation - MediaflyChicago Docker Meetup Presentation - Mediafly
Chicago Docker Meetup Presentation - MediaflyMediafly
 
The New Root Zone DNSSEC KSK
The New Root Zone DNSSEC KSKThe New Root Zone DNSSEC KSK
The New Root Zone DNSSEC KSKAPNIC
 
Erp ehp6 medialist
Erp ehp6 medialistErp ehp6 medialist
Erp ehp6 medialistAdnan Khalid
 
Inf bco2891 release candidate v11 copy
Inf bco2891 release candidate v11 copyInf bco2891 release candidate v11 copy
Inf bco2891 release candidate v11 copyAbdul Rasheed
 
Kubernetes and CNCF Landscape 101
Kubernetes and CNCF Landscape 101Kubernetes and CNCF Landscape 101
Kubernetes and CNCF Landscape 101Giulio Roggero
 
Behind story in publisher that developer doesn't know
Behind story in publisher that developer doesn't knowBehind story in publisher that developer doesn't know
Behind story in publisher that developer doesn't knowDavid Kim
 
Taming Oracle EBS R12.x Accrual Reconciliation Load
Taming Oracle EBS R12.x Accrual Reconciliation LoadTaming Oracle EBS R12.x Accrual Reconciliation Load
Taming Oracle EBS R12.x Accrual Reconciliation LoadJoshua Johnson, MIS
 
Implementing SharePoint on Azure, Lessons Learnt from a Real World Project
Implementing SharePoint on Azure, Lessons Learnt from a Real World ProjectImplementing SharePoint on Azure, Lessons Learnt from a Real World Project
Implementing SharePoint on Azure, Lessons Learnt from a Real World ProjectK.Mohamed Faizal
 
[NetApp] Managing Big Workspaces with Storage Magic
[NetApp] Managing Big Workspaces with Storage Magic[NetApp] Managing Big Workspaces with Storage Magic
[NetApp] Managing Big Workspaces with Storage MagicPerforce
 
DataEngConf SF16 - Collecting and Moving Data at Scale
DataEngConf SF16 - Collecting and Moving Data at Scale DataEngConf SF16 - Collecting and Moving Data at Scale
DataEngConf SF16 - Collecting and Moving Data at Scale Hakka Labs
 
OakTableWorld 2013: Ultimate Exadata IO monitoring – Flash, HardDisk , & Writ...
OakTableWorld 2013: Ultimate Exadata IO monitoring – Flash, HardDisk , & Writ...OakTableWorld 2013: Ultimate Exadata IO monitoring – Flash, HardDisk , & Writ...
OakTableWorld 2013: Ultimate Exadata IO monitoring – Flash, HardDisk , & Writ...Kristofferson A
 

Similar to How do databases perform live backups and point-in-time recovery (20)

About Flink streaming
About Flink streamingAbout Flink streaming
About Flink streaming
 
2600Hz - The Next Wave - KazooCon 2015
2600Hz - The Next Wave - KazooCon 2015 2600Hz - The Next Wave - KazooCon 2015
2600Hz - The Next Wave - KazooCon 2015
 
3 Ways to Improve Performance from a Storage Perspective
3 Ways to Improve Performance from a Storage Perspective3 Ways to Improve Performance from a Storage Perspective
3 Ways to Improve Performance from a Storage Perspective
 
Intel® Xeon® Processor E5-2600 v4 Big Data Analytics Applications Showcase
Intel® Xeon® Processor E5-2600 v4 Big Data Analytics Applications ShowcaseIntel® Xeon® Processor E5-2600 v4 Big Data Analytics Applications Showcase
Intel® Xeon® Processor E5-2600 v4 Big Data Analytics Applications Showcase
 
Data as a Service
Data as a Service Data as a Service
Data as a Service
 
Sprint 89
Sprint 89Sprint 89
Sprint 89
 
oracle upgrade 2015_509_Swonger_ppt.pptx
oracle upgrade 2015_509_Swonger_ppt.pptxoracle upgrade 2015_509_Swonger_ppt.pptx
oracle upgrade 2015_509_Swonger_ppt.pptx
 
2516186 oracle9i-dba-fundamentals-ii-volume-ii
2516186 oracle9i-dba-fundamentals-ii-volume-ii2516186 oracle9i-dba-fundamentals-ii-volume-ii
2516186 oracle9i-dba-fundamentals-ii-volume-ii
 
Chicago Docker Meetup Presentation - Mediafly
Chicago Docker Meetup Presentation - MediaflyChicago Docker Meetup Presentation - Mediafly
Chicago Docker Meetup Presentation - Mediafly
 
SQL on Azure
SQL on AzureSQL on Azure
SQL on Azure
 
The New Root Zone DNSSEC KSK
The New Root Zone DNSSEC KSKThe New Root Zone DNSSEC KSK
The New Root Zone DNSSEC KSK
 
Erp ehp6 medialist
Erp ehp6 medialistErp ehp6 medialist
Erp ehp6 medialist
 
Inf bco2891 release candidate v11 copy
Inf bco2891 release candidate v11 copyInf bco2891 release candidate v11 copy
Inf bco2891 release candidate v11 copy
 
Kubernetes and CNCF Landscape 101
Kubernetes and CNCF Landscape 101Kubernetes and CNCF Landscape 101
Kubernetes and CNCF Landscape 101
 
Behind story in publisher that developer doesn't know
Behind story in publisher that developer doesn't knowBehind story in publisher that developer doesn't know
Behind story in publisher that developer doesn't know
 
Taming Oracle EBS R12.x Accrual Reconciliation Load
Taming Oracle EBS R12.x Accrual Reconciliation LoadTaming Oracle EBS R12.x Accrual Reconciliation Load
Taming Oracle EBS R12.x Accrual Reconciliation Load
 
Implementing SharePoint on Azure, Lessons Learnt from a Real World Project
Implementing SharePoint on Azure, Lessons Learnt from a Real World ProjectImplementing SharePoint on Azure, Lessons Learnt from a Real World Project
Implementing SharePoint on Azure, Lessons Learnt from a Real World Project
 
[NetApp] Managing Big Workspaces with Storage Magic
[NetApp] Managing Big Workspaces with Storage Magic[NetApp] Managing Big Workspaces with Storage Magic
[NetApp] Managing Big Workspaces with Storage Magic
 
DataEngConf SF16 - Collecting and Moving Data at Scale
DataEngConf SF16 - Collecting and Moving Data at Scale DataEngConf SF16 - Collecting and Moving Data at Scale
DataEngConf SF16 - Collecting and Moving Data at Scale
 
OakTableWorld 2013: Ultimate Exadata IO monitoring – Flash, HardDisk , & Writ...
OakTableWorld 2013: Ultimate Exadata IO monitoring – Flash, HardDisk , & Writ...OakTableWorld 2013: Ultimate Exadata IO monitoring – Flash, HardDisk , & Writ...
OakTableWorld 2013: Ultimate Exadata IO monitoring – Flash, HardDisk , & Writ...
 

More from Bartosz Sypytkowski

Postgres indexes: how to make them work for your application
Postgres indexes: how to make them work for your applicationPostgres indexes: how to make them work for your application
Postgres indexes: how to make them work for your applicationBartosz Sypytkowski
 
Scaling connections in peer-to-peer applications
Scaling connections in peer-to-peer applicationsScaling connections in peer-to-peer applications
Scaling connections in peer-to-peer applicationsBartosz Sypytkowski
 
Rich collaborative data structures for everyone
Rich collaborative data structures for everyoneRich collaborative data structures for everyone
Rich collaborative data structures for everyoneBartosz Sypytkowski
 
Behind modern concurrency primitives
Behind modern concurrency primitivesBehind modern concurrency primitives
Behind modern concurrency primitivesBartosz Sypytkowski
 
Behind modern concurrency primitives
Behind modern concurrency primitivesBehind modern concurrency primitives
Behind modern concurrency primitivesBartosz Sypytkowski
 
Living in eventually consistent reality
Living in eventually consistent realityLiving in eventually consistent reality
Living in eventually consistent realityBartosz Sypytkowski
 
Virtual machines - how they work
Virtual machines - how they workVirtual machines - how they work
Virtual machines - how they workBartosz Sypytkowski
 
Akka.NET streams and reactive streams
Akka.NET streams and reactive streamsAkka.NET streams and reactive streams
Akka.NET streams and reactive streamsBartosz Sypytkowski
 
GraphQL - an elegant weapon... for more civilized age
GraphQL - an elegant weapon... for more civilized ageGraphQL - an elegant weapon... for more civilized age
GraphQL - an elegant weapon... for more civilized ageBartosz Sypytkowski
 

More from Bartosz Sypytkowski (14)

Postgres indexes: how to make them work for your application
Postgres indexes: how to make them work for your applicationPostgres indexes: how to make them work for your application
Postgres indexes: how to make them work for your application
 
Scaling connections in peer-to-peer applications
Scaling connections in peer-to-peer applicationsScaling connections in peer-to-peer applications
Scaling connections in peer-to-peer applications
 
Rich collaborative data structures for everyone
Rich collaborative data structures for everyoneRich collaborative data structures for everyone
Rich collaborative data structures for everyone
 
Postgres indexes
Postgres indexesPostgres indexes
Postgres indexes
 
Behind modern concurrency primitives
Behind modern concurrency primitivesBehind modern concurrency primitives
Behind modern concurrency primitives
 
Collaborative eventsourcing
Collaborative eventsourcingCollaborative eventsourcing
Collaborative eventsourcing
 
Behind modern concurrency primitives
Behind modern concurrency primitivesBehind modern concurrency primitives
Behind modern concurrency primitives
 
Living in eventually consistent reality
Living in eventually consistent realityLiving in eventually consistent reality
Living in eventually consistent reality
 
Virtual machines - how they work
Virtual machines - how they workVirtual machines - how they work
Virtual machines - how they work
 
Short story of time
Short story of timeShort story of time
Short story of time
 
Akka.NET streams and reactive streams
Akka.NET streams and reactive streamsAkka.NET streams and reactive streams
Akka.NET streams and reactive streams
 
Collaborative text editing
Collaborative text editingCollaborative text editing
Collaborative text editing
 
The last mile from db to disk
The last mile from db to diskThe last mile from db to disk
The last mile from db to disk
 
GraphQL - an elegant weapon... for more civilized age
GraphQL - an elegant weapon... for more civilized ageGraphQL - an elegant weapon... for more civilized age
GraphQL - an elegant weapon... for more civilized age
 

Recently uploaded

Odoo 14 - eLearning Module In Odoo 14 Enterprise
Odoo 14 - eLearning Module In Odoo 14 EnterpriseOdoo 14 - eLearning Module In Odoo 14 Enterprise
Odoo 14 - eLearning Module In Odoo 14 Enterprisepreethippts
 
Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...Velvetech LLC
 
How to Track Employee Performance A Comprehensive Guide.pdf
How to Track Employee Performance A Comprehensive Guide.pdfHow to Track Employee Performance A Comprehensive Guide.pdf
How to Track Employee Performance A Comprehensive Guide.pdfLivetecs LLC
 
What is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWhat is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWave PLM
 
MYjobs Presentation Django-based project
MYjobs Presentation Django-based projectMYjobs Presentation Django-based project
MYjobs Presentation Django-based projectAnoyGreter
 
Intelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmIntelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmSujith Sukumaran
 
Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Andreas Granig
 
EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityNeo4j
 
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)jennyeacort
 
Ahmed Motair CV April 2024 (Senior SW Developer)
Ahmed Motair CV April 2024 (Senior SW Developer)Ahmed Motair CV April 2024 (Senior SW Developer)
Ahmed Motair CV April 2024 (Senior SW Developer)Ahmed Mater
 
Cloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEECloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEEVICTOR MAESTRE RAMIREZ
 
Implementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureImplementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureDinusha Kumarasiri
 
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfGOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfAlina Yurenko
 
CRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. SalesforceCRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. SalesforceBrainSell Technologies
 
Unveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsUnveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsAhmed Mohamed
 
A healthy diet for your Java application Devoxx France.pdf
A healthy diet for your Java application Devoxx France.pdfA healthy diet for your Java application Devoxx France.pdf
A healthy diet for your Java application Devoxx France.pdfMarharyta Nedzelska
 
SpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at RuntimeSpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at Runtimeandrehoraa
 
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEBATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEOrtus Solutions, Corp
 
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...Angel Borroy López
 

Recently uploaded (20)

Odoo 14 - eLearning Module In Odoo 14 Enterprise
Odoo 14 - eLearning Module In Odoo 14 EnterpriseOdoo 14 - eLearning Module In Odoo 14 Enterprise
Odoo 14 - eLearning Module In Odoo 14 Enterprise
 
Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...
 
Advantages of Odoo ERP 17 for Your Business
Advantages of Odoo ERP 17 for Your BusinessAdvantages of Odoo ERP 17 for Your Business
Advantages of Odoo ERP 17 for Your Business
 
How to Track Employee Performance A Comprehensive Guide.pdf
How to Track Employee Performance A Comprehensive Guide.pdfHow to Track Employee Performance A Comprehensive Guide.pdf
How to Track Employee Performance A Comprehensive Guide.pdf
 
What is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWhat is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need It
 
MYjobs Presentation Django-based project
MYjobs Presentation Django-based projectMYjobs Presentation Django-based project
MYjobs Presentation Django-based project
 
Intelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmIntelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalm
 
Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024
 
EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered Sustainability
 
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
 
Ahmed Motair CV April 2024 (Senior SW Developer)
Ahmed Motair CV April 2024 (Senior SW Developer)Ahmed Motair CV April 2024 (Senior SW Developer)
Ahmed Motair CV April 2024 (Senior SW Developer)
 
Cloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEECloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEE
 
Implementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureImplementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with Azure
 
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfGOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
 
CRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. SalesforceCRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. Salesforce
 
Unveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsUnveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML Diagrams
 
A healthy diet for your Java application Devoxx France.pdf
A healthy diet for your Java application Devoxx France.pdfA healthy diet for your Java application Devoxx France.pdf
A healthy diet for your Java application Devoxx France.pdf
 
SpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at RuntimeSpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at Runtime
 
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEBATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
 
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
 

How do databases perform live backups and point-in-time recovery