This topic describes the high-level process for adding SQL Server environments, linking SQL Server databases to the Delphix Engine, and provisioning virtual databases.
Block Diagram of Linking Architecture between SQL Server Environments and the Delphix Engine
Linking Architecture between SQL Server and Delphix Engine
This block diagram shows the host architecture when creating SQL Server Environments in the Delphix Engine. On the left, the Source Host (in this example a Production Database Server) creates backups to a shared backup location. The Delphix Engine (far right), continuously monitors the source database to determine when new backups are available. When a backup is available, the Delphix Engine will contact the Windows Staging host (center) via the Delphix Connector service. The Staging host will read the backups from the shared backup location and recover them through a Staging Database that is automatically set up on Delphix iSCSI storage. Once recovery is complete, the backup data is incorporated into the Delphix dSource as a new snapshot card, and is available for use.
Block Diagram of SQL Server Provisioning Architecture
SQL Server Provisioning Architecture
This block diagram shows how Delphix provisions VDBs to a Target Environment. The Delphix Engine (left) creates a set of virtual files from a snapshot that becomes the VDB container. These files are presented to the Target host (right) via iSCSI. Delphix calls the Delphix Connector on the Target, and initiates the creation of a new database using the Virtual files. Once complete, the Virtual Database is brought online and made available for use.
The Delphix Connector and Environment Setup
- The directory on which you install the Delphix Connector should have at least 1GB of available space.
This target machine can serve three purposes in a Delphix Engine deployment. It can:
- Serve as a proxy for database discovery on source hosts.
- Host a staging database for a linked dSource and run the validated sync process.
- Host a target environment for provisioning virtual databases (VDBs).
Database discovery is initiated during the environment set up process. When you specify a production source environment that contains the databases you want to manage with the Delphix Engine, you must also specify a target environment where you have installed the Delphix Connector to act as a proxy for communication with the source environment. This is necessary because Delphix does not require that you install the Delphix Connector software on the production source environment. When you register the source environment with the Delphix Engine, the Delphix Engine uses the Delphix Connector on the proxy environment to discover SQL Server instances and databases on the source. You can then create dSources from the discovered databases. If you later refresh the source environment, the Delphix Engine will execute instance and database re-discovery through the proxy host.
SQL Server dSources are backed by a staging database that runs on a target host. There is no requirement for additional local storage on this target host, as the storage is mounted over iSCSI from the Delphix Engine. At Delphix, we refer to the creation and maintenance of this staging database on the staging host as "validated sync," because it prepares the dSource data on the Delphix Engine for provisioning VDBs later on. After the Delphix Engine creates the staging database, it continuously monitors the source database for new transaction log backups. When it detects a new transaction log backup, it restores that backup to the staging database. The result is a TimeFlow with consistent points from which you can provision a VDB, and a faster provisioning process, because there is no need for any database recovery during provisioning.
When you later provision a VDB, you can specify any environment as a target, including the environment that contains the staging database. However, for best performance, we recommend that you choose a different target environment. The only requirements for the target are:
- It must have the Delphix Connector installed.
- It must have an operating system that is compatible with the one running on the validated host, as described in Requirements for SQL Server Target Hosts and Databases.
Toolkit Size and Predicted Growth
Each of the clients that run from the client-side toolkit generates its own logs. Each client generates 4 different log files, one for each level of logging: info, trace, debug, and error. Each level of logging is restricted to a maximum of 10 logfiles, and these logfiles are capped at 10MB each. Therefore, the Delphix Engine will consume a maximum of 400MB per client-side application. On the source server, there are currently two commonly run client-side applications, SnapSyncClient and the Delphix Connector.
V2P also generates its own logs, so if you intend to V2P to the source, you should account for an additional 400MB in your upper bound.
Thus, the max amount of growth for the toolkit from logging is 800MB without V2P (or 1.2GB with V2P).
Linking additional dSources does not impact the size of the toolkit on production, aside from the log messages generated during linking, which is included in the calculation above.
On the target server, unlike the source server, there would be only one client – the Delphix Connector, which would occupy around 400 MB maximum storage space. In addition, the Delphix Engine pushes new scripts each time you provision a VDB. This requires < 1MB space.
Therefore, the maximum space occupied by the toolkit directory on the source server is its initial size ( ~ 400MB) + 800MB = 1.2 GB. While on target server, the maximum toolkit size is initial size (~ 400MB) + 400 MB + Number of VDBs * 1MB.
Workflow and Tasks for SQL Server Environments
- As described in Tasks for the Delphix Administrator, run the HostChecker (Using HostChecker to Validate Target Database Servers) as a first step before adding the Source and Target Environment.
- Install the Delphix Connector on the standalone hosts that you will use as provisioning targets for VDBs and for the discovery and validated sync processes, as described in Adding a SQL Server Standalone Target Environment.
- If applicable, install the Delphix Connector on all cluster nodes of Windows Failover Clusters which you will use for provisioning targets for VDBs as described in Adding a SQL Server Failover Cluster Target Environment.
- Set up the Windows source environments using standalone target environments where you have installed the Delphix Connector as proxies, as described in Adding a SQL Server Source Environment.
- Link to the source database as described in Linking a SQL Server dSource.
- Provision VDBs as described in Provisioning a SQL Server VDB.