Delphix & Oracle 12c

March 14th, 2014

Oracle 12c tries to integrate with storage snapshot technologies such as EMC, ZFS and Netapp. How does Delphix fit in? Let’s start by talking about the most used technology for taking snapshots of filesystems using Oracle, and that is Netapp.

NetApp and Delphix are in different worlds. NetApp is storage hardware and Delphix is software. NetApp is awesome technology with a proven track record of reliability, scalability and flexibility. Of all the methods for thin cloning Oracle databases, the method I hear about most often, besides Delphix, is NetApp FlexClone, and the question often arises “What does Delphix offer over NetApp?” Delphix offers quite a bit, and in fact many Delphix customers use NetApp for storage, but use Delphix for thin cloning and database virtualization.

There are several NetApp technologies in the thin cloning space: NetApp Snapshot, SnapRestore, Snap Mirror, Snap Drive and FlexClone. NetApp has stitched together solutions such as NetApp Snap Manager for Oracle (SMO), Snap Manager for SQL (SMSQL) and Snap Manager for SAP (SMSAP) using a combination of these different technologies.

Some customers choose to use NetApp’s FlexClone technology directly, which then requires custom scripting to build a working solution. Customers are therefore burdened with the overhead of customization as well as the effort and cycles spent in the maintenance of these customizations.

Some people tell me “I made a thin clone of an Oracle database once with a file system snapshot and it was easy.” Many people can also say they’ve made a backup of an Oracle database using the ‘cp’ command as well, and it was easy (I have), but most people would use RMAN to drive an enterprise backup strategy and similarly Delphix is the only solution for Enterprise databasevirtualization.  Talking to one Delphix customer who had previously used NetApp for thin cloning, I asked them “how long does it take to create a thin clone of an Oracle database” and they responded “Two to five days.”  I was taken aback and asked, “Shouldn’t it take a few minutes?” and their response was “Well, I have to submit a request to the storage guy, another to the system guy and another to the DBA and most of the time is taken coordinating between them. If I had them all in the same room, they could get it done a a couple of hours.” A couple of hours is better than a couple of days but it’s still much more than the couple of minutes a developer spends to self-service clone a database with Delphix.

Let me call out several specific areas where the Delphix Engine is vastly superior to NetApp FlexClones and SMO.

1.Complexity:

NetApp SMO is a multi-product, storage-level solution that leverages several NetApp technologies including Snapshot, SnapRestore, SnapMirror, SnapDrive and FlexClone. The solution is complex to install, and difficult to implement and deploy.

NetApp’s FlexClone technology, used in isolation, requires customers to create custom scripting in order to build a working solution. Customers are therefore burdened with the overhead of customization as well as the effort and cycles spent in the maintenance of these customizations.

As an example, NetApp is used by CERN (European Organization for Nuclear Research). CERN wanted to provide end users the ability to provision database clones on NetApp. They wrote and maintain over 25,000 lines of code to support a NetApp FlexClone based application. Goldman Sachs has a similar investment in scripting to maintain a NetApp database provisioning solution.

Delphix can be installed and functional in less than a day. Delphix installs in a VM and has no dependencies on other software. The management console is browser-based and does not require any other clients to be installed in order to work.

2. Usability

Delphix offers an elegant and robust solution with a great UI experience that is simple and easy to use. With Delphix, one can provision a database based at a point in time right down to the second, without being constrained by when a snapshot was last taken. Provisioning a database at a specific point in time between two snapshots is trivial within Delphix, since we manage the process of applying the logs to create a consistent internal backup without exposing it to the end user.

3. Self-service

NetApp requires storage expertise, specialized hardware, custom scripting and an ongoing investment in time to maintain. It is designed to be used by storage and database administrators, not end-users such as application developers or release engineers.

With Delphix’s self-service feature, developers can refresh data on their own. This significantly reduces refresh times, introduces operational efficiencies, improves app quality, and greatly enhances productivity. For most organizations, that would translate into reduced time to develop data models and faster time to market, ultimately impacting revenues.

