Attention

This document is no longer being updated. For the most recent documentation, including the latest release notes for version 6, please refer to Documentation Version 7

Update/Upgrade Installation

License Replacement

When your license expires, you will receive a new license key from Datavault Builder License Management. This file is usually called datavault_builder_license.lic and is located in the same directory as your docker-compose.yml file.

Hint

Recreating the core will terminate any active processes. Please make sure, that no loading processes are performed while executing the replacement.

Steps
  1. Replace the existing license file

    Navigate into the folder where the license file is located (default name: datavault_builder_license.lic)

  2. Update Core

    docker-compose up -d --force-recreate core

  3. Restart the API

    docker-compose restart api

Hint

If you had any patches applied, make sure to reapply them after the license is replaced and the system is back up.

Version Change

Before Updating/Upgrading your environment to a new version, make sure to back it up. The recommendation for any update is to perform it as green-blue deployment. Therefore, the recommended processes is as follows. Some steps might not be necessary depending on the update/upgrade.

Steps
  1. Copy Environment
    • Create a copy of the database of your environment

    • Create a copy of the configuration files (docker-compose, secrets, …)

  2. Apply Changes

    Apply the changes to the configuration files (new settings in docker-compose, changed secrets).

    • Change the version number in the .env-file and save the change: DVB_TAG=6.X.X.X

    • Start pulling the new images: docker-compose pull

    • Log into the Support portal of the Datavault Builder, navigate to the download section and get all update Scripts for your database-type (Called DVB 4.*.*.* to 4.*.*.* Databasetype Update). All means: The scripts between your current version number to the target version to install:

      Download Update Scripts

    • Stop the application part of the Datavault Builder if it is running. This means, that also no loading processes should be going on during the update procedure: docker-compose down

    • Apply the update scripts one after the other onto the database.

    • Start up the environment. Some additional updates might be applied (mainly to the data model) if this is mentioned as in the release notes: docker-compose up -d

    Hint

    • There can be overlapping update files. This happens, if some update script is actually included within another cumulative update. In this case, you can take the cumulative update. For example: dvb_4.0.0rc19_to_4.0.1.0_oracle_update is included in dvb_4.0.0.11_to_4.0.2.0_oracle_update.

    • Check the current Docker-Compose File Configuration for new parameters, which can be required.

    • If in the release notes a model update is mentioned for the version, depending on the upgrade complexity, the size of the model and the resources this process can take up to a couple of hours. You can see the progress in the log of the core container (docker-compose logs -tf core)

  3. Go Live
    • Switch the environment with the productive environment.

Major Upgrade

For Major upgrades, some additional steps can be necessary to be performed.

Datavault Builder 5.X.X.X to 6.X.X.X

Hints to consider before you begin
  • MS SQL:
    • Truncate the content of your larger staging tables. This can significantly reduce the upgrade duration.

Steps
  1. Upgrade to the latest version of Datavault Builder 5.

  2. Follow the regular steps for an Update of a Datavault Builder environment as described above in chapter “Version Change”.

  3. To make use of the newly offered CICD APIs, you will need to extend your docker-compose.yml for an additional cicd service.

    # make sure to use correct indentation
      cicd:
        image: ${DVB_REGISTRY}${DVB_PROJECT}/cicd:${DVB_TAG}
        networks:
            - dvbnet
        restart: always
    
  4. ONLY FOR INSTALLS TARGETING MS SQL: After performing these steps and the environment is up again, there is manually triggered maintenance functions available. These are not automatically called to reduce downtime. It can be executed by performing the following function on the host in the directory of your docker-compose.yml:

    docker-compose exec core /opt/datavaultbuilder/pgsql/bin/psql -U dbadmin -d datavaultbuilder_core -c "SELECT dvb_core.f_manual_fix_6_mssql_clustered_indices(force_execution => true);"
    

    This will update the clustering of indices for the hubs, hub load tracking satellites, links and link load tracking satellites to improve load performance. The function must be run with force_execution => true. It additionally accepts the following parameters, so that the upgrade can also be performed partially:

    • object_type: <text> (‘hub’, ‘hub_load’, ‘link’, ‘link_load’)

    • object_filter: <text> (if a filter is provided, also an object type must be provided)

    Sample for partial execution of for one specific hub:

    docker-compose exec core /opt/datavaultbuilder/pgsql/bin/psql -U dbadmin -d datavaultbuilder_core -c "
    SELECT dvb_core.f_manual_fix_6_mssql_clustered_indices(
    force_execution => true,
    object_type => 'hub',
    object_filter => 'hub_id = ''h_some_hub'''
    );"