database virtualization at east coast oralce users group 2013

120
Agile Data Platform: Revolutionizing Database Cloning Kyle Hailey [email protected] http://kylehailey.com

Upload: kyle-hailey

Post on 27-Jan-2015

103 views

Category:

Technology


0 download

DESCRIPTION

 

TRANSCRIPT

Page 1: Database Virtualization at East Coast Oralce users group 2013

Agile Data Platform: Revolutionizing Database Cloning

Kyle [email protected]

http://kylehailey.com

Page 2: Database Virtualization at East Coast Oralce users group 2013

60% Projects Over Schedule

85% delayed waiting for data

CIO Magazine Survey:

Data is the problem

Get the right dataTo the right peopleAt the right time

Problem in IT

Page 3: Database Virtualization at East Coast Oralce users group 2013

Production

Development

Business Intelligence

BackupData Guard

QA

UAT

Tape

Sandbox

Forensics

Analytics

Reporting

Data Flood

Page 4: Database Virtualization at East Coast Oralce users group 2013

Part I : Cloning Technology

Virtual Thin Clone Physical

Part II : Agile Data Acceleration

Page 5: Database Virtualization at East Coast Oralce users group 2013

Database Cloning Challenge

If you can’t satisfy the business demands then your process is broken.

Page 6: Database Virtualization at East Coast Oralce users group 2013

Problem

Developers

QA and UAT

Reports

First copy

Production

• CERN -  European Organization for Nuclear Research

• 145 TB database• 75 TB growth each year• Dozens of developers want copies.

Page 7: Database Virtualization at East Coast Oralce users group 2013

Tradeoff: Speed, Quality, Cost

Page 8: Database Virtualization at East Coast Oralce users group 2013

What We’ve Seen

1. Inefficient QA: Higher costs of QA2. QA Delays : Greater re-work of code3. Sharing DB Environments : Bottlenecks4. Using DB Subsets: More bugs in Prod5. Slow Environment Builds: Delays

“if you can't measure it you can’t manage it”

Page 9: Database Virtualization at East Coast Oralce users group 2013

1. Inefficient QA: Long Build times

Build Time

QA Test

96% of QA time was building environment$.04/$1.00 actual testing vs. setup

Build

Page 10: Database Virtualization at East Coast Oralce users group 2013

2. QA Delays: bugs found late require more code re-work

Build QA Env QA Build QA Env QA

Sprint 1 Sprint 2 Sprint 3

Bug CodeX

1 2 3 4 5 6 70

10203040506070

Delay in Fixing the bug

Cost ToCorrect

Software Engineering Economics – Barry Boehm (1981)

Page 11: Database Virtualization at East Coast Oralce users group 2013

3. Full Copy Shared : Bottlenecks

Frustration Waiting

Old Unrepresentative Data

Page 12: Database Virtualization at East Coast Oralce users group 2013
Page 13: Database Virtualization at East Coast Oralce users group 2013

4. Subsets : cause bugs

Page 14: Database Virtualization at East Coast Oralce users group 2013

Production4. Subsets : cause bugs

Classic problem is that queries that run fast on subsets hit the wall in production.

Developers are unable to test against all data

The Production ‘Wall’

Page 15: Database Virtualization at East Coast Oralce users group 2013

5. Slow Environment Builds: 3-6 Months to Deliver Data

Management

DBA

System Admin

Storage Admin

Developers Submit Request

Disk Capacity?

Approve Request $$ (2 Weeks)

Approve Request $$

(1 Week)

RequestAdditional Storage?

ProvisionCapacity

File SystemConfigured?

Configure LUNS & Build File System

Coordinate Replication w/ Infrastructure

Re-Parameterize & Configure DB

Mount Recovery DB to

Specific PIT

Begin Work

Approve Request $$ (2 Weeks)

(3 Days)

(3 Days)

(2 Days)

(3 Days)

(3 Days)

…….1-2 Weeks of Approvals, Delays, and Provisioning……

15