4. Hardware Anchor

The NetApp SMO solution depends on underlying NetApp storage to work. NetApp also requires a major change in database layout to properly take advantage of storage features, forcing customers to consider and manage logs, etc. separately.

Delphix is storage agnostic and can work with any storage, allowing customers to choose any best-priced or best-featured vendor, instead of wrapping processes and scripting around a single hardware vendor. With Delphix, there is no hardware lock-in. In addition, as a software solution, Delphix can install in private cloud, public clouds, outsourced facilities, and on any hardware from an acquiring company, making Delphix a future-proof solution that can remain a standard as application portfolios and architectures continue to evolve.

5. Deployment Flexibility

Delphix is a software virtual appliance that can be deployed on-premise or on a private and public cloud.

NetApp SMO runs only on-premise and requires investment in additional hardware to manage SnapManager Repositories and provisioning, cloning, backup, recovery and DR policies via the NetApp OnCommand server.

6. Feature Superiority

What would it take to perform these tests with NetApp even for a domain expert? These are all part of Delphix’s basic feature set that can be executed by an end-user with minimal training:

  • Run a test where clones have to be provisioned down to the second
  • Run a test that rolls the clones back
  • Run a test that creates a clone of a clone
  • Run a tests that creates a clone of a clone at a point in time
  • Run a tests that rolls back a clone of a clone to a point in time
  • Run a test where a end user provisions a VDB
  • Run a test that loads a new database from another site or another storage array
  • Run a test that takes more than 255 snapshots (NetApp is limited to 255)
  • Have a non storage/non DBA person set up Delphix and then NetApp

Delphix is a robust, feature-rich and evolving data agility platform. It is is seamless, elegant and powerful.

Typical Environment with multiple copies of Production Database

Screen Shot 2013-07-17 at 3.11.00 PM

Production is copied off to development, QA, UAT among other locations. Each physical copy is a full size duplicate of production requiring time, resources and expertise and creating a system that is slow and difficult to refresh and maintain.

Same Scenario with Delphix database virtualization

Screen Shot 2013-07-17 at 3.13.22 PM

Delphix seamlessly collects data from production, compresses by 1/3 typically and provides the appearance of full and privatedatafiles to each of the copies of production. Each copy can be spun up in minutes for almost not storage by a junior DBA or even a end user such a developer. All data collection and data purging is automated and virtual databases.

Same thin cloning coverage on Netapp

 

Screen Shot 2013-07-17 at 3.09.06 PMSee Netapp white paper on Oracle thin cloning 

To create thin clones on Netapp away from production requires  production Netapp storage and separate Netapp storage away from production. To sync with production requires that snapshots be taken on production which requires snapshot manager for Oracle (SMO) and an Oracle database that SMO can use to track its work. The production snapshots need to be copied over to the second storage array using protection manager and snap mirror and  is also dependent on snap drive. Once the changes areon the second array, flexclone can then be used to create thin clones of the source Oracle database.

Required features

  • snap manager for Oracle
  • snap drive
  • snap mirror
  • protection manager
  • snapshot manager  repository
  • flexclone

Coordination between the various parts can be tricky and  when it comes to creating a thin clone database it requiresevolvement of storage admin, system admin and DBA.

Netapp has no technology to help with provisioning the thin clones, but Oracle has added this feature in EM 12c.

EM 12c thin clone provisioning with Netapp

EM 12c can help provide an interface that developers and other non-DBA and non-storage staff can use to provision thin clones using Netapp. See DBaaS: Oracle Snap Clone in EM 12c

Unfortunately EM 12c’s management of snapshots and source database synchronization is not currently compatible with the configuration laid out above where Netapp can synchronize datafiles on a remote filer away from the production filer AFAIK

Screen Shot 2013-07-26 at 11.02.33 AM

Screen Shot 2013-07-26 at 11.04.50 AM

 Summary

