Jonathan Lewis explains Delphix

18
Delphix The Eternal Rolling Testbed Jonathan Lewis jonathanlewis.wordpress.com www.jlcomp.demon.co.uk

description

Delphix: the eternal rolling testbed Jonathan Lewis explains how Delphix data virtualization and instant cloning works

Transcript of Jonathan Lewis explains Delphix

Page 1: Jonathan Lewis explains Delphix

DelphixThe Eternal Rolling Testbed

Jonathan Lewisjonathanlewis.wordpress.com

www.jlcomp.demon.co.uk

Page 2: Jonathan Lewis explains Delphix

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

Page 3: Jonathan Lewis explains Delphix

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

Page 4: Jonathan Lewis explains Delphix

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

Page 5: Jonathan Lewis explains Delphix

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.

Page 6: Jonathan Lewis explains Delphix

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)

Page 7: Jonathan Lewis explains Delphix

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

Page 8: Jonathan Lewis explains Delphix

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

Page 9: Jonathan Lewis explains Delphix

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

Page 10: Jonathan Lewis explains Delphix

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).

Page 11: Jonathan Lewis explains Delphix

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.

Page 12: Jonathan Lewis explains Delphix

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.

Page 13: Jonathan Lewis explains Delphix

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.

Page 14: Jonathan Lewis explains Delphix

Delphix Testbed14 / 18

Jonathan Lewis © 2013 - 2014

Delphix Backups

Page 15: Jonathan Lewis explains Delphix

Delphix Testbed15 / 18

Jonathan Lewis © 2013 - 2014

Delphix Backups

Page 16: Jonathan Lewis explains Delphix

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

Page 17: Jonathan Lewis explains Delphix

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.

Page 18: Jonathan Lewis explains Delphix

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