Page 16: Database Virtualization at East Coast Oralce users group 2013

5. Slow Environment Builds: culture of no

DBA Developer

Page 17: Database Virtualization at East Coast Oralce users group 2013

Never enough environments

Page 18: Database Virtualization at East Coast Oralce users group 2013

bottlenecks

Page 19: Database Virtualization at East Coast Oralce users group 2013

What We’ve Seen

1. Inefficient QA: Higher costs2. QA Delays : Increased re-work3. Sharing DB : Bottlenecks4. Subset DB : Bugs5. Slow Environment Builds: Delays

Page 20: Database Virtualization at East Coast Oralce users group 2013

Clone 1 Clone 3Clone 2

99% of blocks are identical

Page 21: Database Virtualization at East Coast Oralce users group 2013
Page 22: Database Virtualization at East Coast Oralce users group 2013

Clone 1 Clone 2 Clone 3

Thin Clone

Page 23: Database Virtualization at East Coast Oralce users group 2013

I. Clonedb Oracle II. EMC

• Copy on first write (COFW)III. Netapp

• write anywhere file system (WAFL)• & EMC VNX redirect on write (ROW)

IV. ZFS

2. Thin Cloning

Page 24: Database Virtualization at East Coast Oralce users group 2013

RMAN backup

dNFSsparse fileI. clonedb

Page 25: Database Virtualization at East Coast Oralce users group 2013

RMAN backup

dNFSsparse fileI. clonedb

Page 26: Database Virtualization at East Coast Oralce users group 2013

CloneDB

1. dNFS 11.2.0.2+– cd $ORACLE_HOME/rdbms/lib– make -f ins_rdbms.mk dnfs_on

2. Clonedb.pl initSOURCE.ora output.sql– MASTER_COPY_DIR="/rman_backup”– CLONE_FILE_CREATE_DEST="/nfs_mount”– CLONEDB_NAME="clone"

3. sqlplus / as sysdba @output.sql– startup nomount PFILE=initclone.ora – Create control file backup location– dbms_dnfs.clonedb_renamefile ('/backup/file.dbf' , '/clone/file.dbf');– alter database open resetlogs;

Tim Hallwww.oracle-base.com/articles/11g/clonedb-11gr2.php

Page 27: Database Virtualization at East Coast Oralce users group 2013

I. Clonedb Oracle II. EMC

• Copy on first write (COFW)III. Netapp

• write anywhere file system (WAFL)• & EMC VNX redirect on write (ROW)

IV. ZFS

Thin Cloning

Page 28: Database Virtualization at East Coast Oralce users group 2013

D

ActiveFile

SystemSnapshot

CBA

II. EMC Copy on Write

Page 29: Database Virtualization at East Coast Oralce users group 2013

D

ActiveFile

SystemSnapshot

DCBA

Write penalty (read and two writes)Limit 16 snapshotsNo Branching (snapshots of snapshots)

II. EMC Copy on Write

Page 30: Database Virtualization at East Coast Oralce users group 2013

I. Clonedb Oracle II. EMC

• Copy on first write (COFW)III. Netapp

• write anywhere file system (WAFL)• & EMC VNX redirect on write (ROW)

IV. ZFS

Page 31: Database Virtualization at East Coast Oralce users group 2013

Data Blocks

root

III. Netapp (WAFL) and EMC (ROW)

• 255 snapshots• Branching possible

Page 32: Database Virtualization at East Coast Oralce users group 2013

I. Clonedb Oracle II. EMC

• Copy on first write (COFW)III. Netapp

• write anywhere file system (WAFL)• EMC redirect on write (ROW)

IV. ZFS

Page 33: Database Virtualization at East Coast Oralce users group 2013

Snapshot rootLive root

ZilIntent Log

IV. ZFS Allocate on Write

Unlimited Instantaneous SnapshotsUnlimited Instantaneous ClonesBranching easy and unlimited

Page 34: Database Virtualization at East Coast Oralce users group 2013

