Data - Why is Dataverse so fast?

A key benefit of Dataverse is performance. It offers far better delegation support, meaning that we can properly query and filter data using operators that are not supported with other data sources such as SharePoint.

But it's not just better delegation support that Dataverse offers. Power Apps can connect to Dataverse more directly, without going through multiple networking layers. This means that out of all the connectors, the Dataverse connector is the fastest.

How does a canvas app connect to a data source?

The official documentation provides a great explaination of how a canvas app connects to a data source, and screenshots beneath are taken from this.

https://docs.microsoft.com/en-gb/powerapps/maker/canvas-apps/execution-phases-data-flow

With SharePoint and every other data connector (except Dataverse), a data retrieval operation must pass through the 'API management' and 'Connector' layers. The necessary transfer of data between these multiple layers is the process that adds extra time.



With Dataverse however, Power Apps can connect directly to the Dataverse database, which therefore minimises the data transfer time.



Does this mean that Dataverse is the fastest data source?

In many cases, the answer yes. However, app performance relies on more than just fast network connectivity.

With Dataverse, it can be very difficult (or impossible) to perform complex queries on tables. These include queries that join multiple tables, union/combine multiple tables, group data to produce aggregations (such as averages), and queries that perform 'not in' type searches (eg, selecting rows from a customer table with no related rows from an order table).

The workarounds for these limitations often require the collection of and processing of records client-side, and/or to rely on non-delegable operators. This is one area where SQL Server outperforms Dataverse by providing support for SQL views, which enable us to very efficiently carry out these types of operations. Therefore, if we have the requirement to carry out this type of prcoessing in a canvas app, SQL Server can offer better all-round performance.

Conclusion

Dataverse offers great network performance because a canvas app can more directly connect to a Dataverse database, and avoid the 'API management' and 'Connector' layers.

Related posts

Dataverse - How to set yes no values with checkbox- Walkthrough
January 29, 2025
Dataverse - Add image column missing when creating table - how to fix
January 19, 2025
Data - How to view the progress and status of a Dataverse CSV/Excel Import
January 15, 2025
Error - Diagnosing the error "Network error when using the Patch function" when saving data with a form
May 05, 2024
Dataverse - How to work around the error "multiple levels of many-to-one relationship expansion aren't supported"
April 05, 2024
Dataverse - The easiest way to modify Dataverse data outside of Dataverse and Power Apps
February 18, 2024
Dataverse - How to use a checkbox control a set a yes/no field in Dataverse
July 10, 2023
Dataverse - How to create Entity Relationship diagrams
January 22, 2023
Dataverse - How you can more quickly bulk update data using the SQL language
January 14, 2023
Dataverse - How to fix the bug in the 'Business Rules' editor that prevents numeric values from saving
January 05, 2023
Dataverse - What are the benefits, and how to create formula columns
July 20, 2022
Dataverse - How to sort the available choice items from a choice column
May 12, 2022
Error - Unable to modify Dataverse tables with error message, Language id should not be null
September 27, 2021
Dataverse - How to retrieve FetchXML or SQL for Dataverse views
July 13, 2021
Dataverse - How to create and use Dataverse views in Canvas Apps
June 09, 2021
Dataverse - How to filter Dataverse choice columns
June 07, 2021
Dataverse - How to switch to the classic designer when the option is not available
May 26, 2021
Licensing - What are Dataverse Restricted tables?
March 26, 2021
Media - How to save and work with microphone recordings
March 09, 2021
Dataverse - how to access tables from another environment
February 23, 2021
Dataverse - How to Patch the 5 most complex data types
January 19, 2021