Twitter question: “Can anyone give me a link to a very short itemized list of Delphix benefits?”
First, short summary: Delphix is the most powerful product to improve development output and quality in the 20+ years I’ve been working with databases. It improves development by eliminating the enormous infrastructure, bureaucracy and time drag that it takes to provision databases for development environments. Development environments depend on having a copies of production databases and Delphix allows provisioning in a few minutes with almost no storage overhead by sharing duplicate blocks among all the copies. For more info see
Now for an itemized list of use cases and benefits
Development Acceleration
QA environment builds branched immediately from prod or dev. Simply branch a vDB from the development vDB in minutes.
Instead of spending 90% of QA cycle building environment and 10% running QA suite, spend 99% running the QA suite and eliminate almost 90% of infrastructure costs
QA faster, find bugs faster, avoiding dependent code written over bugs reducing code rework
Use Case: Presbyterian Health eliminated 95% of QA time building QA environments
Use Case: KLA-Tencor improved SAP project output by 5x principally because of the speed up in QA
Many vDBs for developers
Every developer can get a copy of the source DB parallelizing development, avoiding contention on a single shared copy. Instead of waiting 1-2 weeks for code review of schema changes, developers can change as fast as they want and development can use a merge vDB to integrate and QA the changes.
similarly parallelize QA by running many QA suites in parallel since environments are fast and cheap
Use Case: Large auction house gave all developers their own copy of the DB doubling dev output
instead of using subset databases which require complex scripting to create and more importantly allow bugs to slip into production, use full copies
Use Case Stubhub estimates eliminating 20% of production bugs going from subsets to full vDB copies
Fast environment builds – biggest project delay is building environments
Create a culture of yes
Eliminate huge bottlenecks in projects
Use Case: many, customers have reduced time to make DB copies from 10 hours 10 minutes, from 10 days to 10 minutes, from 10 weeks to 10 minutes. One large global bank took 3-6 months to provision copies and now does it in 10 minutes.
Federated DB cloning: applications that use multiple databases and all DBs need to be clone at the same point in time
getting copies of multiple database at the same point int time is extremely difficult, but with Delphix one can pull in the sources at any time, once they are all in, they can all be cloned down to the same second within minutes in a simple UI with a timeline
Use Case: Informatica reduced a project from 12 months to 6 months using Delphix to clone their federated databases
Free up DBA DBAs can be project bottlenecks
Interface is easy. A junior DBA can provision databases for an entire company freeing up senior DBAs to work on innovation
Use Cases: Macys went from 4000 hours/year of database copying by senior DBAs to 8 hours by a junior DBA
Delphix interface is so easy that developers can provision their own databases.
Use Case: “Self-service is awesome; if they can get work done without opening a ticket, we’re winning.” – Kelsey Hightower via Gene Kim, author of The Phoenix Project
vDBs can be branched from vDBs
like source control for code its data control for databases
Use Cases: immediate build of QA database by branching from Dev database
Use Cases: support multiple parallel development tracks. Comcast has 9 parallel development tracks on different versions of the applications.
Quality
Forensics
if a problems show up on production due to certain data sets and then disappear one can spin up a vDB in minutes of the production database as it was during the time of anomolie
Use Case: large online ticket seller would see code anomolies when they released 60,000 new tickets for a football game, but the anomolies would go away as tickets sold. Didn’t want to let developers on production plus the problems would disappear. Now with Delphix they can spin up a copy of prod as it was during the problem and give it to a developer for investigation
Rewind for upgrade and patch testing and QA testing
one of the most stressful things for me as a DBA is upgrade and patching
with Delphix I can practice upgrade and patching as many times as I want until I’m sure of the procedure. I spin up a vDB, upgrade or patch, throw it way and do it again
For QA testing that requires setup, say credit card number obfuscation, that can be done once then destructive QA tests run and then I an rewind the vDB to just after the obfuscation work was done, then run the test again
A/B testing
allows me to create indexs on one vDB, drop indexs on another vDB, change init.ora parameters on anothe vDB and keep all these vDBs as I compare the performance
Surgical recovery
pull out data before a problem happened. Delphix keeps a multi week time window of changes from the source
Use Case: two days after a larger cable company installed Delphix, someone dropped the movies title table and 40 million subscribers couldn’t rent streaming movies. Dataguard applied the drop instantly as well, of course, it’s for HA failover. Going to a backup takes 8 hours, but they had Delphix and pulled out the table in minutes and put it back into prod
Automatic backup for developement databases
if development uses vDBs they are automatically backed up. Development often isn’t backed up because “they are just development databases”
Use Case: many examples of developers droping the wrong table, updating the wrong data etc. To recover we just branch vDB from just before the wrong command.
Physical recovery of source
If data files get corrupted on the source database they can be copied from Delphix
Backup 50 days of in the size of the source database
example: 9 TB source database. When pulled into Delphix it’s compressed to 3TB. (average compression of 1/3). Now we have 6TBs left over before we even reach the size of the original database, but it’s not just 6 TB, but because of compression it’s 18TB of changes we can pull in before we even reach the size of the initial database.
Business Intelligence
Reporting database refreshes in minutes
instead of refreshing reporting once a night or once a week, they can be refreshed in minutes multiple times a day
because Delphix only brings in changes from the source database and Delphix provides backup and reporting, Delphix basically eliminates huge saturations of network because of backups and reporting database refreshes
Temporal data access
being able to run a query in the past is often a powerful capability and often asked for by developers. With Delphix one can startup up a vDB as the source was yesterday, the day before, for the last 30 days etc and run queries and find the results in the past
Confidence testing
Ever change or optimize a massive reporting query and then wonder if that change was valid? It can be hard to QA that kind of change. One approach is building confidence. By startup vDBs over past X days and running the new query or report one can compare it to the old query or report and see if the correspond, building up confidence that the change was correct
24×7 ETL windows
often ETL is only run in nightly windows when the load of the ELT job won’t impact production. These windows are becoming too small as data sets grow, jobs run longer and even more importantly as globalization happens and databases don’t even have nightly windows. With Delphix one can have a 24×7 vDB from the source that can be used for the ETL. The vDB is read/write as opposed to dataguard and active data guard allowing one to run reports that have to create temporary objects.
Performance
Delphix shares it’s memory cache across all the vDBs
If one vDB loads data in memory, it’s available to all the other vDBs
If one vDB caches entire database, then it’s cached for all the other vDBs
Combining Delphix with Pure Storage showed same performance at 1/10 the price
Comments