SlideShare una empresa de Scribd logo
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

Más contenido relacionado

Similar a 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 Perspective
Perforce
 
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
Intel IT Center
 
Data as a Service
Data as a Service Data as a Service
Data as a Service
Kyle Hailey
 
Sprint 89
Sprint 89Sprint 89
Sprint 89
ManageIQ
 
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
ssuser670564
 
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
Nishant Gupta
 
Chicago Docker Meetup Presentation - Mediafly
Chicago Docker Meetup Presentation - MediaflyChicago Docker Meetup Presentation - Mediafly
Chicago Docker Meetup Presentation - Mediafly
Mediafly
 
SQL on Azure
SQL on AzureSQL on Azure
SQL on Azure
Maximiliano Accotto
 
The New Root Zone DNSSEC KSK
The New Root Zone DNSSEC KSKThe New Root Zone DNSSEC KSK
The New Root Zone DNSSEC KSK
APNIC
 
Erp ehp6 medialist
Erp ehp6 medialistErp ehp6 medialist
Erp ehp6 medialist
Adnan Khalid
 
Inf bco2891 release candidate v11 copy
Inf bco2891 release candidate v11 copyInf bco2891 release candidate v11 copy
Inf bco2891 release candidate v11 copy
Abdul Rasheed
 
Kubernetes and CNCF Landscape 101
Kubernetes and CNCF Landscape 101Kubernetes and CNCF Landscape 101
Kubernetes and CNCF Landscape 101
Giulio 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 know
David 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 Load
Joshua 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 Project
K.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 Magic
Perforce
 
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 a 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...
 

Más de 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 application
Bartosz 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 applications
Bartosz Sypytkowski
 
Rich collaborative data structures for everyone
Rich collaborative data structures for everyoneRich collaborative data structures for everyone
Rich collaborative data structures for everyone
Bartosz Sypytkowski
 
Postgres indexes
Postgres indexesPostgres indexes
Postgres indexes
Bartosz Sypytkowski
 
Behind modern concurrency primitives
Behind modern concurrency primitivesBehind modern concurrency primitives
Behind modern concurrency primitives
Bartosz Sypytkowski
 
Collaborative eventsourcing
Collaborative eventsourcingCollaborative eventsourcing
Collaborative eventsourcing
Bartosz Sypytkowski
 
Behind modern concurrency primitives
Behind modern concurrency primitivesBehind modern concurrency primitives
Behind modern concurrency primitives
Bartosz Sypytkowski
 
Living in eventually consistent reality
Living in eventually consistent realityLiving in eventually consistent reality
Living in eventually consistent reality
Bartosz Sypytkowski
 
Virtual machines - how they work
Virtual machines - how they workVirtual machines - how they work
Virtual machines - how they work
Bartosz Sypytkowski
 
Short story of time
Short story of timeShort story of time
Short story of time
Bartosz Sypytkowski
 
Akka.NET streams and reactive streams
Akka.NET streams and reactive streamsAkka.NET streams and reactive streams
Akka.NET streams and reactive streams
Bartosz Sypytkowski
 
Collaborative text editing
Collaborative text editingCollaborative text editing
Collaborative text editing
Bartosz Sypytkowski
 
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
Bartosz 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 age
Bartosz Sypytkowski
 

Más de 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
 

Último

YAML crash COURSE how to write yaml file for adding configuring details
YAML crash COURSE how to write yaml file for adding configuring detailsYAML crash COURSE how to write yaml file for adding configuring details
YAML crash COURSE how to write yaml file for adding configuring details
NishanthaBulumulla1
 
What next after learning python programming basics
What next after learning python programming basicsWhat next after learning python programming basics
What next after learning python programming basics
Rakesh Kumar R
 
Mobile App Development Company In Noida | Drona Infotech
Mobile App Development Company In Noida | Drona InfotechMobile App Development Company In Noida | Drona Infotech
Mobile App Development Company In Noida | Drona Infotech
Drona Infotech
 
Safelyio Toolbox Talk Softwate & App (How To Digitize Safety Meetings)
Safelyio Toolbox Talk Softwate & App (How To Digitize Safety Meetings)Safelyio Toolbox Talk Softwate & App (How To Digitize Safety Meetings)
Safelyio Toolbox Talk Softwate & App (How To Digitize Safety Meetings)
safelyiotech
 
Hand Rolled Applicative User Validation Code Kata
Hand Rolled Applicative User ValidationCode KataHand Rolled Applicative User ValidationCode Kata
Hand Rolled Applicative User Validation Code Kata
Philip Schwarz
 
How Can Hiring A Mobile App Development Company Help Your Business Grow?
How Can Hiring A Mobile App Development Company Help Your Business Grow?How Can Hiring A Mobile App Development Company Help Your Business Grow?
How Can Hiring A Mobile App Development Company Help Your Business Grow?
ToXSL Technologies
 
