Delphix & Oracle 12c
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
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.
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.
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.
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
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
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
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.
- snap manager for Oracle
- snap drive
- snap mirror
- protection manager
- snapshot manager repository
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
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.
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
- 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 *
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.
- 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
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)