SlideShare a Scribd company logo
1 of 38
From Backups To Time Travel: A
Systems Perspective on Snapshots
Ross Shaull
Where it comes from
A Modular and Efficient Past State System for Berkeley DB.
Ross Shaull, Liuba Shrira, Barbara Liskov. USENIX 2014.
Retro: A Methodology for Retrospection Everywhere (PhD thesis).
Ross Shaull. 2013.
Skippy: a new snapshot indexing method for time travel in the storage manager.
Ross Shaull, Liuba Shrira, Hao Xu. SIGMOD 2008.
Talk plan
• Define snapshots and programming model
• Architecture
• Compare with other approaches
• Formal model for deriving snapshot protocols
• How snapshots are saved and accessed
• A peek at why snapshots are recoverable
• Challenges and opportunities in a distributed
system
– Speculation and pronouncement
Snapshots and Retrospection
• Past states of data can provide insights
– trend analysis
– anomaly and intrusion detection
• Auditing may require past-state retention
• Saving consistent past states (snapshots) is
challenging and not available in all data stores
• Retrospection = point in time query +
programming model
Snapshots are
• Consistent
• Global
• Named
• Application-declared
June 2014
Salary: $200K
Snapshots are
• Consistent
• Global
• Named
• Application-declared
June 2013
Salary: $120K
June 2013
Snapshot
Programming Model
begin;
insert into accounts values(…);
update accounts
set balance=0 where name=‘Tom’;
snapshot;
commit;
select * from accounts
where name = ‘Tom’
as of S;
Backup
• Separate copy of data
– Usually stored off-site
• Think of it as a copy of a snapshot
– Can also be incremental of course
• Snapshots and backup are different, an in-situ
snapshot does not protect from catastrophic
storage loss, a backup does not enable
retrospection
Architecture
Application
Database
Interface
Transactional storage manager
Snapshot layer
WAL Page cache MVCC
DB Disk Retro Disk
as of snap
Access methods / indexes
Snapshot layer
works at the page
level, inside the
TSM
Protocol extensions
Application
Database
Interface
Transactional storage manager
Snapshot layer
WAL Page cache MVCC
DB Disk Retro Disk
as of snap
Access methods / indexes
Retro recovery
Retro page cache
• Snapshot page
translation
• Concurrency for
retrospection
• Efficient COW
Why this design for Retro?
• Logical-level snapshots require
significant modifications to the
data store
Application
Database
Interface
TSM
Snapshot layer
DB Disk Retro Disk
as of snap
Access methods / indexes
Why this design for Retro?
• Logical-level snapshots require
significant modifications to the
data store
• With low-level snapshots, it can
be expensive to get consistency
Application
Database
Interface
TSM
Snapshot layer
DB Disk Retro Disk
as of snap
Access methods / indexes
Why this design for Retro?
• Logical-level snapshots require
significant modifications to the
data store
• With low-level snapshots, it’s
expensive to get consistency
• Retro is not “too high” or “too
low”
– Simple integration and non-
disruptive
Application
Database
Interface
TSM
Snapshot layer
DB Disk Retro Disk
as of snap
Access methods / indexes
An interlude
• We’ll look at a snapshot strategy that depends
on a system layer below the database
– What are its strengths and weaknesses?
– Why implement inside the database?
• We’ll also quickly review some database
concepts
Atomic file system snapshot
• Below the level of database transactions
• Can provide crash consistent snapshots
• An alternative with limitations
• Before we talk about limitations, let’s look at
why it provides crash-consistency
Atomicity and Durability
• A and D in ACID
• Modern relational databases typically achieve
them with transactions which are logged to a
write-ahead log (WAL)
Visibility of this
object is which
letter in ACID?
Page cache
Journal Data
Atomicity and Durability
Atomic file system snapshot
• Strengths
– Simple: compose it from existing building blocks
• Weaknesses
– Snapshot consistent but may not be precise
– Must perform recovery before retrospection
– Requires file system support
Retro snapshots, copy-on-write
T1: update P1, P2, declare S2
T2: update P1
P1
P2
Database Retro
P1
P2
P1
P1
P2
P1
S1
S2
Transactions
Retro snapshots
• Retrospection as of snapshot S is equivalent to
a hypothetical current-state query that runs
immediately after S was declared
T1: update P1, P2, declare S2
T2: update P1
P1
P2
Database Retro
P1
P2
P1
P1
P2
P1
S1
S2
Transactions
Overwrite sequence (OWS)
• OWS(H) is a tagging of history H
– which page pre-states to save
– the snapshot pages a retrospective query accesses
– which pre-states and snapshot declarations to
recover
A Modular and Efficient Past State System for Berkeley DB.
Ross Shaull, Liuba Shrira, Barbara Liskov. USENIX 2014.
Protocol extension: MVCC
• Concurrent access to current state and
snapshots
• Efficient copying of snapshots
• Retrospection runs using MVCC and page
requests are redirected to snapshot pages that
have migrated to Retro disk
Retrospection (querying as of)
Snapshot Layer
Access methods / indexes
Page cache
Page name translation
Database disk Retro disk
Interface as of
Look up (DBFile, P)@S1
Get (DBFile, P)
Get (RetroFile, X)
@S1
Current state queries
Snapshot Layer
Access methods / indexes
Page cache
Page name translation
Database disk Retro disk
Interface
Get (DBFile, P)
Protocol extensions: Recovery
• Like the database, snapshots are written
asynchronously (non-disruptiveness)
• Retro saves pre-states during BDB recovery
– Snapshot declarations are also logged
• Identify needed pre-states using Retro
metadata during recovery
Protocol extension: Recovery
• Runtime invariants
– Snapshots are made durable first (WAS-invariant)
• Recovery-time extension
– Recover snapshot metadata first
– Idempotent
• we can tell if pre-state was saved already (using
snapshot metadata)
• only recreate pre-states not saved yet
Experimental evaluation
• Implemented as a set of callbacks
– About 250 lines of modifications to BDB source
– Call into about 5000 lines of snapshot layer code
• Retro is thread-safe
• Care taken to follow OWS(H) order in face of
concurrency
Experimental Results
• Database and snapshot data are written to one disk,
logs to the other
• Database size is 1 gb
• Snapshot store on Retro disk can be >100 gb
• Non-disruptiveness
– Random update workload with and without Retro
– With Retro, declare snapshot after every transaction
– Enforcing invariants for snapshot durability imposes
about 4% overhead on throughput
Retrospection: I/O
build page table
query
1.0
1.1
1.2
1.3
1.4
1.5
1.6
1.7
1.8
1.9
50/50
80/20
90/10
50/50
80/20
90/10
costintermsofQ
skew
100mb 1gb
Now about that future…
• Distributed systems can support snapshots
for example…
– HDFS (distributed block store) has COW snapshots
– Cassandra can do EC backups
– Many systems must be quiesced first
• We want inexpensive snapshots with online,
in-situ retrospection?
Replicated systems, MVCC
• If there is correspondence between histories
on replicas, then a replica can save snapshots
– A replica saving snapshots eventually receives a
record of all transactions
• If a distributed system provides snapshot
isolation, MVCC can be exploited for
retrospection
– Exploit visibility mechanisms built into system to
determine which objects belong to each snapshot
We are here at NuoDB after all
TE TE
SM SM
Distributed durable
cache
Let’s speculate
TE TE
SM SM
Transaction tier
Durability tier
Retrospection
Transaction tier
Durability tier
AS OF query
Miss that requires going to an SM
Retrospection
Transaction tier
Durability tier
AS OF query
Correct version of object AS OF snapshot
Visibility computed with MVCC
Opportunities
• Adding the capability to store and query
snapshots is similar to adding capacity
• Multiple replicas can improve the
performance of saving and accessing
snapshots
• Snapshot workload can be physically
separated from current-state workload within
the same database
Conclusions
• Retro is a novel design for adding retrospection
– Supports powerful programming model
– Non-disruptive, long-lived snapshots
• Layered design key to simple design and
implementation
– Protocol extensions make it efficient, see paper
• Adding snapshots to a distributed system is a
natural extension with opportunities to improve
coexistence of current and past states
Thank You!
Questions?
e: info@nuodb.com
t:@nuodb
www.nuodb.com