I. Clonedb Oracle II. EMC III. Netapp IV. ZFS

2. Thin Cloning

Database Luns

Production FilerTarget A

Target B

Target C

snapshotclones

1. Put database in hot backup2. Take Snapshot3. Clone Snapshot (ZFS & Netapp)4. Export Clone5. Mount on target host

InstanceInstance

InstanceInstance

InstanceInstance

InstanceInstance

Instance

Source

Page 35: Database Virtualization at East Coast Oralce users group 2013

Database LUNs

snapshotclonesProduction Filer

Development Filer

Problem: How do you get data off Production?

Instance

Target A

Target B

Target C

InstanceInstance

InstanceInstance

InstanceInstance

Instance

Page 36: Database Virtualization at East Coast Oralce users group 2013

Three Core Parts

Production

File System

Instance

DevelopmentStorage

21 3

1. Copy 2. Sync

Snapshot & Clone

Mount, recover, rename

Instance

Page 37: Database Virtualization at East Coast Oralce users group 2013

Three Core Parts

Production

File System

Instance

DevelopmentStorage

1

1. Copy 2. Sync

Instance

Page 38: Database Virtualization at East Coast Oralce users group 2013

Snap Manager

SnapManagerRepository

Protection Manager

Snap Drive

Snap Manager

Snap Mirror

Flex Clone

RMANRepository

Production

Development

DBA

Storage Admin

1 tr-3761.pdf

Netapp

Page 39: Database Virtualization at East Coast Oralce users group 2013

NetApp Filer - DevelopmentNetApp Filer - Production

Database Luns

Snap mirror

Snapshot Manager for Oracle

Flexclone

Repository Database

SnapDrive

Protection Manage

Production

Development

1NetappTarget A

Target B

Target C

InstanceInstance

InstanceInstance

InstanceInstance

Instance

Page 40: Database Virtualization at East Coast Oralce users group 2013

Three Core Parts

Production

File System

Instance

DevelopmentStorage

Instance

3

Mount, recover, rename

3

Page 41: Database Virtualization at East Coast Oralce users group 2013

Oracle EM 12c Snap Clone3

EM 12c

Agents instance

• Register Netapp or ZFS with Storage Credentials• Install agents on a LINUX machine to manage the Netapp or ZFS storage. • Register test master database• Enable Snap Clone for the test master database• Set up a zone – set max CPU and Memory and the roles that can see these zones• Set up a pool – a pool is a set of machines where databases can be provisioned• Set up a profile – a source database that can be used for thin cloning• Set up a service template – init.ora values

Test Master

Instance

Source

? instance

CloneLinux

ZFS orNetApp

PoolProfile

ZoneTemplate

Page 42: Database Virtualization at East Coast Oralce users group 2013

Production Development QA UAT

Instance Instance Instance InstanceInstance Instance Instance Instance

Database

File systemFile system

Database

File systemFile system

Database

File system

Database

File systemFile systemFile systemFile system

Where we are

Page 43: Database Virtualization at East Coast Oralce users group 2013

Where we want to be

Database

File system

Production

Instance

Database

Development

Instance

Database

QA

Instance

Database

UAT

Instance

Snapshots

Instance Instance Instance Instance

Page 44: Database Virtualization at East Coast Oralce users group 2013

EM 12c: Snap Clone

Production Development

Flexclone Flexclone

Netapp Snap Manager for Oracle

Page 45: Database Virtualization at East Coast Oralce users group 2013

Thin Cloning

Page 46: Database Virtualization at East Coast Oralce users group 2013
Page 47: Database Virtualization at East Coast Oralce users group 2013
Page 48: Database Virtualization at East Coast Oralce users group 2013

3. Database Virtualization

Page 49: Database Virtualization at East Coast Oralce users group 2013

Three Physical CopiesThree Virtual Copies

Data Virtualization Appliance

Page 50: Database Virtualization at East Coast Oralce users group 2013

Choose your virtualization Layer:• Delphix and Oracle SMU

SMU

ZFS Storage Appliance