Malibou Pitch Deck For Its €3M Seed Round
Malibou Pitch Deck For Its €3M Seed RoundMalibou Pitch Deck For Its €3M Seed Round
Malibou Pitch Deck For Its €3M Seed Round
sjcobrien
 
ALGIT - Assembly Line for Green IT - Numbers, Data, Facts
ALGIT - Assembly Line for Green IT - Numbers, Data, FactsALGIT - Assembly Line for Green IT - Numbers, Data, Facts
ALGIT - Assembly Line for Green IT - Numbers, Data, Facts
Green Software Development
 
14 th Edition of International conference on computer vision
14 th Edition of International conference on computer vision14 th Edition of International conference on computer vision
14 th Edition of International conference on computer vision
ShulagnaSarkar2
 
J-Spring 2024 - Going serverless with Quarkus, GraalVM native images and AWS ...
J-Spring 2024 - Going serverless with Quarkus, GraalVM native images and AWS ...J-Spring 2024 - Going serverless with Quarkus, GraalVM native images and AWS ...
J-Spring 2024 - Going serverless with Quarkus, GraalVM native images and AWS ...
Bert Jan Schrijver
 
Modelling Up - DDDEurope 2024 - Amsterdam
Modelling Up - DDDEurope 2024 - AmsterdamModelling Up - DDDEurope 2024 - Amsterdam
Modelling Up - DDDEurope 2024 - Amsterdam
Alberto Brandolini
 
All you need to know about Spring Boot and GraalVM
All you need to know about Spring Boot and GraalVMAll you need to know about Spring Boot and GraalVM
All you need to know about Spring Boot and GraalVM
Alina Yurenko
 
Preparing Non - Technical Founders for Engaging a Tech Agency
Preparing Non - Technical Founders for Engaging  a  Tech AgencyPreparing Non - Technical Founders for Engaging  a  Tech Agency
Preparing Non - Technical Founders for Engaging a Tech Agency
ISH Technologies
 
GreenCode-A-VSCode-Plugin--Dario-Jurisic
GreenCode-A-VSCode-Plugin--Dario-JurisicGreenCode-A-VSCode-Plugin--Dario-Jurisic
GreenCode-A-VSCode-Plugin--Dario-Jurisic
Green Software Development
 
zOS Mainframe JES2-JES3 JCL-JECL Differences
zOS Mainframe JES2-JES3 JCL-JECL DifferenceszOS Mainframe JES2-JES3 JCL-JECL Differences
zOS Mainframe JES2-JES3 JCL-JECL Differences
YousufSait3
 
UI5con 2024 - Boost Your Development Experience with UI5 Tooling Extensions
UI5con 2024 - Boost Your Development Experience with UI5 Tooling ExtensionsUI5con 2024 - Boost Your Development Experience with UI5 Tooling Extensions
UI5con 2024 - Boost Your Development Experience with UI5 Tooling Extensions
Peter Muessig
 
Oracle 23c New Features For DBAs and Developers.pptx
Oracle 23c New Features For DBAs and Developers.pptxOracle 23c New Features For DBAs and Developers.pptx
Oracle 23c New Features For DBAs and Developers.pptx
Remote DBA Services
 
Everything You Need to Know About X-Sign: The eSign Functionality of XfilesPr...
Everything You Need to Know About X-Sign: The eSign Functionality of XfilesPr...Everything You Need to Know About X-Sign: The eSign Functionality of XfilesPr...
Everything You Need to Know About X-Sign: The eSign Functionality of XfilesPr...
XfilesPro
 
一比一原版(UMN毕业证)明尼苏达大学毕业证如何办理
一比一原版(UMN毕业证)明尼苏达大学毕业证如何办理一比一原版(UMN毕业证)明尼苏达大学毕业证如何办理
一比一原版(UMN毕业证)明尼苏达大学毕业证如何办理
dakas1
 
Lecture 2 - software testing SE 412.pptx
Lecture 2 - software testing SE 412.pptxLecture 2 - software testing SE 412.pptx
Lecture 2 - software testing SE 412.pptx
TaghreedAltamimi
 

Último (20)

YAML crash COURSE how to write yaml file for adding configuring details
YAML crash COURSE how to write yaml file for adding configuring detailsYAML crash COURSE how to write yaml file for adding configuring details
YAML crash COURSE how to write yaml file for adding configuring details
 
What next after learning python programming basics
What next after learning python programming basicsWhat next after learning python programming basics
What next after learning python programming basics
 
Mobile App Development Company In Noida | Drona Infotech
Mobile App Development Company In Noida | Drona InfotechMobile App Development Company In Noida | Drona Infotech
Mobile App Development Company In Noida | Drona Infotech
 