More Related Content

What's hot

Oracle real application_cluster
Oracle real application_clusterOracle real application_cluster
Oracle real application_clusterPrabhat gangwar
 
Real-time Data Loading from Oracle and MySQL to Data Warehouses, Analytics
Real-time Data Loading from Oracle and MySQL to Data Warehouses, AnalyticsReal-time Data Loading from Oracle and MySQL to Data Warehouses, Analytics
Real-time Data Loading from Oracle and MySQL to Data Warehouses, AnalyticsContinuent
 
Training Slides: Basics 103: The Power of Tungsten Connector / Proxy
Training Slides: Basics 103: The Power of Tungsten Connector / ProxyTraining Slides: Basics 103: The Power of Tungsten Connector / Proxy
Training Slides: Basics 103: The Power of Tungsten Connector / ProxyContinuent
 
HBaseCon 2012 | HBase, the Use Case in eBay Cassini
HBaseCon 2012 | HBase, the Use Case in eBay Cassini HBaseCon 2012 | HBase, the Use Case in eBay Cassini
HBaseCon 2012 | HBase, the Use Case in eBay Cassini Cloudera, Inc.
 
TeraCache: Efficient Caching Over Fast Storage Devices
TeraCache: Efficient Caching Over Fast Storage DevicesTeraCache: Efficient Caching Over Fast Storage Devices
TeraCache: Efficient Caching Over Fast Storage DevicesDatabricks
 
SciMATE: A Novel MapReduce-Like Framework for Multiple Scientific Data Formats
SciMATE: A Novel MapReduce-Like Framework for Multiple Scientific Data FormatsSciMATE: A Novel MapReduce-Like Framework for Multiple Scientific Data Formats
SciMATE: A Novel MapReduce-Like Framework for Multiple Scientific Data FormatsQian Lin
 
Bn 1016 demo postgre sql-online-training
Bn 1016 demo  postgre sql-online-trainingBn 1016 demo  postgre sql-online-training
Bn 1016 demo postgre sql-online-trainingconline training
 
HBaseCon 2012 | Building a Large Search Platform on a Shoestring Budget
HBaseCon 2012 | Building a Large Search Platform on a Shoestring BudgetHBaseCon 2012 | Building a Large Search Platform on a Shoestring Budget
HBaseCon 2012 | Building a Large Search Platform on a Shoestring BudgetCloudera, Inc.
 
HBaseCon 2015: HBase at Scale in an Online and High-Demand Environment
HBaseCon 2015: HBase at Scale in an Online and  High-Demand EnvironmentHBaseCon 2015: HBase at Scale in an Online and  High-Demand Environment
HBaseCon 2015: HBase at Scale in an Online and High-Demand EnvironmentHBaseCon
 
The architecture of oak
The architecture of oakThe architecture of oak
The architecture of oakMichael Dürig
 
Llap: Locality is Dead
Llap: Locality is DeadLlap: Locality is Dead
Llap: Locality is Deadt3rmin4t0r
 
HBase Applications - Atlanta HUG - May 2014
HBase Applications - Atlanta HUG - May 2014HBase Applications - Atlanta HUG - May 2014
HBase Applications - Atlanta HUG - May 2014larsgeorge
 
Hadoop 3.0 features
Hadoop 3.0 featuresHadoop 3.0 features
Hadoop 3.0 featuresanand murari
 
Apache HBase: Where We've Been and What's Upcoming
Apache HBase: Where We've Been and What's UpcomingApache HBase: Where We've Been and What's Upcoming
Apache HBase: Where We've Been and What's Upcominghuguk
 
HBaseCon 2012 | HBase and HDFS: Past, Present, Future - Todd Lipcon, Cloudera
HBaseCon 2012 | HBase and HDFS: Past, Present, Future - Todd Lipcon, ClouderaHBaseCon 2012 | HBase and HDFS: Past, Present, Future - Todd Lipcon, Cloudera
HBaseCon 2012 | HBase and HDFS: Past, Present, Future - Todd Lipcon, ClouderaCloudera, Inc.
 
Hadoop Meetup Jan 2019 - Overview of Ozone
Hadoop Meetup Jan 2019 - Overview of OzoneHadoop Meetup Jan 2019 - Overview of Ozone
Hadoop Meetup Jan 2019 - Overview of OzoneErik Krogen
 
hbaseconasia2017: Large scale data near-line loading method and architecture
hbaseconasia2017: Large scale data near-line loading method and architecturehbaseconasia2017: Large scale data near-line loading method and architecture
hbaseconasia2017: Large scale data near-line loading method and architectureHBaseCon
 

What's hot (20)

Oracle real application_cluster
Oracle real application_clusterOracle real application_cluster
Oracle real application_cluster
 
Real-time Data Loading from Oracle and MySQL to Data Warehouses, Analytics
Real-time Data Loading from Oracle and MySQL to Data Warehouses, AnalyticsReal-time Data Loading from Oracle and MySQL to Data Warehouses, Analytics
Real-time Data Loading from Oracle and MySQL to Data Warehouses, Analytics
 
Training Slides: Basics 103: The Power of Tungsten Connector / Proxy
Training Slides: Basics 103: The Power of Tungsten Connector / ProxyTraining Slides: Basics 103: The Power of Tungsten Connector / Proxy
Training Slides: Basics 103: The Power of Tungsten Connector / Proxy
 