Page 51: Database Virtualization at East Coast Oralce users group 2013

Oracle 12c SMUOracle Snap Management Utility for ZFS Appliance

• Requires ZFS Appliance• Supports Linux , Solaris 10+, Windows

2008+• GUI

– snapshot source databases – provision virtual databases

Page 52: Database Virtualization at East Coast Oralce users group 2013

Install Delphix on x86 hardware

Intel hardware

Page 53: Database Virtualization at East Coast Oralce users group 2013

Allocate Any Storage to Delphix

Allocate StorageAny type

Pure Storage + DelphixBetter Performance for 1/10 the cost

Page 54: Database Virtualization at East Coast Oralce users group 2013

One time backup of source database

Database

Production

File system

File systemUpcoming

Supports

InstanceInstanceInstance

Page 55: Database Virtualization at East Coast Oralce users group 2013

DxFS (Delphix) Compress Data

Database

Production

Data is compressed typically 1/3 size

File system

InstanceInstanceInstance

Page 56: Database Virtualization at East Coast Oralce users group 2013

Incremental forever change collection

Database

Production

File system

Changes

• Collected incrementally forever• Old data purged

File system Time Window

Production

InstanceInstanceInstance

Page 57: Database Virtualization at East Coast Oralce users group 2013

Incremental forever change collection

Database

Production

Instance

File systemFile system Time Window

Database

InstanceInstance

InstanceInstance

Page 58: Database Virtualization at East Coast Oralce users group 2013

Typical Architecture

Production Development QA UAT

Instance Instance Instance InstanceInstance Instance Instance Instance

Database

File systemFile system

Database

File systemFile system

Database

File system

Database

File systemFile systemFile systemFile system

Page 59: Database Virtualization at East Coast Oralce users group 2013

With Delphix

Database

Production

Instance

Database

Development

Instance

Database

QA

Instance

Database

UAT

InstanceInstance Instance Instance Instance

File system

Page 60: Database Virtualization at East Coast Oralce users group 2013
Page 61: Database Virtualization at East Coast Oralce users group 2013
Page 62: Database Virtualization at East Coast Oralce users group 2013

Three Core Parts

Production

Instance

Time Window

Instance

Self Service

Development

21 3

Source Syncing Storage (DxFS)

Page 63: Database Virtualization at East Coast Oralce users group 2013

Three Core Parts

Production / Source

File System

Instance

Virtual Database

Data Virtualization

Appliance (DVA)

21 3

Copy Sync SnapshotsPurge Time Flow

Clone SnapshotCompressShare CacheStorage Agnostic

ProvisionMount, recover, renameSelf Service, Roles & Security Rollback & Refresh Branch & Tag

Instance

Page 64: Database Virtualization at East Coast Oralce users group 2013

Fast, Fresh, Full

Instance

Time Window

Instance

Development VDB

Source

Page 65: Database Virtualization at East Coast Oralce users group 2013

Free

Instance

Instance

Instance

Instance

gif by Steve Karam

Source

Page 66: Database Virtualization at East Coast Oralce users group 2013

Self Service

Page 67: Database Virtualization at East Coast Oralce users group 2013

Branching

Instance Instance

Instance Time Window

Time Window

Dev1 VDB

Source

Source Dev VDB

QA VDB (branched from Dev)

End of SprintOr a Code Freeze

Page 68: Database Virtualization at East Coast Oralce users group 2013

Federated Cloning

Page 69: Database Virtualization at East Coast Oralce users group 2013
Page 70: Database Virtualization at East Coast Oralce users group 2013

Federated

Instance

Time Window

Instance

Instance

Instance

Time Window

Source1

Source2Source1

Source2

Page 71: Database Virtualization at East Coast Oralce users group 2013

“I looked like a hero”Tony Young, CIO Informatica

Page 72: Database Virtualization at East Coast Oralce users group 2013

DevOps

Page 73: Database Virtualization at East Coast Oralce users group 2013

DevOps With Delphix