Netapp is the most advanced and rich offering of a storage provider for database thin cloning yet even Netapp is complicated and slow when it comes to maintaining a remote copy of a database away from the source database as indicated in the above graphic. Netapp lacks a solution for actually provisioning the thin clone databases  also known as virtual databases (VDB).  Oracle has written a wrapper around Netapp to provide a means of end user provisioning, but Oracle depends on all the the Netapp features such as the complicated system to sync a remote storage array database copy with the source Oracle database copy.

Screen Shot 2013-07-22 at 11.40.17 AM

1 with Flex Clone
2 with Snap Mirror
3 with Snap Drive, ProtectionManager, Snapshot Manager, Snapshot Manager repository, RMAN repository
4 manual process,
5 Oracle only
6 can define lifetime of VDB, but lack automation for taking snapshots, continous data capture, and purging

 

Data Agility

It’s all about radically solving business problems and Delphix is the only one that does. Delphix
  • Accelerates business processes: simple, fast, fresh, free (almost no storage) clones for anyone
    • Development: give each developer a copy, parallelize development
    • Fast and Fresh : refresh reporting databases multiple times a day
    • Self Service: anyone can provision, refresh and rollback themselves *
    • Branching:  clone a clone. Provide QA a copy of Dev within minutes of a code freeze *
  • Point in time: provisioning for logical recovery and cloning federated databases *
  • Performance : by sharing duplicate blocks in RAM across VDBs *
* Delphix only AFAIK
Data agility means fast seamless easy management of data.  Delphix puts it all together in a beautiful streamlined powerful package.
Do a side by side compare  of Delphix to Oracle EM 12c

Delphix

Installs in a VMs in about 5 minutes. Delphix web interface installs in 5 minutes.I can add a target machine, source machine, link to the source and make a virtual database (using a small database) 5 minutes. Total time 15 minutes of it and the first 10 is one time only. (the links are actual videos)

Wow. It’s easy.

Oracle EM 12c Snap Clone 

Complex: I spent hours trying to understand it and still don’t have a good handle on it. The only Oracle consultant I know who has tried to install EM 12 Snap Clone for a customer could never get it to work. Snap Clone requires ZFS storage appliance or Netapp. EM 12c requires that someone get a copy of the source database onto the storage array managed by EM 12c. The copy of the source is a one time manual operation with no synchronization with the source. EM 12c snap clone requires agents on separate Linux machines. EM 12c configuration itself for snap clone takes hours if not days to configure.

Delphix is the only solution that syncs with production (source)
No database virtualization solution on the market offers a way to automatically sync with the source database. With Netapp the source database can be sync’ed from one Netapp array to another with a complex set of products but ironically this architecture is incompatible with EM 12c provisioning of clone databases. Without continuous syncing with the source one will be unable to configure the following Delphix features
  • logical recovery from any point in time
  • physical recovery from any point in time
  • federated database cloning
  • Temporal database access (what did this query do on the database last week, week before etc)
  • Forensics (what data was causing this bug to manifest yesterday at noon on production)
  • Fast refreshes of reporting databases multiple times a day
Meaning that one has to keep heavy overnight reporting database refreshes (thinking Mac trucks on a on small winding roads verses motorcycles – full back ups verses only changed blocks) and one has to depend on heavy weekly full backups and daily incremental and worry about merging multiple incremental to get the desired recovery state)

 

5 Minute VM Install (one time only)



 

5 Minute setup (one time only)

 


5 minutes to link and clone a database (for a small database)

  1. Trackbacks

  1. Comments

  2. Leighton
    | #1

    Hi Kyle,
    Just commenting from the twitter discussion. We’re using SMO for daily and weekly clones but the daily clones usually run into errors and requires manual intervention. You are right in that SMO is component heavy. It makes troubleshooting difficult. That’s the main reason we’re planning on using custom scripts instead of SMO. This is so we can have better control of the process and remove some of the components involved.
    Another option would be to use Snap Creator which we’re testing in POC. This will call underlying APIs and also removes some of the top-heavy components such as SDU. I believe the OEM 12c Snap Clone works by calling the same APIs so it’s somewhat extensible.


three × 2 =