HBaseCon 2012 | HBase, the Use Case in eBay Cassini
HBaseCon 2012 | HBase, the Use Case in eBay Cassini HBaseCon 2012 | HBase, the Use Case in eBay Cassini
HBaseCon 2012 | HBase, the Use Case in eBay Cassini
 
TeraCache: Efficient Caching Over Fast Storage Devices
TeraCache: Efficient Caching Over Fast Storage DevicesTeraCache: Efficient Caching Over Fast Storage Devices
TeraCache: Efficient Caching Over Fast Storage Devices
 
SciMATE: A Novel MapReduce-Like Framework for Multiple Scientific Data Formats
SciMATE: A Novel MapReduce-Like Framework for Multiple Scientific Data FormatsSciMATE: A Novel MapReduce-Like Framework for Multiple Scientific Data Formats
SciMATE: A Novel MapReduce-Like Framework for Multiple Scientific Data Formats
 
Bn 1016 demo postgre sql-online-training
Bn 1016 demo  postgre sql-online-trainingBn 1016 demo  postgre sql-online-training
Bn 1016 demo postgre sql-online-training
 
HBaseCon 2012 | Building a Large Search Platform on a Shoestring Budget
HBaseCon 2012 | Building a Large Search Platform on a Shoestring BudgetHBaseCon 2012 | Building a Large Search Platform on a Shoestring Budget
HBaseCon 2012 | Building a Large Search Platform on a Shoestring Budget
 
HBaseCon 2015: HBase at Scale in an Online and High-Demand Environment
HBaseCon 2015: HBase at Scale in an Online and  High-Demand EnvironmentHBaseCon 2015: HBase at Scale in an Online and  High-Demand Environment
HBaseCon 2015: HBase at Scale in an Online and High-Demand Environment
 
The architecture of oak
The architecture of oakThe architecture of oak
The architecture of oak
 
Postgres clusters
Postgres clustersPostgres clusters
Postgres clusters
 
Llap: Locality is Dead
Llap: Locality is DeadLlap: Locality is Dead
Llap: Locality is Dead
 
HBase Applications - Atlanta HUG - May 2014
HBase Applications - Atlanta HUG - May 2014HBase Applications - Atlanta HUG - May 2014
HBase Applications - Atlanta HUG - May 2014
 
Hadoop scheduler
Hadoop schedulerHadoop scheduler
Hadoop scheduler
 
Hadoop 3.0 features
Hadoop 3.0 featuresHadoop 3.0 features
Hadoop 3.0 features
 
Apache HBase: Where We've Been and What's Upcoming
Apache HBase: Where We've Been and What's UpcomingApache HBase: Where We've Been and What's Upcoming
Apache HBase: Where We've Been and What's Upcoming
 
25 snowflake
25 snowflake25 snowflake
25 snowflake
 
HBaseCon 2012 | HBase and HDFS: Past, Present, Future - Todd Lipcon, Cloudera
HBaseCon 2012 | HBase and HDFS: Past, Present, Future - Todd Lipcon, ClouderaHBaseCon 2012 | HBase and HDFS: Past, Present, Future - Todd Lipcon, Cloudera
HBaseCon 2012 | HBase and HDFS: Past, Present, Future - Todd Lipcon, Cloudera
 
Hadoop Meetup Jan 2019 - Overview of Ozone
Hadoop Meetup Jan 2019 - Overview of OzoneHadoop Meetup Jan 2019 - Overview of Ozone
Hadoop Meetup Jan 2019 - Overview of Ozone
 
hbaseconasia2017: Large scale data near-line loading method and architecture
hbaseconasia2017: Large scale data near-line loading method and architecturehbaseconasia2017: Large scale data near-line loading method and architecture
hbaseconasia2017: Large scale data near-line loading method and architecture
 

Viewers also liked

NuoDB Blackbirds Release 2.0 Launch
NuoDB Blackbirds Release 2.0 LaunchNuoDB Blackbirds Release 2.0 Launch
NuoDB Blackbirds Release 2.0 LaunchNuoDB
 
London Breakfast Seminar
London Breakfast SeminarLondon Breakfast Seminar
London Breakfast SeminarNuoDB
 
Sharing Experiences in Cloud Adoption: Burlington, MA
Sharing Experiences in Cloud Adoption: Burlington, MASharing Experiences in Cloud Adoption: Burlington, MA
Sharing Experiences in Cloud Adoption: Burlington, MANuoDB
 
New york-breakfast-seminar
New york-breakfast-seminarNew york-breakfast-seminar
New york-breakfast-seminarNuoDB
 
The Ins and Outs of Cloud-Scale for ISVs
The Ins and Outs of Cloud-Scale for ISVsThe Ins and Outs of Cloud-Scale for ISVs
The Ins and Outs of Cloud-Scale for ISVsNuoDB
 
Future of Cloud: Insights From the Front Line
Future of Cloud: Insights From the Front LineFuture of Cloud: Insights From the Front Line
Future of Cloud: Insights From the Front LineNuoDB
 
Dallas Breakfast Seminar
Dallas Breakfast SeminarDallas Breakfast Seminar
Dallas Breakfast SeminarNuoDB
 
Cambridge Breakfast Seminar
Cambridge Breakfast SeminarCambridge Breakfast Seminar
Cambridge Breakfast SeminarNuoDB
 
Key Database Criteria for Cloud Applications
Key Database Criteria for Cloud ApplicationsKey Database Criteria for Cloud Applications
Key Database Criteria for Cloud ApplicationsNuoDB
 
LTE: Building next-gen application services for mobile telecoms
LTE: Building next-gen application services for mobile telecomsLTE: Building next-gen application services for mobile telecoms
LTE: Building next-gen application services for mobile telecomsNuoDB
 
California Breakfast Seminar
California Breakfast SeminarCalifornia Breakfast Seminar
California Breakfast SeminarNuoDB
 
Choosing The Right Database For Your Cloud Application
Choosing The Right Database For Your Cloud ApplicationChoosing The Right Database For Your Cloud Application
Choosing The Right Database For Your Cloud ApplicationNuoDB
 
The Future of Distributed Databases
The Future of Distributed DatabasesThe Future of Distributed Databases
The Future of Distributed DatabasesNuoDB
 
Industry experts webinar slides (final v1.0)
Industry experts webinar slides (final   v1.0)Industry experts webinar slides (final   v1.0)
Industry experts webinar slides (final v1.0)NuoDB
 
PHP&NewSQLで考える次世代アプリケーション
PHP&NewSQLで考える次世代アプリケーションPHP&NewSQLで考える次世代アプリケーション
PHP&NewSQLで考える次世代アプリケーションYuuki Takezawa
 
The Power of Determinism in Database Systems
The Power of Determinism in Database SystemsThe Power of Determinism in Database Systems
The Power of Determinism in Database SystemsDaniel Abadi
 
