A Discovery Hub project contains all other elements in the data warehouse.
You can only have one project open at a time. However, if you want to compare different versions of a project, you can open another instance of Discovery Hub, and load another version of the project to view side-by-side.
Creating a Project
To create a projects follow the steps below:
- On the File menu, click New Project.... The New Project window appears.
- In the Name box, type a name for the new project.
- Select Enable team development to enable multiple developers to work on the project simultaneously. Note that this setting cannot be change once the project has been created.
- Select Enable differential deployment to take advantage of Discovery Hub’s differential deployment feature that calculates what steps have changed and need to be deployed and selects only those steps for deployment. When differential deployment is disabled, all steps are deployed.
- Select Enable managed deployment to have calculate dependencies and deploy the objects in the optimal order. There is no difference in performance or otherwise if you are only deploying one object. When managed deployment is disabled, you will have to make sure that objects are deployed in the correct order yourself.
- Select Use Integration Services (SSIS) to use SQL Server Integration Services (SSIS) for data transfer. This SQL Server component Integration Services needs to be installed on the machine that deploys and executes the tables for this to work. Discovery Hub will use ADO.net if SSIS is not enabled.
- Select Enable SSIS Logging to enable SSIS logging.
- Clear Use SSIS Folder to not create a folder for the SSIS packages created. It is recommended to keep this setting enabled to prevent accidental overwriting of the packages by other projects that contain tables with the same names.
- (Optional) Type the name of the SSIS folder in Custom SSIS Root folder.
- (Optional) Type a new password for encrypting SSIS packages in SSIS package password or leave it as the default. SSIS packages that contain SQL Server logins are encrypted using this password. Please note that this only applies when you are working with sources that use SQL Server authentication. Sources that use Windows authentication do not require encrypted SSIS packages.
- Click on Advanced Settings... to access additional settings for the project. The Advanced Settings window appears.
- Select Postfix valid tables to postfix the valid table instance with "_V".
- Select Show system control fields to show system control fields such as DW_ID, DW_Batch, DW_SourceCode and DW_Timestamp.
- Select Allow Nulls to allow null field values instead of moving the row to the error table when encountering null values. In the Null check approach list, click Field Based to use a field based check or click Row Based to use row based check. A field based check will tell you exactly where the null value is, while a row based check will only tell you that the record has a null value.
- In the Index Generation list, choose the default setting for index generation. Select Automatic to automatically create indexes as needed, Manual to enable automatic index generation on an a per-table basis or Disabled to not create any indexes automatically.
- In the Default hashing algorithm list, click on the hashing algorithm you want to use for hash fields that are set to "use project default" hashing algorithm. You have the following options:
- SHA-2 512, SQL Server 2016 +: The safest hashing algorithm in terms of the probability that two different data sets would create identical hashes. The size of the hash is 64 bytes. It is about 40% slower than "SHA-1, SQL Server 2016+" and you should only use this algorithm when extreme safety is required. This algorithm requires SQL Server 2016.
- SHA-1, SQL Server 2016 +: The fastest hashing algorithm when the amount of data to be hashed is more than 8000 bytes. In those cases, it can be about 30% faster than "SHA-1, SQL Server 2005 +". Otherwise, the performance for the two algorithms are the same. The size of the hash is 20 bytes. This algorithm requires SQL Server 2016.
- SHA-1, SQL Server 2005 +: The default algorithm in Discovery Hub. Slower than "SHA-1, SQL Server 2016 +" when the amount of data to be hashed is more than 8000 bytes. The size of the hash is 20 bytes and it is compatible with all SQL Server versions supported by Discovery Hub.
- Plain text (debug): Used for debugging, it will concatenate the fields into a string. This way, you can see what data goes into creating the hash. Because of a limitation in SQL Server, the string is limited to a length of 4000 characters.
- Legacy binary: Provided for compatibility with earlier versions of Discovery Hub and should not be used in new projects. It is not typesafe and is limited to a total of 4000 characters for all the fields the hash is calculated from.
- Legacy plain text (debug): Used for debugging legacy algorithms, it will concatenate the fields into a string with a length of up to 4000 characters.
- Primary key behavior has to with how Discovery Hub should treat primary key violations. In the Primary key behavior list, Click Error to move the offending row to the error table, click Warning to move the offending row to the warning table or click None to ignore the violation.
- Under Default type for new relations, choose how Discovery Hub should treat foreign key violations. Click Error to move the offending row to the error table, click Warning to move the offending row to the warning table or click Relation only to ignore the violation.
- Click OK to return to the previous window and OK again to create the project.
Since you can only have one project open at a time in Discovery Hub, you will be asked to save the current project if you try to create a new project or load an existing project when you already have a project open.
Saving and opening Projects
Saving a project in the repository and opening a project from the repository works much the same as in other Windows programs.
Saving a Project
Discovery Hub includes version control. On every save, a new version of the project is saved, meaning that you can always go back to an earlier version of your project.
To save the project, follow the steps below.
- On the File menu, click Save or Save As....
- If you clicked on Save As..., or you are saving the project for the first time, type a name for the project and click OK.
Note: The project is automatically saved after a successful deployment.
Opening a project
- On the File menu, click Open....
- (Optional) Click Change Version, click the version you want to open and click OK if you want to open a version of the project other than the latest version.
- In the Project list, select the project that you want to open, and then click OK.
Exporting and Importing Projects
Being able to export a project to an XML document is useful when you want to save a copy of a running project for future reference, or if you want to reuse parts of a project in another project. You can export a project to an XML document, and you can import a project from an XML document.
Importing Projects from XML Documents
- On the File menu, click Import....
- In the Import File field, click the ellipsis (…), and then navigate to and select the file you want to import.
- Click Open, and then click OK.
Exporting Projects to XML Documents
- On the File menu, click Export...
- In the Export File field, click the ellipsis (…), and then navigate to and select the file you want to export to.
- Click Open, and then click OK.