Jonathan Lewis explains Delphix
-
Upload
kyle-hailey -
Category
Software
-
view
430 -
download
4
description
Transcript of Jonathan Lewis explains Delphix
DelphixThe Eternal Rolling Testbed
Jonathan Lewisjonathanlewis.wordpress.com
www.jlcomp.demon.co.uk
Delphix Testbed2 / 18
Jonathan Lewis © 2013 - 2014
Who am I ?Independent Consultant
31+ years in IT26+ using Oracle
Strategy, Design, Review,Briefings, Educational,Trouble-shooting
Oracle author of the year 2006Select Editor’s choice 2007UKOUG Inspiring Presenter 2011ODTUG 2012 Best Presenter (d/b)UKOUG Inspiring Presenter 2012UKOUG Lifetime Award (IPA) 2013Member of the Oak Table NetworkOracle ACE DirectorO1 visa for USA
Delphix Testbed3 / 18
Jonathan Lewis © 2013 - 2014
What do you gain ?
Backups:
One at Level 0 + N at Level 1 = ?
Traditional:
A long restore/recover to one specific version
Delphix:
Nearly instant access to N+1 different versions
Delphix Testbed4 / 18
Jonathan Lewis © 2013 - 2014
What do you need ?Windows 7, VMWare Server 2.0 - 16GB RAM, 4 CPU, 2 x 500GB drives
OEL 5.6 VMOracle 11.2.0.4
Production: s/w and databasewith "delphix" a/c
Delphix VM
Backups and virtual databases
OEL 5.6 VMOracle 11.2.0.4
Development:s/w and config fileswith "delphix" a/c
Delphix Testbed5 / 18
Jonathan Lewis © 2013 - 2014
DxFS for DBAs
LOB Segment
Current chunks
Previous chunksSegment High Water Mark
LOB Indexkey = LOB id
key = timestamp
If you know how Basicfile LOBs work, you know the basics of DxFS.
Delphix Testbed6 / 18
Jonathan Lewis © 2013 - 2014
DxFS
a b c d e f g h i
Filesystem data blocks (Variable number of sectors per block)
Set the DxFS block size to match the database block size. DxFS blocks are transparently compressed to the smallest number of sectors possible.
t0
Metadata(associates logical block with physical location)
Delphix Testbed7 / 18
Jonathan Lewis © 2013 - 2014
a b c d e f g h i
"Modifications"
b' c'
Data only becomes visible when root block is written
You don't overwrite blocks on disc with a new version, you write a new copy and maintain the index (and you don't overwrite index blocks either).
t0 t1
Delphix Testbed8 / 18
Jonathan Lewis © 2013 - 2014
a d e f g h i
Multi-versioning
b' c'
This is the latest state of our file system - but we don't have to release the old versions of the blocks we "changed".
t1
Delphix Testbed9 / 18
Jonathan Lewis © 2013 - 2014
Aging data
Blocks that can be freed when we don’t want the older snapshot any more
a d e f g h i
b' c'
b c
Over time we may "overwrite" many of the most recent blocks, and be able to free old copies of those blocks, keeping a lot of the oldest original blocks
t1t0
Delphix Testbed10 / 18
Jonathan Lewis © 2013 - 2014
Working with Oracle
• Start with a complete rman backup
• Take regular incremental backups– Delphix has custom code to apply them efficiently
• For a vDB pick a recovery point– Delphix code configures the target server, sets an
instance there, and exposes the right version of data– The data stays on the Delphix Server
Time for a demonstration: (identify source and target machines, identify source d/b, create first backup, create vDB).
Delphix Testbed11 / 18
Jonathan Lewis © 2013 - 2014
Traditional Backups
Level 0
Level 1
Data Redo
Level 1
Data Redo
Level 1
Data Redo
Redo
To get a new database you restore the level 0 image and apply as many level 1 images as needed - and you've got one version of the database available.
Delphix Testbed12 / 18
Jonathan Lewis © 2013 - 2014
Delphix Backups
Level 0
Level 1
Data Redo
Level 1
Data Redo
Level 1
Data Redo
Redo
Delphix unpacks the rman backups as they are generated and applies them (excluding redo) to the level 0 backup.
Delphix Testbed13 / 18
Jonathan Lewis © 2013 - 2014
Delphix Backups
DxFS doesn't overwrite changed blocks, though, it writes them to a separate location and creates some new index entries.
Delphix Testbed14 / 18
Jonathan Lewis © 2013 - 2014
Delphix Backups
Delphix Testbed15 / 18
Jonathan Lewis © 2013 - 2014
Delphix Backups
Delphix Testbed16 / 18
Jonathan Lewis © 2013 - 2014
Pick your version
Pick an index to create your vDB
Rolling forward creates some new (f/s) blocks and pointers, and a new root block.Every new vDB gets its own "index root block".
Redo Redo Redo
Delphix rolls forward (and back) from the associated redo
Redo
Delphix Testbed17 / 18
Jonathan Lewis © 2013 - 2014
Rolling history
Redo
To delete history Delphix can do an optimised walk of "old" indexes and delete any blocks for which a newer block has been created.
Delphix Testbed18 / 18
Jonathan Lewis © 2013 - 2014
What have you got ?
• Same backups, on a different device
• DxFS compression may save space
• Quick and easy to create a new test d/b
• EVERY version can exist simultaneously– multiple times for multiple independent users