Getting Started with NuoDB Community Edition
Getting Started with NuoDB Community Edition Getting Started with NuoDB Community Edition
Getting Started with NuoDB Community Edition NuoDB
 
Gamma Soft and NuoDB Speed Up Data Consolidation And Cloud Migration
Gamma Soft and NuoDB Speed Up Data Consolidation And Cloud MigrationGamma Soft and NuoDB Speed Up Data Consolidation And Cloud Migration
Gamma Soft and NuoDB Speed Up Data Consolidation And Cloud MigrationNuoDB
 

Viewers also liked (18)

NuoDB Blackbirds Release 2.0 Launch
NuoDB Blackbirds Release 2.0 LaunchNuoDB Blackbirds Release 2.0 Launch
NuoDB Blackbirds Release 2.0 Launch
 
London Breakfast Seminar
London Breakfast SeminarLondon Breakfast Seminar
London Breakfast Seminar
 
Sharing Experiences in Cloud Adoption: Burlington, MA
Sharing Experiences in Cloud Adoption: Burlington, MASharing Experiences in Cloud Adoption: Burlington, MA
Sharing Experiences in Cloud Adoption: Burlington, MA
 
New york-breakfast-seminar
New york-breakfast-seminarNew york-breakfast-seminar
New york-breakfast-seminar
 
The Ins and Outs of Cloud-Scale for ISVs
The Ins and Outs of Cloud-Scale for ISVsThe Ins and Outs of Cloud-Scale for ISVs
The Ins and Outs of Cloud-Scale for ISVs
 
Future of Cloud: Insights From the Front Line
Future of Cloud: Insights From the Front LineFuture of Cloud: Insights From the Front Line
Future of Cloud: Insights From the Front Line
 
Dallas Breakfast Seminar
Dallas Breakfast SeminarDallas Breakfast Seminar
Dallas Breakfast Seminar
 
Cambridge Breakfast Seminar
Cambridge Breakfast SeminarCambridge Breakfast Seminar
Cambridge Breakfast Seminar
 
Key Database Criteria for Cloud Applications
Key Database Criteria for Cloud ApplicationsKey Database Criteria for Cloud Applications
Key Database Criteria for Cloud Applications
 
LTE: Building next-gen application services for mobile telecoms
LTE: Building next-gen application services for mobile telecomsLTE: Building next-gen application services for mobile telecoms
LTE: Building next-gen application services for mobile telecoms
 
California Breakfast Seminar
California Breakfast SeminarCalifornia Breakfast Seminar
California Breakfast Seminar
 
Choosing The Right Database For Your Cloud Application
Choosing The Right Database For Your Cloud ApplicationChoosing The Right Database For Your Cloud Application
Choosing The Right Database For Your Cloud Application
 
The Future of Distributed Databases
The Future of Distributed DatabasesThe Future of Distributed Databases
The Future of Distributed Databases
 
Industry experts webinar slides (final v1.0)
Industry experts webinar slides (final   v1.0)Industry experts webinar slides (final   v1.0)
Industry experts webinar slides (final v1.0)
 
PHP&NewSQLで考える次世代アプリケーション
PHP&NewSQLで考える次世代アプリケーションPHP&NewSQLで考える次世代アプリケーション
PHP&NewSQLで考える次世代アプリケーション
 
The Power of Determinism in Database Systems
The Power of Determinism in Database SystemsThe Power of Determinism in Database Systems
The Power of Determinism in Database Systems
 
Getting Started with NuoDB Community Edition
Getting Started with NuoDB Community Edition Getting Started with NuoDB Community Edition
Getting Started with NuoDB Community Edition
 
Gamma Soft and NuoDB Speed Up Data Consolidation And Cloud Migration
Gamma Soft and NuoDB Speed Up Data Consolidation And Cloud MigrationGamma Soft and NuoDB Speed Up Data Consolidation And Cloud Migration
Gamma Soft and NuoDB Speed Up Data Consolidation And Cloud Migration
 

Similar to From Backups To Time Travel: A Systems Perspective on Snapshots

Alluxio 2.0 & Near Real-time Big Data Platform w/ Spark & Alluxio
Alluxio 2.0 & Near Real-time Big Data Platform w/ Spark & AlluxioAlluxio 2.0 & Near Real-time Big Data Platform w/ Spark & Alluxio
Alluxio 2.0 & Near Real-time Big Data Platform w/ Spark & AlluxioAlluxio, Inc.
 
An AMIS Overview of Oracle database 12c (12.1)
An AMIS Overview of Oracle database 12c (12.1)An AMIS Overview of Oracle database 12c (12.1)
An AMIS Overview of Oracle database 12c (12.1)Marco Gralike
 
ResourceSync: Web-based Resource Synchronization
ResourceSync: Web-based Resource SynchronizationResourceSync: Web-based Resource Synchronization
ResourceSync: Web-based Resource SynchronizationSimeon Warner
 
DBA 101 : Calling all New Database Administrators (PPT)
DBA 101 : Calling all New Database Administrators (PPT)DBA 101 : Calling all New Database Administrators (PPT)
DBA 101 : Calling all New Database Administrators (PPT)Gustavo Rene Antunez
 
Revolutionary Storage for Modern Databases, Applications and Infrastrcture
Revolutionary Storage for Modern Databases, Applications and InfrastrctureRevolutionary Storage for Modern Databases, Applications and Infrastrcture
Revolutionary Storage for Modern Databases, Applications and Infrastrcturesabnees
 
Big Data Streams Architectures. Why? What? How?
Big Data Streams Architectures. Why? What? How?Big Data Streams Architectures. Why? What? How?
Big Data Streams Architectures. Why? What? How?Anton Nazaruk
 
VMworld 2013: Virtualizing Databases: Doing IT Right
VMworld 2013: Virtualizing Databases: Doing IT Right VMworld 2013: Virtualizing Databases: Doing IT Right
VMworld 2013: Virtualizing Databases: Doing IT Right VMworld
 
A Closer Look at Apache Kudu
A Closer Look at Apache KuduA Closer Look at Apache Kudu
A Closer Look at Apache KuduAndriy Zabavskyy
 
SQL AlwaysON for SharePoint HA/DR on Azure Global Azure Bootcamp 2017 Eisenac...
SQL AlwaysON for SharePoint HA/DR on Azure Global Azure Bootcamp 2017 Eisenac...SQL AlwaysON for SharePoint HA/DR on Azure Global Azure Bootcamp 2017 Eisenac...
SQL AlwaysON for SharePoint HA/DR on Azure Global Azure Bootcamp 2017 Eisenac...Lars Platzdasch
 
