What is Delphix

More and more I'm asked "What is Delphix?" One reason I'm getting asked is because Delphix is getting more and more exposure. Delphix is used by Fortune #1 Walmart. Delphix is used by social #1 Facebook.  Delphix is used by US Bank #1 Wells Fargo. Delphix is used by networking #1 Cisco.

Who is Delphix?

More and more I'm asked "What is Delphix?" One reason I'm getting asked is because Delphix is getting more and more exposure. Delphix is used by Fortune #1 Walmart. Delphix is used by social #1 Facebook. Delphix is used by US Bank #1 Wells Fargo. Delphix is used by networking #1 Cisco. Delphix is used by #1 cable provider Comcast. Delphix is used by #1 auction site Ebay. Delphix is used by #1 insurance New York Life. Delphix is used by #1 chip manufacture Intel. The list goes on.

Who is this company Delphix and why are they used by the #1 companies in so many domains only 3 years after they started shipping a product? 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.

What does Delphix do?

Delphix enables Oracle and SQL Server  customers to clone their databases in minutes for almost no storage.

What is Delphix?

Delphix is software that runs as a VM on VMware.  Delphix manages storage. Delphix looks like a NAS to  databases clones using Delphix. Delphix pulls in changes from source databases. Delphix exposes the source database data to clone databases via NFS. Clone databases share all duplicate blocks on Delphix and only modified blocks are kept private to those clones.

Delphix compresses data stored on Delphix and  orchestrates access to the data sharing duplicate blocks between multiple clones and keeping modified blocks private to the clones who made the changes. From the source data on Delphix one can spin up clones in a few minutes for almost no storage overhead.

The clone instances run on any hardware that has compatible Oracle software installed and those clone database instances reference the datafiles on Delphix via NFS. Delphix is automated and all operation are enabled via few clicks of mouse in a GUI or can be scripted via a CLI. Delphix is so simple a developer can clone databases in minutes without knowing Oracle or SQL Server. The core value is speed and agility.

  • Speed up development projects

  • Provide backup and recovery protection eliminating long resource heavy weekly backups

  • Eliminate ETL windows and Reporting database refresh

One can give all the members of a development team all their own private copies of the database giving then full copies, thus eliminating bottlenecks caused by sharing a single copy and avoiding bugs caused by using subsets.

One customer estimates eliminating 20% of  bugs on prod after shifting from using subsets for development and going to Delphix full virtual databases. Also if each developer has their own copy they can code without being blocked by other developers. One company's teams were waiting 1 - 2 weeks for developers to make modifications to shared DBs before Delphix.

Even more impressive is that QA can spin up many copies in minutes in parallel instead spending large amount of time building QA databases and then running destructive tests. Some of our customers spent 90+ % of their QA cycle times building QA environments and less than 10% of QA cycle times actually QA'ing. Now with Delphix they have 99% of their QA cycle time actually doing QA!

Largely thanks to QA speedups a few customers have actually reached 5x greater project output. That's like taking a team of 100 and getting the effective output of 500 people. Unprecedented. A 5x improvement is the high end but 2x project output is an standard improvement.

At the very least we've see a minimum 20% improvement. Delphix also acts as efficient backup since after the first full copy Delphix never takes a full copy again but only brings in changes. Dephix keeps weeks of changes meaning if someone or something did a destructive change yesterday on production then they can pull out the data from Delphix before the change.

An cable provider had just installed Delphix 2 days before someone dropped the movies title table on prod meaning none of 26 million customers were unable to rent movies. Of course Dataguard had the drop as well. They would have gone to backup to recover taking 8 hours but since they had Delphix that got the data in minutes.

By doing efficient backups, Delphix frees up many of our customers networks over the weekends because they no longer have to do full copies on the weekend. Delphix can also tag and branch database versions enabling "data control" for databases as one would do source control for code.

How does Delphix work?

Delphix is software. Delphix ships as a  VM image. The VM installs under VMware on any Intel hardware that can run VMware. Installing the Delphix VM takes about 5 minutes. After installation of the VM, configuring Delphix via  web interface takes about 5 minutes. Part of the configuring Delphix is assigning storage to Delphix.  Delphix can use any storage assigned to it via VMware. Delphix will map out it's own file system, called DxFS, on that storage.

The DxFS file system takes care of  snapshoting, cloning and compression and handles all of this automatically behind the scenes. Once Delphix is installed, one can register a source database machine in Delphix by giving the credentials.

Once the machine is registered, one can link to a source database on that machine. Linking means taking an initial full backup of the source database onto Delphix via RMAN APIs. All the RMAN APIs are run in the background automatically and are not visible to the user of Delphix. For the Delphix users it's all  just a few clicks in a graphic interface.

Once the link is completed, the RMAN backup on Delphix is typically compressed by 1/3. Delphix never again takes a full back up. From then on out Delphix collects changes on the source database again using RMAN APIs run in the background on a set schedule.

These changes once brought into Delphix are  merged with the existing backup providing immediate access to a full backup of the source database at the time of the incremental backup. The incremental backup for all intents and purposes is a full backup. That's why Delphix never needs to take a full back again after the initial link.

Optionally the redo stream can be collected so that clones can be made down to the second or SCN instead of just to an RMAN backup from SCN. Delphix is software that installs on commodity Intel Hardware.

Intel hardware

Delphix installs on any x86 hardware. It does require to be run as a VM in VMware ESX.

Delphix server

Delphix can use any storage. Delphix uses any storage be it Netapp, EMC, local disk or JBODs. Delphix can even use new SSD arrays like Pure Storage for amazing results. Delphix supports any Oracle 9,10,11, RAC, Exadata, Standard, Enterprise on Sparc, HPUX, Linux and AIX as well as SQL Server, Sybase and Postgres not to mention non-database data as well such as application stacks and binaries.

storage

After the source machine is registered with Delphix, one can link to any database on that machine. The first step when linking is taking an initial full backup of the source database onto Delphix. This full backup happens once an never again. The full backup is typically compressed by 1/3 by Delphix.

time window

After the original link is pulled over, then Delphix continuously and forever collects  RMAN backup from SCN snapshots at regular intervals and redo changes between the snapshots.

time window 2

From there I can create clones in a few minutes with 4 clicks of a mouse in the GUI down to any point in time, to the second or SCN, within the retention window on the source database.

Before Delphix:

before delphix - typical architecture

After Delphix:

after delphix - architecture

Thus Delphix allows companies to make copies of Oracle databases in minutes with  almost no storage overhead by sharing all the duplicate data blocks between database copies. Sharing duplicate data blocks massively reduces storage consumption, frees DBAs up from the repetitive work of copying files, allowing them to concentrate on innovative work and most importantly accelerates project development by eliminating the time and resource consuming bottleneck of provisioning databases for development, QA and reporting.

With Delphix the databases can be provisioned by an end user in  minutes to any point in time from the source database allowing one to easily go back before an incident on production to retrieve data before a problem or stand up a full copy of production at a time that production had a problem allowing easy analysis of intermittent issues.

Database clones for everyone!!

This post originally appears on http://www.kylehailey.com/what-is-delphix/