1. Efficient QA: Low cost, high utilization2. Quick QA : Fast Bug Fix3. Every Dev gets DB: Parallelized Dev4. Full DB : Less Bugs5. Fast Builds: Culture of Yes

Page 74: Database Virtualization at East Coast Oralce users group 2013

1. Efficient QA: Lower cost

Build Time

QA Test

1% of QA time was building environment$.99/$1.00 actual testing vs. setup

Build Time

QA Test

Build

Page 75: Database Virtualization at East Coast Oralce users group 2013

Rapid QA via Branching

Page 76: Database Virtualization at East Coast Oralce users group 2013

2. QA Immediate: bugs found fast and fixed

Sprint 1 Sprint 2 Sprint 3

Bug CodeX

QA QA

Build QA Env QA Build QA Env Q

A

Sprint 1 Sprint 2 Sprint 3

Bug CodeX

Page 77: Database Virtualization at East Coast Oralce users group 2013

3. Private Copies: Parallelize

Page 78: Database Virtualization at East Coast Oralce users group 2013

4. Full Size DB : Eliminate bugs

Production

Page 79: Database Virtualization at East Coast Oralce users group 2013

5. Self Service: Fast, Efficient. Culture of Yes!

Management

DBA

System Admin

Storage Admin

Developers Submit Request

Disk Capacity?

Approve Request $$ (2 Weeks)

Approve Request $$

(1 Week)

RequestAdditional Storage?

ProvisionCapacity

File SystemConfigured?

Configure LUNS & Build File System

Coordinate Replication w/ Infrastructure

Re-Parameterize & Configure DB

Mount Recovery DB to

Specific PIT

Begin Work

Approve Request $$ (2 Weeks)

(3 Days)

(3 Days)

(2 Days)

(3 Days)

(3 Days)

…….1-2 Weeks of Approvals, Delays, and Provisioning……

Page 80: Database Virtualization at East Coast Oralce users group 2013

Quality

• Forensics• A/B testing• Recovery

Page 81: Database Virtualization at East Coast Oralce users group 2013

Investigate Production Bugs

Instance

Time Window

Instance

Development

Anomaly on ProdPossible code bugAt noon yesterday

Spin up VDB of Prod as it was during anomaly

Page 82: Database Virtualization at East Coast Oralce users group 2013

Rewind for patch and QA testing

Instance

Time Window

Instance

Development

Time Window

Prod

Page 83: Database Virtualization at East Coast Oralce users group 2013

A/B testing

Instance

Time Window

Instance

Instance

• Keep tests for compare• Production vs Virtual

– invisible index on Prod– Creating index on virtual

• Flashback vs Virtual

Test A with Index 1

Test B with Index 2

Page 84: Database Virtualization at East Coast Oralce users group 2013

Surgical recover of Production

Instance Instance

Development

Time Window

Spin VDB up Before drop

Problem on ProdDropped Table Accidently

Source

Page 85: Database Virtualization at East Coast Oralce users group 2013

Time Window

Surgical or Full Recovery on VDB

Instance

Instance

Dev1 VDB

Time Window

Dev1 VDB

InstanceSource

Source

Dev2 VDB Branched

Page 86: Database Virtualization at East Coast Oralce users group 2013

Virtual to Physical

Instance Instance

VDB

Source

Time Window

Spin VDB up Before drop

Corruption

Page 87: Database Virtualization at East Coast Oralce users group 2013

Recovery

Page 88: Database Virtualization at East Coast Oralce users group 2013

Business Intelligence

Page 89: Database Virtualization at East Coast Oralce users group 2013

ETL and Refresh Windows

1pm 10pm 8am noon

Page 90: Database Virtualization at East Coast Oralce users group 2013

ETL and DW refreshes taking longer

1pm 10pm 8am noon20112012201320142015

Page 91: Database Virtualization at East Coast Oralce users group 2013

Database going Global

Page 92: Database Virtualization at East Coast Oralce users group 2013

Globalization Reduces Windows

