Jet Stream Data Container Overview
Data containers are provisioned from data templates by administrators and assigned to a Jet Stream user. A data container represents a socket that is capable of making any data within the data template accessible. The Jet Stream user controls what data they want to access. Jet Stream users have effectively been provisioned a set of "physical" resources, such as a database on a host that consumes some set of resources.
A data container is comprised of a VDB or vFiles provisioned from each source in the data template from which it is created. The data container manages these VDBs, and the data operations performed on a data container will only impact these VDBs. Data containers represent the separation between IT infrastructure and end users. IT determines the set of VDBs or vFiles to allocate to a data container, and Jet Stream users determine the data that they want accessible in the containers allocated to them.
Data containers can be used to access any data within a single data template, but not across templates. Jet Stream users have the ability to populate the data within their data container from any point in time on the data template, the data container's history, or shared bookmarks from other data containers. Although operations are all accomplished by performing timeflow operations on the underlying VDBs, the data containers hide the VDBs and their underlying properties from Jet Stream users. None of the data container operations require provisioning additional VDBs; everything is accomplished using the resources assigned when the data container is created.
This is the same basic concept as Refresh in VDBs. In Jet Stream, Refresh will update the data on the active branch of a user's data container. The user will then have the latest data in the sources of the data template from which the container was provisioned.
Restore allows a Jet Stream user to update the data on the active branch of their data container to any point in time on the data container, the data template from which the container was provisioned, or a bookmark. This operation effectively means, "Take me to the data at this time."
Reset is a simplified version of Restore built to support the notion of "undo." It allows a user to reset the state of their application container to the latest operation. This can be useful for testing workflows where, after each test, users want to reset the state of their environment.
A Jet Stream branch represents a logical timeline, effectively a task on which a user is working. Only one branch can be active at a time, but a user can use multiple branches to track logically separate tasks. Jet Stream branches do not require the allocation of a new VDB; instead, they are comprised of a collection of timeflows within a VDB.
This allows the user to select which branch they want to be active. Only a single branch within a data container can be active at a time.
This creates a semantic name for a point in time and prevents this data from being removed by the retention policy. Bookmarks can be annotated with tags to make them easier to search for. In addition to tags, bookmarks allow a user to enter a description of what the bookmark represents.
Bookmarks can be shared, which allows them to be seen by users who own data containers that have been provisioned from the same data template. This allows users to share data, providing a way for other users to either restore their existing timeline or create a new branch from these shared points.
Jet Stream Data Container Activities
Configuring Jet Stream Data Containers
A Jet Stream data container is comprised of a set of virtual databases (VDBs), where each VDB is a direct child of the dSource, VDB, or vFiles in the data template's data sources. Jet Stream does not automatically provision VDBs when creating a data container; a Delphix admin must create the required VDBs via the existing Admin App. Once the data container has been created, these VDBs are managed exclusively through Jet Stream.
1.Select the Management Overview page, select a template from which you want to create the data container.This will take you to the Data Template Page seen below.
Jet Stream Management Overview for Templates
Add a Data Container
1. Click Add Container in the upper right-hand corner of the screen.
Jet Stream Details Panel and Dashboard.
This will take you the Create Data Container page.
Jet Stream Data Container Page
2. Enter information about the data container, such as the Name and Description (optional).
Data Container Creation, Version 1.0.0
3.. Select the Owners for the data container from the search box. Note: Any Delphix administrator is able to manage all containers, so the owners should be end users. Refer to the User Management section in this guide for details.
4. It is acceptable to have multiple Owners per each data container. Select the VDBs to use for this container's data sources. The available VDBs have the following constraints:
- They have been provisioned from the dSources/VDBs belonging to the parent data template
- They are not already part of another Jet Stream data template or container
Note: If there are no VDBs that meet these constraints, you may see a message informing you that you do not have any compatible VDBs. Click Create.
Jet Stream VDB Warning Alert
Selecting Masked Data Sources for Data Containers
Once a child masked VDB is selected for the data container, the admin user can see the parent-child relationship as a masked source under data sources.
Masked Data Sources Parent/Child Relationship
Additionally, an admin user can select both masked and unmasked data sources in both Jet Stream templates and data containers.
Selecting Masked and Unmasked Data Sources in a Data Container
Jet Stream users will not know whether the data in their containers and branches is masked or unmasked. All Jet Stream functionality remains the same regardless of whether a data source is masked or unmasked.
The figure above is an example of a data container with masked data.
Delete a Data Container
By default, all data sources (VDBs and vFiles) in a Jet Stream Data Container are deleted as part of the Jet Stream Data Container deletion process.
When performing the Delete Container operation, you can uncheck the Delete associated VDBs and vFiles box in the dialog window to keep these data sources intact after the Data Container is deleted.
Data Management Operations
Start a Data Container
Starting a Data Container does the following:
- Starts the data sources, This means that each data source listed in the Source Details section of the Data Container page will start using CPU and network resources on the host system it is running.
- Puts a copy of the data from the active branch into those data sources.
On the Self-Service Toolbar, click Start.
Stop a Data Container
Stopping a data container does the following:
- If not already done, copies the current data in the data sources into the active branch of the data container
- Shuts down the data sources. This means each data source listed in the Source Details section of the Data Container page will stop using CPU and network resources on the host system.
On the Self-Service Toolbar, click Stop.
Jet Stream Self-Service Toolbar, Version 1.0.0
Jet Stream Self Service Toolbar, Version 1.0.0
Other operations on the data container, such as Stop, Reset, and Refresh, must be performed from the Data Management page:
Jet Stream Data Management Interface Shortcut in Jet Stream Data Template, Version 1.0.0
Working with Multiple Container Owners
Multiple Jet Stream users can be assigned to be an owner of a single Jet Stream data container. With this comes the ability to share a single Jet Stream data container amongst a group of people, such as a team. These users all share access to the same data container; actions taken by one user will impact all users. This means that if User A makes Banch X the active branch, User B will also see Branch X as the active branch. Here are some tips to help minimize disruptions when sharing a container.
Know the Other Owners
Jet Stream users cannot see the other users with whom they share the container. Work with the Jet Stream Administrator to find out who is sharing your data container.
What operations could disrupt others using my container?
Potentially disruptive operations include:
- Switching active branches
- Deleting bookmarks
- Creating Branches
- Un-sharing bookmarks
- Staring/ stopping your container
What should I do?
The more owners you have for a single container, the more processes you should put into place in order to coordinate usage between users. Each team is different, but strategies include
- designating a person to perform certain data operations
- saving your work with a bookmark or a creating/ working on a personal branch
- being aware of who is using your data container / data before performing operations