Business Goals and Project Challenges
All successful businesses need to build and maintain reputation, increase revenues, improve efficiency, stay competitive, ensure security and remain compliant.
To achieve these goals businesses need to attract and retain customers, increase adoption levels and effectiveness of internal applications, maintain security and avoid and correct problems.
On top of that many customers are curating and analysing more data to enable them to track and predict patterns of behaviour to allow them to innovate. All of these requirements necessitate constant changes to applications.
However most customers still have projects taking longer than planned, limited release cycles and a growing project backlog.
These growing requirements for constant changes to applications and faster releases is why there is so much interest in Agile Development.
How does Virtual Data enable Agile Development?
One of the primary bottlenecks for application and analytics projects is lack of access to adequate environments. This often manifests itself with shared, reduced sized and out of date environments. This is caused by the difficulty in provisioning and maintaining enough environments to enable developers, testers, analysts and administrators to perform their jobs efficiently.
Virtual Data allows near instant access to as many full copies of environments as required, synchronised to any point in time with minimal storage overhead. Virtual Data accelerates all projects by enabling parallel development and testing. Virtual Data enables high quality and high frequency releases through full provisioning and maintenance of continuous integration environments.
How does Delphix implement Virtual Data?
Databases are made up of files containing data blocks. Over time data blocks are added, updated and occasionally deleted. A database version is a consistent set of database blocks relevant to a point in time. As databases grow an increasing proportion of data blocks remain the same over time.
Delphix captures an initial copy of a database and then continuously captures all changes to that database over time. All data blocks and transaction logs captured and created by Delphix are compressed.
A database version is represented by a snapshot or timecard. When a timecard is created an incremental backup is taken of the source database and Delphix stores compressed copies of all the changed blocks. The timecard is implemented as a tree of pointers to the set of blocks consistent with that point in time. Delphix stores the distinct set of data blocks for all timecards for a given database. Each data block in Delphix is pointed to by all timecards that have a dependency on that block.
A Virtual Database can be created from any point in time since the source database was first copied into Delphix. If the Virtual Database is to be created from an existing timecard it will share the same tree of pointers as the timecard. If the Virtual Database requires provisioning from a different point in time then Delphix will perform point in time recovery to the required time, create any required new versions of data blocks and the Virtual Database timecard will then have its own tree of pointers.
So when a Virtual Database is first created the only storage overhead are the blocks unique to that Virtual Database. Subsequently any blocks changed by DML and DDL activity on the Virtual Database are private to that Virtual Database.
This is how Delphix can provision any number of database copies, near instantly with minimal storage overhead. Delphix applies a similar approach to files and folders allowing customers to virtualise all data.
Summary
Virtual Data enables fast provisioning of multiple full copy environments, enabling parallel development, testing and analytics which in turn enables faster, more frequent and higher quality project releases. Virtual Data directly supports all businesses to meet their goals.
Learn more at Delphix Agile Data Management