20112012201320142015

1pm 10pm 8am noon

10pm 8am noon 9pm

Page 93: Database Virtualization at East Coast Oralce users group 2013

6am 8am 10pm

Page 94: Database Virtualization at East Coast Oralce users group 2013

ETL and Refresh Windows

20112012201320142015

1pm 10pm 8am noon

10pm 8am noon 9pm

6am 8am 10pm

Page 95: Database Virtualization at East Coast Oralce users group 2013

ETL and DW Refreshes

Instance

Prod

Instance

DW & BI

Data Guard – requires full refresh if usedActive Data Guard – read only, most reports don’t work

Page 96: Database Virtualization at East Coast Oralce users group 2013

Fast Refreshes

• Collect only Changes• Refresh in minutes

Instance Instance

DW

Prod

Instance

BI

ETL24x7

Page 97: Database Virtualization at East Coast Oralce users group 2013

Temporal Data

Page 98: Database Virtualization at East Coast Oralce users group 2013

BI

a) Fast refreshes

b) Temporal queries

c) Confidence testing

Page 99: Database Virtualization at East Coast Oralce users group 2013

Review: Use Cases

1. Development Accelerationa) Full, Fresh, Fast , Self Serveb) QA Branchingc) Federated

2. Qualitya) Forensicsb) Testing : A/B, upgrade, patchc) Recovery: logical, physical

3. BIa) Fast refreshb) Temporal Datac) Confidence testing

Page 100: Database Virtualization at East Coast Oralce users group 2013
Page 101: Database Virtualization at East Coast Oralce users group 2013

over 10 times

perhaps the single largest storage consolidation opportunity history“

Page 102: Database Virtualization at East Coast Oralce users group 2013
Page 103: Database Virtualization at East Coast Oralce users group 2013
Page 104: Database Virtualization at East Coast Oralce users group 2013
Page 105: Database Virtualization at East Coast Oralce users group 2013

Oracle 12c

Page 106: Database Virtualization at East Coast Oralce users group 2013

80MB buffer cache ?

Page 107: Database Virtualization at East Coast Oralce users group 2013

200GBCache

Page 108: Database Virtualization at East Coast Oralce users group 2013

5000

Tnxs

/ m

inLa

tenc

y

300 ms

1 5 10 20 30 60 100 200

with

1 5 10 20 30 60 100 200Users

Page 109: Database Virtualization at East Coast Oralce users group 2013

8000

Tnxs

/ m

inLa

tenc

y

600 ms

1 5 10 20 30 60 100 200Users

1 5 10 20 30 60 100 200

Page 110: Database Virtualization at East Coast Oralce users group 2013

$1,000,000

$6,000

Page 111: Database Virtualization at East Coast Oralce users group 2013

Database Virtualization

Page 112: Database Virtualization at East Coast Oralce users group 2013
Page 113: Database Virtualization at East Coast Oralce users group 2013
Page 114: Database Virtualization at East Coast Oralce users group 2013

About Delphix

• Founded in 2008, launched in 2010• CEO Jedidiah Yueh (founder of Avamar: >$1B revenue))• Based in Silicon Valley, Global Operations• 10% of Fortune 500

Page 115: Database Virtualization at East Coast Oralce users group 2013

$40M

$75M

$850M

$27,000M

Storage

IT

Develop

Business

Page 116: Database Virtualization at East Coast Oralce users group 2013
Page 117: Database Virtualization at East Coast Oralce users group 2013

Good, Cheap, Fast : choose two

Fast

GoodCheap

Page 118: Database Virtualization at East Coast Oralce users group 2013

FS vs. ZFS

• FS per Volume

• FS limited bandwidth

• Storage stranded

• Many FS in a pool

• Grow automatically

• All bandwidth

Storage PoolVolume

FS

Volume

FS

Volume

FS ZFS ZFS ZFS

Page 119: Database Virtualization at East Coast Oralce users group 2013

=

Page 120: Database Virtualization at East Coast Oralce users group 2013

=