data chatwith kyle hailey andtim gorman
DESCRIPTION
Data chat with Kyle Hailey on how data virtualization with Delphix can aid Oracle DBAs in their day-to-day tasks. We talk about the basic issues facing Oracle DBAs and how specific use-cases can be improved dramatically.TRANSCRIPT
Private and confidential© 2014 Delphix. All Rights Reserved Private and confidential© 2014 Delphix. All Rights Reserved
Data chat
with Kyle Hailey and
Tim Gorman
Private and confidential© 2014 Delphix. All Rights Reserved Private and confidential© 2014 Delphix. All Rights Reserved
Virtualized storage is fast
becoming the new norm.
Nobody can justify provisioning
non-production environments
the way they did up to now.
Private and confidential© 2014 Delphix. All Rights Reserved Private and confidential© 2014 Delphix. All Rights Reserved 3
• PROD is what we care most about…
The problem
PROD
Private and confidential© 2014 Delphix. All Rights Reserved Private and confidential© 2014 Delphix. All Rights Reserved 4
• PROD is what we care most about…
– But behind every PROD…
• There is QATEST…
The problem
PROD QATEST
Private and confidential© 2014 Delphix. All Rights Reserved Private and confidential© 2014 Delphix. All Rights Reserved 5
• PROD is what we care most about…
– But behind every PROD…
• There is QATEST, DEV…
The problem
PROD QATEST DEV
Private and confidential© 2014 Delphix. All Rights Reserved Private and confidential© 2014 Delphix. All Rights Reserved 6
• PROD is what we care most about…
– But behind every PROD…
• There is QATEST, DEV…
• …and other project-specific environments to support
The problem
PROD QATEST DEV
Private and confidential© 2014 Delphix. All Rights Reserved Private and confidential© 2014 Delphix. All Rights Reserved 7
• Also, as PROD grows…
The problem
PROD PROD
Private and confidential© 2014 Delphix. All Rights Reserved Private and confidential© 2014 Delphix. All Rights Reserved 8
DEVQATEST
• Also, as PROD grows…
– Then so do the supporting non-PROD environments…
The problem
PROD
Private and confidential© 2014 Delphix. All Rights Reserved Private and confidential© 2014 Delphix. All Rights Reserved 9
The problem
CEO
COO
CFO CMO CSO CIO
• And so inevitably the situation shifts from this…
Private and confidential© 2014 Delphix. All Rights Reserved Private and confidential© 2014 Delphix. All Rights Reserved 10
The problem
CEO
COO
CFO CMO CSO CIO
StorageAdministrator
• To this…
Private and confidential© 2014 Delphix. All Rights Reserved Private and confidential© 2014 Delphix. All Rights Reserved 11
• Some try to mitigate the problem by copying subsets of PROD…
Attempting to solve the problem…
PRODQATEST DEV UAT
Private and confidential© 2014 Delphix. All Rights Reserved Private and confidential© 2014 Delphix. All Rights Reserved 12
• Some try to mitigate the problem by copying subsets of PROD…
• …but it is difficult and time-consuming to create referentially-correct
subsets of databases. Most give up…
Attempting to solve the problem…
PRODQATEST DEV UAT
Private and confidential© 2014 Delphix. All Rights Reserved Private and confidential© 2014 Delphix. All Rights Reserved 13
• What inevitably happens is that cloning is performed less
frequently…
• …meaning that schemas and data are older, dirtier due to previous
testing, and too small to accurately represent reality
Attempting to solve the problem…
PRODQATEST DEV UAT
Private and confidential© 2014 Delphix. All Rights Reserved Private and confidential© 2014 Delphix. All Rights Reserved 14
Attempting to solve the problem…
PROD
DEV for Tom
DEV for Dick
DEV for Sally
DEV for Harry
DEV for Becky
And while in a perfect world what we’d like to see is something like
this…
Private and confidential© 2014 Delphix. All Rights Reserved Private and confidential© 2014 Delphix. All Rights Reserved 15
Attempting to solve the problem…
PROD
DEV
Tom Dick Sally Harry Beck
y
…in the real world we see this…
Private and confidential© 2014 Delphix. All Rights Reserved Private and confidential© 2014 Delphix. All Rights Reserved 16
• It’s not easy for developers or testers to share environments
simultaneously
Attempting to solve the problem…
Private and confidential© 2014 Delphix. All Rights Reserved Private and confidential© 2014 Delphix. All Rights Reserved 17
• It’s not easy for developers or testers to share environments
simultaneously
– Changes made by each user conflict with one another
Attempting to solve the problem…
Private and confidential© 2014 Delphix. All Rights Reserved Private and confidential© 2014 Delphix. All Rights Reserved 18
• It’s not easy for developers or testers to share environments
simultaneously
– Changes made by each user conflict with one another
• So it becomes necessary to serialize access to the limited number of
environments
Attempting to solve the problem…
Private and confidential© 2014 Delphix. All Rights Reserved Private and confidential© 2014 Delphix. All Rights Reserved 19
• It’s not easy for developers or testers to share environments
simultaneously
– Changes made by each user conflict with one another
• So it becomes necessary to serialize access to the limited number of
environments
– Each user queues at the resource, so their project takes more time
elapsed
Attempting to solve the problem…
Private and confidential© 2014 Delphix. All Rights Reserved Private and confidential© 2014 Delphix. All Rights Reserved 20
• It’s not easy for developers or testers to share environments
simultaneously
– Changes made by each user conflict with one another
• So it becomes necessary to serialize access to the limited number of
environments
– Each user queues at the resource, so their project takes more time
elapsed
– Each user destructively changes the resource
Attempting to solve the problem…
Private and confidential© 2014 Delphix. All Rights Reserved Private and confidential© 2014 Delphix. All Rights Reserved 21
• It’s not easy for developers or testers to share environments
simultaneously
– Changes made by each user conflict with one another
• So it becomes necessary to serialize access to the limited number of
environments
– Each user queues at the resource, so their project takes more time
elapsed
– Each user destructively changes the resource
• And now we need a way to reset or clean up the environment
between each use
Attempting to solve the problem…
Private and confidential© 2014 Delphix. All Rights Reserved Private and confidential© 2014 Delphix. All Rights Reserved 22
• It’s not easy for developers or testers to share environments
simultaneously
– Changes made by each user conflict with one another
• So it becomes necessary to serialize access to the limited number of
environments
– Each user queues at the resource, so their project takes more time
elapsed
– Each user destructively changes the resource
• And now we need a way to reset or clean up the environment
between each use
– Reset or clean up takes time, which causes further delays between uses
Attempting to solve the problem…
Private and confidential© 2014 Delphix. All Rights Reserved Private and confidential© 2014 Delphix. All Rights Reserved 23
All kidding aside…You are here
Private and confidential© 2014 Delphix. All Rights Reserved Private and confidential© 2014 Delphix. All Rights Reserved 24
• The biggest problem with cloning environments and databases is all
the duplication
A solution…
Private and confidential© 2014 Delphix. All Rights Reserved Private and confidential© 2014 Delphix. All Rights Reserved 25
• The biggest problem with cloning environments and databases is all
the duplication
– Most (if not all) of the blocks comprising the database or file-system
exactly the same
A solution…
Private and confidential© 2014 Delphix. All Rights Reserved Private and confidential© 2014 Delphix. All Rights Reserved 26
• The biggest problem with cloning environments and databases is all
the duplication
– Most (if not all) of the blocks comprising the database or file-system
exactly the same
• What if we store only one copy of each version of a block?
A solution…
Private and confidential© 2014 Delphix. All Rights Reserved Private and confidential© 2014 Delphix. All Rights Reserved 27
• The biggest problem with cloning environments and databases is all
the duplication
– Most (if not all) of the blocks comprising the database or file-system
exactly the same
• What if we store only one copy of each version of a block?
– Copy-on-write (COW)
• Never modify a block, but insert a new version instead
A solution…
Private and confidential© 2014 Delphix. All Rights Reserved Private and confidential© 2014 Delphix. All Rights Reserved 28
• The biggest problem with cloning environments and databases is all
the duplication
– Most (if not all) of the blocks comprising the database or file-system
exactly the same
• What if we store only one copy of each version of a block?
– Copy-on-write (COW)
• Never modify a block, but insert a new version instead
• Then let the storage figure out what we’re supposed to be seeing?
A solution…
Private and confidential© 2014 Delphix. All Rights Reserved Private and confidential© 2014 Delphix. All Rights Reserved 29
• The biggest problem with cloning environments and databases is all
the duplication
– Most (if not all) of the blocks comprising the database or file-system
exactly the same
• What if we store only one copy of each version of a block?
– Copy-on-write (COW)
• Never modify a block, but insert a new version instead
• Then let the storage figure out what we’re supposed to be seeing?
– The storage maintains the relationships and versions on retrieval
A solution…
Private and confidential© 2014 Delphix. All Rights Reserved Private and confidential© 2014 Delphix. All Rights Reserved 30
• The biggest problem with cloning environments and databases is all
the duplication
– Most (if not all) of the blocks comprising the database or file-system
exactly the same
• What if we store only one copy of each version of a block?
– Copy-on-write (COW)
• Never modify a block, but insert a new version instead
• Then let the storage figure out what we’re supposed to be seeing?
– The storage maintains the relationships and versions on retrieval
• And then make it portable so that ANY platform (Unix/Linux,
Windows) can use it?
A solution…
Private and confidential© 2014 Delphix. All Rights Reserved Private and confidential© 2014 Delphix. All Rights Reserved 31
• The biggest problem with cloning environments and databases is all
the duplication
– Most (if not all) of the blocks comprising the database or file-system
exactly the same
• What if we store only one copy of each version of a block?
– Copy-on-write (COW)
• Never modify a block, but insert a new version instead
• Then let the storage figure out what we’re supposed to be seeing?
– The storage maintains the relationships and versions on retrieval
• And then make it portable so that ANY platform (Unix/Linux,
Windows) can use it?
– NFS (network file system)
A solution…
Private and confidential© 2014 Delphix. All Rights Reserved Private and confidential© 2014 Delphix. All Rights Reserved 32
• Cloning the old way…
A solution…
PROD DEV
Private and confidential© 2014 Delphix. All Rights Reserved 33
What happens when ask for a copy ?
Developer or AnalystBoss, Storage Admin, DBA
Private and confidential© 2014 Delphix. All Rights Reserved Private and confidential© 2014 Delphix. All Rights Reserved 34
• Cloning the smart way…
A solution…
PROD DEV
Private and confidential© 2014 Delphix. All Rights Reserved Private and confidential© 2014 Delphix. All Rights Reserved 35
• Cloning the smart way…
– As changes are made to the clone, only those changed blocks are
stored…
A solution…
PROD DEV
Private and confidential© 2014 Delphix. All Rights Reserved Private and confidential© 2014 Delphix. All Rights Reserved 36
• Cloning the smart way…
– As changes are made to the clone, only those changed blocks are
stored…
• Takes less storage, faster to copy
• The cost of the clone has gone way down in terms of storage and
time
A solution…
PROD DEV
Private and confidential© 2014 Delphix. All Rights Reserved Private and confidential© 2014 Delphix. All Rights Reserved 37
• Cloning the smart way…
– As changes are made to the clone, only those changed blocks are
stored…
• Takes less storage, faster to copy
• The cost of the clone has gone way down in terms of storage and
time
A solution…
PROD
CapEx
DEV
Private and confidential© 2014 Delphix. All Rights Reserved Private and confidential© 2014 Delphix. All Rights Reserved 38
• Cloning the smart way…
– As changes are made to the clone, only those changed blocks are
stored…
• Takes less storage, faster to copy
• The cost of the clone has gone way down in terms of storage and
time
A solution…
PROD
CapEx OpEx
DEV
Private and confidential© 2014 Delphix. All Rights Reserved 39
Key Terms
Terms for Production Environment
Terms for the DelphixAppliance
Terms for Pre-Production Environment
Source host Delphix Server Target host
Source database dSource VDB
Private and confidential© 2014 Delphix. All Rights Reserved 40
Key Terms: Source Host
Production Development
The source host is the host on which the instance for the source database runs. Typically this is the production host.
Private and confidential© 2014 Delphix. All Rights Reserved 41
Key Terms: Source Database
1 TB Storage
Production Development
The source database is copied into the Delphix Server via standard Oracle RMAN APIs.
Delphix Server then stays in sync via incrementalRMAN backups and by collecting redo.
Private and confidential© 2014 Delphix. All Rights Reserved 42
Key Terms: Delphix Server
1 TB Storage
Production Development
The Delphix Server acts as a backup destination for the source databases, and as network attached storage for VDBs. It also hosts the Delphix management GUI.
Private and confidential© 2014 Delphix. All Rights Reserved 43
Key Terms: dSource
1 TB Storage
Production Development
The dSource is the Delphix Server’s compressed representation of the source database. It is the basis for the storage that is allocated to a VDB.
~256 GB Storagefor dSource
Private and confidential© 2014 Delphix. All Rights Reserved 44
Key Terms: Target Host
1 TB Storage
Production Development
The target host is the host on which the instance for the VDB runs. Typically this is wherever the pre-prod database runs today.
~256 GB Storagefor dSource
Private and confidential© 2014 Delphix. All Rights Reserved 45
Key Terms: VDB
1 TB Storage
Production Development
The VDB is a fully functional database running on a target host.The storage for a VDB is managed by Delphix, and provided to the target host via NFS. Changes are stored in the Delphix Server.
~256 GB Storagefor dSource
No additional storagefor VDB outside of Delphix
Only changesstored for VDB
Private and confidential© 2014 Delphix. All Rights Reserved 46
Delphix Overview
1 TB Storage ~256 GB Storagefor dSource
Production Development
No additional storagefor VDB outside of Delphix
Only changesstored for VDB
Delphix Server 4.1
• Platforms Vmware
Amazon EC2
• DatabasesOracle
SQL Server
Postgres
Sybase
• App Data
• Data Masking
• Replication
How can Delphix help DBAs?
• Scratch environments Testing one-off patches, patchset updates (PSU’s), and critical-patch upgrades (CPU’s)
• SQL tuningWhen tuning a specific SQL statement, how can you effectively test the impact of…
- adding or dropping an index?
- gathering CBO statistics a bit differently?
…without getting an act of Congress/Parliament?
Private and confidential© 2014 Delphix. All Rights Reserved
Virtualized storage is fast becoming the new norm.
Nobody can justify provisioning non-production environments the way they did up to now.