Migrating from Data Export Service to Power Hub

What is the main purpose of Power hub?

Like Data Export Service (DES), one of the main purposes of power hub is to replicate Dataverse data to a Microsoft Azure SQL database stored in a customer owned Microsoft Azure subscription. The installation and setup are very simple and user-friendly and can be implemented on a customer environment in a few hours.

Is it possible to migrate from Data Export Service to Power Hub?

Yes! Power hub already supports the majority of the tables and columns used in Data Export Service. This applies to both Metadata tables, data tables and columns. Like DES, a table in Power Hub is generated for each entity and M:M relationship that is synchronized.

Power hub has a simple interface to select tables for synchronization and managing data access.

Managing tables with Power Hub

Managing users and permissions in Power Hub

How does the Power Hub support and handle data and metadata?

Power Hub currently supports the following Metadata tables:

  • . AttributeMetadata_DES
  • . TargetMetadata_DES
  • . OptionsetMetadata_DES
  • . GlobalOptionsetMetadata_DES

Note: StateMetadata and StatusMetadata will be implemented during q4

Metadata tables and columns currently supported:

AttributeMetadata:

 TargetMetadata:

OptionsetMetadata:

 GlobalOptionsetMetadata: 

Data Tables

Another important point is that all tables are configured as temporal tables which brings built-in support for providing information about data stored in the table at any point in time, rather than only the data that is correct at the current moment in time.

Further information about temporal tables in SQL can be found here

Data Views

To minimize the switch from DES to Power Hub all tables are mirrored in DES views. The main differences between the table and the views are the naming/casing (lower in the views and camel in the table) and some extra columns in the views.

deletedon – only relevant for historical data in the history table/query.
deletedby – only relevant for historical data in the history table/query.
xxxAppURL – a direct URL to the item in the selected app.

The difference between the two views is that DES is built directly on the table with the, at that time, synchronized values.

DESLookups has built-in lookups for Optionset and related (and synced) tables. Due to the joins to other tables in DESLookups, performance is slower than in DES and it is recommended to limit the columns in queries to only the necessary ones.

Data example from account_DES view

What makes power hub a good alternative to Data Export Service?

  • Fast migration as the majority of all tables and columns from DES are already supported in Power Hub.
  • Easy and quick implementation which can be set up in a few hours.
  • All data tables contain historical data.
  • Contains valuable standard columns, such as an App URL column that refers directly to the entity in dataverse.
  • All changes to data are stored and are available for auditing, snapshots, historical reporting, trending analysis integration to/between other system and other purposes.

What’s on the roadmap in Q4 related to DES?

  • Make temporal tables/history optional per table.
  • Support of the two metadata tables: StateMetadata and StatusMetadata.
  • Version column in the AttributeMetaData table.
  • Other missing columns in metadata tables.