This topic provides an overview of linking to a database within the Delphix Engine.
Linking to a Database
The Delphix Engine provides the ability to "link" to an external database by creating a dSource within the Delphix Engine. Linking to a database is:
- Non-disruptive - A linked database continues to operate as a standalone database in the absence of Delphix. No changes to the production workflow are required.
- Minimally invasive - The Delphix Engine uses standard protocols and APIs to pull changes from the source database, and can be configured to run according to policies that minimize impact to the source system.
- Continuous - Synchronization will resume from the previous point, maintaining a continuous history of changes even if the operation is interrupted or servers are temporarily unavailable.
- Efficient - Only the changed data is sent once the initial load is complete, and all data is compressed to fit in the fraction of the space.
Once linked, the engine will maintain a complete history of the database as part of a Timeflow, limited by the retention policies configured by the administrator. This Timeflow is maintained through the use of SnapSync and LogSync.
Delphix will automatically discover databases within an environment (host or Oracle cluster), though source databases can also be added manually if they are configured in a non-standard manner that prevents discovery.
The SnapSync operation will pull over the complete data set during initial load using standard database protocols. For more information how this works for specific database types, see the following topics:
Subsequent SnapSync operations will pull only the incremental changes and store them in an efficient fashion. At the end of each SnapSync operation, a snapshot is created that serves as the base point for provisioning operations.
When provisioning, the closer the origin point is to a snapshot created via SnapSync, the faster the provisioning operation will occur. The time to provision from a snapshot is directly proportional to the time it took to run the SnapSync operation. It is recommended that users run an incremental SnapSync after the initial load is complete for this reason, as provisioning from the initial snapshot can take a significant amount of time depending on the size of the source database and the rate of change.
SnapSync can be run manually or periodically as part of a policy. See Managing Policies: An Overview for more information.
In addition to SnapSync, LogSync will periodically connect to the host(s) running the source database via standard protocols and pull over any log files associated with the database. These log files are stored separately from the SnapSync data, and are used to provision from points in between SnapSync snapshots.
When provisioning from a point between snapshots, the additional time it takes to provision is directly proportional to the time difference between the provision point and the last snapshot. The rate of change on the source database dictates the amount of data that must be replayed to bring a virtual database to the correct point in time.
LogSync data is maintained separately from snapshots according to the configured retention policy. LogSync can be disabled on a dSource, but logs will still need to be fetched while running SnapSync to account for the time taken running the SnapSync operation.