Safelyio Toolbox Talk Softwate & App (How To Digitize Safety Meetings)
Safelyio Toolbox Talk Softwate & App (How To Digitize Safety Meetings)Safelyio Toolbox Talk Softwate & App (How To Digitize Safety Meetings)
Safelyio Toolbox Talk Softwate & App (How To Digitize Safety Meetings)
 
Hand Rolled Applicative User Validation Code Kata
Hand Rolled Applicative User ValidationCode KataHand Rolled Applicative User ValidationCode Kata
Hand Rolled Applicative User Validation Code Kata
 
How Can Hiring A Mobile App Development Company Help Your Business Grow?
How Can Hiring A Mobile App Development Company Help Your Business Grow?How Can Hiring A Mobile App Development Company Help Your Business Grow?
How Can Hiring A Mobile App Development Company Help Your Business Grow?
 
Malibou Pitch Deck For Its €3M Seed Round
Malibou Pitch Deck For Its €3M Seed RoundMalibou Pitch Deck For Its €3M Seed Round
Malibou Pitch Deck For Its €3M Seed Round
 
ALGIT - Assembly Line for Green IT - Numbers, Data, Facts
ALGIT - Assembly Line for Green IT - Numbers, Data, FactsALGIT - Assembly Line for Green IT - Numbers, Data, Facts
ALGIT - Assembly Line for Green IT - Numbers, Data, Facts
 
14 th Edition of International conference on computer vision
14 th Edition of International conference on computer vision14 th Edition of International conference on computer vision
14 th Edition of International conference on computer vision
 
J-Spring 2024 - Going serverless with Quarkus, GraalVM native images and AWS ...
J-Spring 2024 - Going serverless with Quarkus, GraalVM native images and AWS ...J-Spring 2024 - Going serverless with Quarkus, GraalVM native images and AWS ...
J-Spring 2024 - Going serverless with Quarkus, GraalVM native images and AWS ...
 
Modelling Up - DDDEurope 2024 - Amsterdam
Modelling Up - DDDEurope 2024 - AmsterdamModelling Up - DDDEurope 2024 - Amsterdam
Modelling Up - DDDEurope 2024 - Amsterdam
 
All you need to know about Spring Boot and GraalVM
All you need to know about Spring Boot and GraalVMAll you need to know about Spring Boot and GraalVM
All you need to know about Spring Boot and GraalVM
 
Preparing Non - Technical Founders for Engaging a Tech Agency
Preparing Non - Technical Founders for Engaging  a  Tech AgencyPreparing Non - Technical Founders for Engaging  a  Tech Agency
Preparing Non - Technical Founders for Engaging a Tech Agency
 
GreenCode-A-VSCode-Plugin--Dario-Jurisic
GreenCode-A-VSCode-Plugin--Dario-JurisicGreenCode-A-VSCode-Plugin--Dario-Jurisic
GreenCode-A-VSCode-Plugin--Dario-Jurisic
 
zOS Mainframe JES2-JES3 JCL-JECL Differences
zOS Mainframe JES2-JES3 JCL-JECL DifferenceszOS Mainframe JES2-JES3 JCL-JECL Differences
zOS Mainframe JES2-JES3 JCL-JECL Differences
 
UI5con 2024 - Boost Your Development Experience with UI5 Tooling Extensions
UI5con 2024 - Boost Your Development Experience with UI5 Tooling ExtensionsUI5con 2024 - Boost Your Development Experience with UI5 Tooling Extensions
UI5con 2024 - Boost Your Development Experience with UI5 Tooling Extensions
 
Oracle 23c New Features For DBAs and Developers.pptx
Oracle 23c New Features For DBAs and Developers.pptxOracle 23c New Features For DBAs and Developers.pptx
Oracle 23c New Features For DBAs and Developers.pptx
 
Everything You Need to Know About X-Sign: The eSign Functionality of XfilesPr...
Everything You Need to Know About X-Sign: The eSign Functionality of XfilesPr...Everything You Need to Know About X-Sign: The eSign Functionality of XfilesPr...
Everything You Need to Know About X-Sign: The eSign Functionality of XfilesPr...
 
一比一原版(UMN毕业证)明尼苏达大学毕业证如何办理
一比一原版(UMN毕业证)明尼苏达大学毕业证如何办理一比一原版(UMN毕业证)明尼苏达大学毕业证如何办理
一比一原版(UMN毕业证)明尼苏达大学毕业证如何办理
 
Lecture 2 - software testing SE 412.pptx
Lecture 2 - software testing SE 412.pptxLecture 2 - software testing SE 412.pptx
Lecture 2 - software testing SE 412.pptx
 

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