There are two ways to migrate your data to a new server, by exporting and importing .ecube files or exporting and importing .ecdata files.
An .ecube file includes the model metadata: model schema and data connection settings.
An .ecdata file includes both the model metadata and the data itself.
Both .ecdata and .ecube files can be used to make backups and transfer data between ElastiCube Servers, depending on whether you want to move the metadata only, or the metadata and data.. After building your ElastiCube from an .ecube file, your ElastiCube with the metadata and the raw data combined is stored in an .ecdata file.
You can migrate ElastiCubes with .ecube files or .ecdata files. As .ecdata files can be quite large depending on how much data you imported, it may be easier to migrate your .ecube files. The steps below describe how to migrate your Sisense ElastiCubes via .ecube files. If you prefer to migrate the .ecdata files, see Migrating .ecdata Files for more information.
Exporting .ecube Files
You can export .ecube files from the Sisense Desktop Manager. Once these files have been exported, you can back them up with your source control and import them into your target environment.
To export .ecube files:
- In the Sisense Desktop Manager in the source environment, open the ElastiCube you want to migrate.
- Select File > Save ElastiCube As… and download the .ecube file to your machine.
- Save the .ecube file to your target environment.
Importing .ecube Files
After exporting .ecube files, you can import them into Sisense through the Sisense Desktop Manager. Once the .ecube file have been imported, you must build the ElastiCube to use it with your dashboards.
To import .ecube files:
- In the Sisense Desktop Manager in the target environment, select File > Open ElastiCube File and navigate to your .ecube file.
After selecting the relevant .ecube file, the schema is displayed, you can build the ElastiCube or if you are importing it in a new environment, see Deploying ElastiCubes.
As .ecube files only contain the metadata for your ElastiCube in your source environment, you need to build the ElastiCube in the target environment to bring in the data. If your target environment has different data sources from your source environment, for example, the source environment uses development databases whereas the production environment uses production databases, then the .ecube files need to be updated with the new data sources.
There are two ways to edit the ElastiCube with the new data sources:
- Sisense PSM Shell to automate the process
- Manually open the .ecube file and edit it
Both methods are outlined below.
Automating ElastiCube Deployment
The following instructions describe a common scenario for deploying ElastiCubes in a new environment where .ecube files have been imported into a production environment and the data source connections need to be updated.
Editing .ecube Files
Using the Sisense Shell, or Sisense PSM, it is easy to edit the database connection attributes. This set of APIs allows you to edit Elasticube parameters via a command line interface. The most commonly used command in a dev-to-prod scenario redirects .ecube build queries to a production database. Below is an example where “myecube.ecube” is redirected from a development database called “tracking” to a production database called “trackingX”.
psm ecube edit connection database ecube="c:\users\myuser\documents\mycube.ecube" server="10.0.0.1" database="tracking" newserver="localhost" newdatabase="trackingX" newusername="mynewuser" newpassword="newpassword"
The server and database parameters contain the details of the previous database and the newserver and newdatabase parameters should contain the location and name of your updated data source on the production server.
Building ElastiCubes with the PSM
The build can also be initiated on the production server through the Sisense interface or through the PSM. The following example code builds the Elasticube on the production server with the PSM:
- Full Build, Local Server: psm ecube build name="<elasticube name>" mode=restart serverAddress=localhost
- Accumulative Build, Remote Server: psm ecube build name="<elasticube name>" mode=full serverAddress=192.168.1.134
Manually Deploying Elasticubes
If you want to manually update your ElastiCube’s connection settings to reflect your new data sources, on your target server, navigate to the imported .ecube file and double-click to open it. This will open the Elasticube Manager on the server. From here, you can manually edit the connection settings for each data source. This is only necessary if you need to update the connection settings. If your data sources have not changed between environments, you can build the ElastiCube without having to edit it.
Editing the .ecube File
If you are pointing to different data sources in your production environment (e.g., a production vs development database) you can edit the connection settings in the Elasticube Manager.
To edit .ecube file:
- In the Desktop ElastiCube Manager, select Elasticube and then Change Connectivity Settings.
- For each data source that needs to be changed, select the Change Source Database icon.
- Choose your Database server location, then click Connect to Server. Make sure the correct database is selected under Select Database and then select OK and Close.