Replicate from Oracle to data warehouses and analytics
Replicate from Oracle to data warehouses and analyticsReplicate from Oracle to data warehouses and analytics
Replicate from Oracle to data warehouses and analyticsContinuent
 
Road to database automation - Database source control
Road to database automation - Database source controlRoad to database automation - Database source control
Road to database automation - Database source controlEduardo Piairo
 
Spark and Couchbase: Augmenting the Operational Database with Spark
Spark and Couchbase: Augmenting the Operational Database with SparkSpark and Couchbase: Augmenting the Operational Database with Spark
Spark and Couchbase: Augmenting the Operational Database with SparkSpark Summit
 
Oracle GoldenGate Presentation from OTN Virtual Technology Summit - 7/9/14 (PDF)
Oracle GoldenGate Presentation from OTN Virtual Technology Summit - 7/9/14 (PDF)Oracle GoldenGate Presentation from OTN Virtual Technology Summit - 7/9/14 (PDF)
Oracle GoldenGate Presentation from OTN Virtual Technology Summit - 7/9/14 (PDF)Bobby Curtis
 
Presentation backup and recovery best practices for very large databases (v...
Presentation   backup and recovery best practices for very large databases (v...Presentation   backup and recovery best practices for very large databases (v...
Presentation backup and recovery best practices for very large databases (v...xKinAnx
 
Optimizing Latency-Sensitive Queries for Presto at Facebook: A Collaboration ...
Optimizing Latency-Sensitive Queries for Presto at Facebook: A Collaboration ...Optimizing Latency-Sensitive Queries for Presto at Facebook: A Collaboration ...
Optimizing Latency-Sensitive Queries for Presto at Facebook: A Collaboration ...Alluxio, Inc.
 
Databus - LinkedIn's Change Data Capture Pipeline
Databus - LinkedIn's Change Data Capture PipelineDatabus - LinkedIn's Change Data Capture Pipeline
Databus - LinkedIn's Change Data Capture PipelineSunil Nagaraj
 
Realtime streaming architecture in INFINARIO
Realtime streaming architecture in INFINARIORealtime streaming architecture in INFINARIO
Realtime streaming architecture in INFINARIOJozo Kovac
 
SAP HANA System Replication (HSR) versus SAP Replication Server (SRS)
SAP HANA System Replication (HSR) versus SAP Replication Server (SRS)SAP HANA System Replication (HSR) versus SAP Replication Server (SRS)
SAP HANA System Replication (HSR) versus SAP Replication Server (SRS)Gary Jackson MBCS
 

Similar to From Backups To Time Travel: A Systems Perspective on Snapshots (20)

Alluxio 2.0 & Near Real-time Big Data Platform w/ Spark & Alluxio
Alluxio 2.0 & Near Real-time Big Data Platform w/ Spark & AlluxioAlluxio 2.0 & Near Real-time Big Data Platform w/ Spark & Alluxio
Alluxio 2.0 & Near Real-time Big Data Platform w/ Spark & Alluxio
 
NoSQL_Night
NoSQL_NightNoSQL_Night
NoSQL_Night
 
An AMIS Overview of Oracle database 12c (12.1)
An AMIS Overview of Oracle database 12c (12.1)An AMIS Overview of Oracle database 12c (12.1)
An AMIS Overview of Oracle database 12c (12.1)
 
ResourceSync: Web-based Resource Synchronization
ResourceSync: Web-based Resource SynchronizationResourceSync: Web-based Resource Synchronization
ResourceSync: Web-based Resource Synchronization
 
An AMIS overview of database 12c
An AMIS overview of database 12cAn AMIS overview of database 12c
An AMIS overview of database 12c
 
DBA 101 : Calling all New Database Administrators (PPT)
DBA 101 : Calling all New Database Administrators (PPT)DBA 101 : Calling all New Database Administrators (PPT)
DBA 101 : Calling all New Database Administrators (PPT)
 
Revolutionary Storage for Modern Databases, Applications and Infrastrcture
Revolutionary Storage for Modern Databases, Applications and InfrastrctureRevolutionary Storage for Modern Databases, Applications and Infrastrcture
Revolutionary Storage for Modern Databases, Applications and Infrastrcture
 
Big Data Streams Architectures. Why? What? How?
Big Data Streams Architectures. Why? What? How?Big Data Streams Architectures. Why? What? How?
Big Data Streams Architectures. Why? What? How?
 
VMworld 2013: Virtualizing Databases: Doing IT Right
VMworld 2013: Virtualizing Databases: Doing IT Right VMworld 2013: Virtualizing Databases: Doing IT Right
VMworld 2013: Virtualizing Databases: Doing IT Right
 
A Closer Look at Apache Kudu
A Closer Look at Apache KuduA Closer Look at Apache Kudu
A Closer Look at Apache Kudu
 
SQL AlwaysON for SharePoint HA/DR on Azure Global Azure Bootcamp 2017 Eisenac...
SQL AlwaysON for SharePoint HA/DR on Azure Global Azure Bootcamp 2017 Eisenac...SQL AlwaysON for SharePoint HA/DR on Azure Global Azure Bootcamp 2017 Eisenac...
SQL AlwaysON for SharePoint HA/DR on Azure Global Azure Bootcamp 2017 Eisenac...
 
Replicate from Oracle to data warehouses and analytics
Replicate from Oracle to data warehouses and analyticsReplicate from Oracle to data warehouses and analytics
Replicate from Oracle to data warehouses and analytics
 
Road to database automation - Database source control
Road to database automation - Database source controlRoad to database automation - Database source control
Road to database automation - Database source control
 
Spark and Couchbase: Augmenting the Operational Database with Spark
Spark and Couchbase: Augmenting the Operational Database with SparkSpark and Couchbase: Augmenting the Operational Database with Spark
Spark and Couchbase: Augmenting the Operational Database with Spark
 
Oracle GoldenGate Presentation from OTN Virtual Technology Summit - 7/9/14 (PDF)
Oracle GoldenGate Presentation from OTN Virtual Technology Summit - 7/9/14 (PDF)Oracle GoldenGate Presentation from OTN Virtual Technology Summit - 7/9/14 (PDF)
Oracle GoldenGate Presentation from OTN Virtual Technology Summit - 7/9/14 (PDF)
 
Presentation backup and recovery best practices for very large databases (v...
Presentation   backup and recovery best practices for very large databases (v...Presentation   backup and recovery best practices for very large databases (v...
Presentation backup and recovery best practices for very large databases (v...
 
Optimizing Latency-Sensitive Queries for Presto at Facebook: A Collaboration ...
Optimizing Latency-Sensitive Queries for Presto at Facebook: A Collaboration ...Optimizing Latency-Sensitive Queries for Presto at Facebook: A Collaboration ...
Optimizing Latency-Sensitive Queries for Presto at Facebook: A Collaboration ...
 
Databus - LinkedIn's Change Data Capture Pipeline
Databus - LinkedIn's Change Data Capture PipelineDatabus - LinkedIn's Change Data Capture Pipeline
Databus - LinkedIn's Change Data Capture Pipeline
 
Realtime streaming architecture in INFINARIO
Realtime streaming architecture in INFINARIORealtime streaming architecture in INFINARIO
Realtime streaming architecture in INFINARIO
 
SAP HANA System Replication (HSR) versus SAP Replication Server (SRS)
SAP HANA System Replication (HSR) versus SAP Replication Server (SRS)SAP HANA System Replication (HSR) versus SAP Replication Server (SRS)
SAP HANA System Replication (HSR) versus SAP Replication Server (SRS)
 

More from NuoDB

WeLab Reaps Advantages of Multi-Cloud Capabilities. You Can Too.
WeLab Reaps Advantages of Multi-Cloud Capabilities. You Can Too.WeLab Reaps Advantages of Multi-Cloud Capabilities. You Can Too.
WeLab Reaps Advantages of Multi-Cloud Capabilities. You Can Too.NuoDB
 
Modernize Your Banking Platform with Temenos and NuoDB
Modernize Your Banking Platform with Temenos and NuoDBModernize Your Banking Platform with Temenos and NuoDB
Modernize Your Banking Platform with Temenos and NuoDBNuoDB
 
Do more clouds = better scalability, availability, flexibility
Do more clouds = better scalability, availability, flexibility Do more clouds = better scalability, availability, flexibility
Do more clouds = better scalability, availability, flexibility NuoDB
 
Introducing NuoDB 4.0: Cloud-native, Cloud-agnostic Distributed SQL Database
Introducing NuoDB 4.0: Cloud-native, Cloud-agnostic Distributed SQL DatabaseIntroducing NuoDB 4.0: Cloud-native, Cloud-agnostic Distributed SQL Database
Introducing NuoDB 4.0: Cloud-native, Cloud-agnostic Distributed SQL DatabaseNuoDB
 
The Enabling Power of Distributed SQL for Enterprise Digital Transformation I...
The Enabling Power of Distributed SQL for Enterprise Digital Transformation I...The Enabling Power of Distributed SQL for Enterprise Digital Transformation I...
The Enabling Power of Distributed SQL for Enterprise Digital Transformation I...NuoDB
 
NuoDB + MayaData: How to Run Containerized Enterprise SQL Applications in the...
NuoDB + MayaData: How to Run Containerized Enterprise SQL Applications in the...NuoDB + MayaData: How to Run Containerized Enterprise SQL Applications in the...
NuoDB + MayaData: How to Run Containerized Enterprise SQL Applications in the...NuoDB
 
How to Evaluate an Elastic SQL Database
How to Evaluate an Elastic SQL DatabaseHow to Evaluate an Elastic SQL Database
How to Evaluate an Elastic SQL DatabaseNuoDB
 
By Popular Demand: The Rise of Elastic SQL
By Popular Demand: The Rise of Elastic SQLBy Popular Demand: The Rise of Elastic SQL
By Popular Demand: The Rise of Elastic SQLNuoDB
 
Introduction to NuoDB - March 2018
Introduction to NuoDB - March 2018Introduction to NuoDB - March 2018
Introduction to NuoDB - March 2018NuoDB
 
Transforming Retail Banking: Competitive Advantage through Microservices
Transforming Retail Banking: Competitive Advantage through MicroservicesTransforming Retail Banking: Competitive Advantage through Microservices
Transforming Retail Banking: Competitive Advantage through MicroservicesNuoDB
 
451 Research + NuoDB: What It Means to be a Container-Native SQL Database
451 Research + NuoDB: What It Means to be a Container-Native SQL Database451 Research + NuoDB: What It Means to be a Container-Native SQL Database
451 Research + NuoDB: What It Means to be a Container-Native SQL DatabaseNuoDB
 
Microservices Applications: Challenges and Best Practices When Deploying SQL-...
Microservices Applications: Challenges and Best Practices When Deploying SQL-...Microservices Applications: Challenges and Best Practices When Deploying SQL-...
Microservices Applications: Challenges and Best Practices When Deploying SQL-...NuoDB
 
Building Cloud-Native Applications with a Container-Native SQL Database in th...
Building Cloud-Native Applications with a Container-Native SQL Database in th...Building Cloud-Native Applications with a Container-Native SQL Database in th...
Building Cloud-Native Applications with a Container-Native SQL Database in th...NuoDB
 
5 Steps for Migrating Relational Databases to Next-Gen Architectures
5 Steps for Migrating Relational Databases to Next-Gen Architectures5 Steps for Migrating Relational Databases to Next-Gen Architectures
5 Steps for Migrating Relational Databases to Next-Gen ArchitecturesNuoDB
 
NuoDB 3.0: Getting Started with Community Edition
NuoDB 3.0: Getting Started with Community EditionNuoDB 3.0: Getting Started with Community Edition
NuoDB 3.0: Getting Started with Community EditionNuoDB
 
Cloud Database Migration Made Easy: Migrating MySQL to NuoDB
Cloud Database Migration Made Easy: Migrating MySQL to NuoDBCloud Database Migration Made Easy: Migrating MySQL to NuoDB
Cloud Database Migration Made Easy: Migrating MySQL to NuoDBNuoDB
 
Elastic SQL Database: Oxymoron or Emerging Reality? (Database Month, June 2017)
Elastic SQL Database: Oxymoron or Emerging Reality? (Database Month, June 2017)Elastic SQL Database: Oxymoron or Emerging Reality? (Database Month, June 2017)
Elastic SQL Database: Oxymoron or Emerging Reality? (Database Month, June 2017)NuoDB
 
Reasons to Deploy an Elastic SQL Database
Reasons to Deploy an Elastic SQL DatabaseReasons to Deploy an Elastic SQL Database
Reasons to Deploy an Elastic SQL DatabaseNuoDB
 

More from NuoDB (18)

WeLab Reaps Advantages of Multi-Cloud Capabilities. You Can Too.
WeLab Reaps Advantages of Multi-Cloud Capabilities. You Can Too.WeLab Reaps Advantages of Multi-Cloud Capabilities. You Can Too.
WeLab Reaps Advantages of Multi-Cloud Capabilities. You Can Too.
 
Modernize Your Banking Platform with Temenos and NuoDB
Modernize Your Banking Platform with Temenos and NuoDBModernize Your Banking Platform with Temenos and NuoDB
Modernize Your Banking Platform with Temenos and NuoDB
 
Do more clouds = better scalability, availability, flexibility
Do more clouds = better scalability, availability, flexibility Do more clouds = better scalability, availability, flexibility
Do more clouds = better scalability, availability, flexibility
 
Introducing NuoDB 4.0: Cloud-native, Cloud-agnostic Distributed SQL Database
Introducing NuoDB 4.0: Cloud-native, Cloud-agnostic Distributed SQL DatabaseIntroducing NuoDB 4.0: Cloud-native, Cloud-agnostic Distributed SQL Database
Introducing NuoDB 4.0: Cloud-native, Cloud-agnostic Distributed SQL Database
 
The Enabling Power of Distributed SQL for Enterprise Digital Transformation I...
The Enabling Power of Distributed SQL for Enterprise Digital Transformation I...The Enabling Power of Distributed SQL for Enterprise Digital Transformation I...
The Enabling Power of Distributed SQL for Enterprise Digital Transformation I...
 
NuoDB + MayaData: How to Run Containerized Enterprise SQL Applications in the...
NuoDB + MayaData: How to Run Containerized Enterprise SQL Applications in the...NuoDB + MayaData: How to Run Containerized Enterprise SQL Applications in the...
NuoDB + MayaData: How to Run Containerized Enterprise SQL Applications in the...
 
How to Evaluate an Elastic SQL Database
How to Evaluate an Elastic SQL DatabaseHow to Evaluate an Elastic SQL Database
How to Evaluate an Elastic SQL Database
 
By Popular Demand: The Rise of Elastic SQL
By Popular Demand: The Rise of Elastic SQLBy Popular Demand: The Rise of Elastic SQL
By Popular Demand: The Rise of Elastic SQL
 
Introduction to NuoDB - March 2018
Introduction to NuoDB - March 2018Introduction to NuoDB - March 2018
Introduction to NuoDB - March 2018
 
Transforming Retail Banking: Competitive Advantage through Microservices
Transforming Retail Banking: Competitive Advantage through MicroservicesTransforming Retail Banking: Competitive Advantage through Microservices
Transforming Retail Banking: Competitive Advantage through Microservices
 
451 Research + NuoDB: What It Means to be a Container-Native SQL Database
451 Research + NuoDB: What It Means to be a Container-Native SQL Database451 Research + NuoDB: What It Means to be a Container-Native SQL Database
451 Research + NuoDB: What It Means to be a Container-Native SQL Database
 
Microservices Applications: Challenges and Best Practices When Deploying SQL-...
Microservices Applications: Challenges and Best Practices When Deploying SQL-...Microservices Applications: Challenges and Best Practices When Deploying SQL-...
Microservices Applications: Challenges and Best Practices When Deploying SQL-...
 
Building Cloud-Native Applications with a Container-Native SQL Database in th...
Building Cloud-Native Applications with a Container-Native SQL Database in th...Building Cloud-Native Applications with a Container-Native SQL Database in th...
Building Cloud-Native Applications with a Container-Native SQL Database in th...
 
5 Steps for Migrating Relational Databases to Next-Gen Architectures
5 Steps for Migrating Relational Databases to Next-Gen Architectures5 Steps for Migrating Relational Databases to Next-Gen Architectures
5 Steps for Migrating Relational Databases to Next-Gen Architectures
 
NuoDB 3.0: Getting Started with Community Edition
NuoDB 3.0: Getting Started with Community EditionNuoDB 3.0: Getting Started with Community Edition
NuoDB 3.0: Getting Started with Community Edition
 
Cloud Database Migration Made Easy: Migrating MySQL to NuoDB
Cloud Database Migration Made Easy: Migrating MySQL to NuoDBCloud Database Migration Made Easy: Migrating MySQL to NuoDB
Cloud Database Migration Made Easy: Migrating MySQL to NuoDB
 
Elastic SQL Database: Oxymoron or Emerging Reality? (Database Month, June 2017)
Elastic SQL Database: Oxymoron or Emerging Reality? (Database Month, June 2017)Elastic SQL Database: Oxymoron or Emerging Reality? (Database Month, June 2017)
Elastic SQL Database: Oxymoron or Emerging Reality? (Database Month, June 2017)
 
Reasons to Deploy an Elastic SQL Database
Reasons to Deploy an Elastic SQL DatabaseReasons to Deploy an Elastic SQL Database
Reasons to Deploy an Elastic SQL Database
 

Recently uploaded

What is Binary Language? Computer Number Systems
What is Binary Language?  Computer Number SystemsWhat is Binary Language?  Computer Number Systems
What is Binary Language? Computer Number SystemsJheuzeDellosa
 
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...stazi3110
 
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️anilsa9823
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providermohitmore19
 
Professional Resume Template for Software Developers
Professional Resume Template for Software DevelopersProfessional Resume Template for Software Developers
Professional Resume Template for Software DevelopersVinodh Ram
 
Diamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionDiamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionSolGuruz
 
why an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfwhy an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfjoe51371421
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Modelsaagamshah0812
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVshikhaohhpro
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...MyIntelliSource, Inc.
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfkalichargn70th171
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsArshad QA
 
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...OnePlan Solutions
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comFatema Valibhai
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsAlberto González Trastoy
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...MyIntelliSource, Inc.
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdfWave PLM
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...ICS
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxbodapatigopi8531
 
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideBuilding Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideChristina Lin
 

Recently uploaded (20)

What is Binary Language? Computer Number Systems
What is Binary Language?  Computer Number SystemsWhat is Binary Language?  Computer Number Systems
What is Binary Language? Computer Number Systems
 
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
 
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
 
Professional Resume Template for Software Developers
Professional Resume Template for Software DevelopersProfessional Resume Template for Software Developers
Professional Resume Template for Software Developers
 
Diamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionDiamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with Precision
 
why an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfwhy an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdf
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Models
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTV
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview Questions
 
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.com
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptx
 
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideBuilding Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
 

From Backups To Time Travel: A Systems Perspective on Snapshots

  • 1. From Backups To Time Travel: A Systems Perspective on Snapshots Ross Shaull
  • 2. Where it comes from A Modular and Efficient Past State System for Berkeley DB. Ross Shaull, Liuba Shrira, Barbara Liskov. USENIX 2014. Retro: A Methodology for Retrospection Everywhere (PhD thesis). Ross Shaull. 2013. Skippy: a new snapshot indexing method for time travel in the storage manager. Ross Shaull, Liuba Shrira, Hao Xu. SIGMOD 2008.
  • 3. Talk plan • Define snapshots and programming model • Architecture • Compare with other approaches • Formal model for deriving snapshot protocols • How snapshots are saved and accessed • A peek at why snapshots are recoverable • Challenges and opportunities in a distributed system – Speculation and pronouncement
  • 4. Snapshots and Retrospection • Past states of data can provide insights – trend analysis – anomaly and intrusion detection • Auditing may require past-state retention • Saving consistent past states (snapshots) is challenging and not available in all data stores • Retrospection = point in time query + programming model
  • 5. Snapshots are • Consistent • Global • Named • Application-declared June 2014 Salary: $200K
  • 6. Snapshots are • Consistent • Global • Named • Application-declared June 2013 Salary: $120K June 2013 Snapshot
  • 7. Programming Model begin; insert into accounts values(…); update accounts set balance=0 where name=‘Tom’; snapshot; commit; select * from accounts where name = ‘Tom’ as of S;
  • 8. Backup • Separate copy of data – Usually stored off-site • Think of it as a copy of a snapshot – Can also be incremental of course • Snapshots and backup are different, an in-situ snapshot does not protect from catastrophic storage loss, a backup does not enable retrospection
  • 9. Architecture Application Database Interface Transactional storage manager Snapshot layer WAL Page cache MVCC DB Disk Retro Disk as of snap Access methods / indexes Snapshot layer works at the page level, inside the TSM
  • 10. Protocol extensions Application Database Interface Transactional storage manager Snapshot layer WAL Page cache MVCC DB Disk Retro Disk as of snap Access methods / indexes Retro recovery Retro page cache • Snapshot page translation • Concurrency for retrospection • Efficient COW
  • 11. Why this design for Retro? • Logical-level snapshots require significant modifications to the data store Application Database Interface TSM Snapshot layer DB Disk Retro Disk as of snap Access methods / indexes
  • 12. Why this design for Retro? • Logical-level snapshots require significant modifications to the data store • With low-level snapshots, it can be expensive to get consistency Application Database Interface TSM Snapshot layer DB Disk Retro Disk as of snap Access methods / indexes
  • 13. Why this design for Retro? • Logical-level snapshots require significant modifications to the data store • With low-level snapshots, it’s expensive to get consistency • Retro is not “too high” or “too low” – Simple integration and non- disruptive Application Database Interface TSM Snapshot layer DB Disk Retro Disk as of snap Access methods / indexes
  • 14. An interlude • We’ll look at a snapshot strategy that depends on a system layer below the database – What are its strengths and weaknesses? – Why implement inside the database? • We’ll also quickly review some database concepts
  • 15. Atomic file system snapshot • Below the level of database transactions • Can provide crash consistent snapshots • An alternative with limitations • Before we talk about limitations, let’s look at why it provides crash-consistency
  • 16. Atomicity and Durability • A and D in ACID • Modern relational databases typically achieve them with transactions which are logged to a write-ahead log (WAL) Visibility of this object is which letter in ACID? Page cache Journal Data
  • 18. Atomic file system snapshot • Strengths – Simple: compose it from existing building blocks • Weaknesses – Snapshot consistent but may not be precise – Must perform recovery before retrospection – Requires file system support
  • 19. Retro snapshots, copy-on-write T1: update P1, P2, declare S2 T2: update P1 P1 P2 Database Retro P1 P2 P1 P1 P2 P1 S1 S2 Transactions
  • 20. Retro snapshots • Retrospection as of snapshot S is equivalent to a hypothetical current-state query that runs immediately after S was declared T1: update P1, P2, declare S2 T2: update P1 P1 P2 Database Retro P1 P2 P1 P1 P2 P1 S1 S2 Transactions
  • 21. Overwrite sequence (OWS) • OWS(H) is a tagging of history H – which page pre-states to save – the snapshot pages a retrospective query accesses – which pre-states and snapshot declarations to recover A Modular and Efficient Past State System for Berkeley DB. Ross Shaull, Liuba Shrira, Barbara Liskov. USENIX 2014.
  • 22. Protocol extension: MVCC • Concurrent access to current state and snapshots • Efficient copying of snapshots • Retrospection runs using MVCC and page requests are redirected to snapshot pages that have migrated to Retro disk
  • 23. Retrospection (querying as of) Snapshot Layer Access methods / indexes Page cache Page name translation Database disk Retro disk Interface as of Look up (DBFile, P)@S1 Get (DBFile, P) Get (RetroFile, X) @S1
  • 24. Current state queries Snapshot Layer Access methods / indexes Page cache Page name translation Database disk Retro disk Interface Get (DBFile, P)
  • 25. Protocol extensions: Recovery • Like the database, snapshots are written asynchronously (non-disruptiveness) • Retro saves pre-states during BDB recovery – Snapshot declarations are also logged • Identify needed pre-states using Retro metadata during recovery
  • 26. Protocol extension: Recovery • Runtime invariants – Snapshots are made durable first (WAS-invariant) • Recovery-time extension – Recover snapshot metadata first – Idempotent • we can tell if pre-state was saved already (using snapshot metadata) • only recreate pre-states not saved yet
  • 27. Experimental evaluation • Implemented as a set of callbacks – About 250 lines of modifications to BDB source – Call into about 5000 lines of snapshot layer code • Retro is thread-safe • Care taken to follow OWS(H) order in face of concurrency
  • 28. Experimental Results • Database and snapshot data are written to one disk, logs to the other • Database size is 1 gb • Snapshot store on Retro disk can be >100 gb • Non-disruptiveness – Random update workload with and without Retro – With Retro, declare snapshot after every transaction – Enforcing invariants for snapshot durability imposes about 4% overhead on throughput
  • 29. Retrospection: I/O build page table query 1.0 1.1 1.2 1.3 1.4 1.5 1.6 1.7 1.8 1.9 50/50 80/20 90/10 50/50 80/20 90/10 costintermsofQ skew 100mb 1gb
  • 30. Now about that future… • Distributed systems can support snapshots for example… – HDFS (distributed block store) has COW snapshots – Cassandra can do EC backups – Many systems must be quiesced first • We want inexpensive snapshots with online, in-situ retrospection?
  • 31. Replicated systems, MVCC • If there is correspondence between histories on replicas, then a replica can save snapshots – A replica saving snapshots eventually receives a record of all transactions • If a distributed system provides snapshot isolation, MVCC can be exploited for retrospection – Exploit visibility mechanisms built into system to determine which objects belong to each snapshot
  • 32. We are here at NuoDB after all TE TE SM SM Distributed durable cache
  • 33. Let’s speculate TE TE SM SM Transaction tier Durability tier
  • 34. Retrospection Transaction tier Durability tier AS OF query Miss that requires going to an SM
  • 35. Retrospection Transaction tier Durability tier AS OF query Correct version of object AS OF snapshot Visibility computed with MVCC
  • 36. Opportunities • Adding the capability to store and query snapshots is similar to adding capacity • Multiple replicas can improve the performance of saving and accessing snapshots • Snapshot workload can be physically separated from current-state workload within the same database
  • 37. Conclusions • Retro is a novel design for adding retrospection – Supports powerful programming model – Non-disruptive, long-lived snapshots • Layered design key to simple design and implementation – Protocol extensions make it efficient, see paper • Adding snapshots to a distributed system is a natural extension with opportunities to improve coexistence of current and past states