Blog
Data - Why is Dataverse so fast?
June 15. 2021
One reason why Datavese performs so quickly, compared to other data sources (such as SQL Server, SharePoint, and Excel), is because Power Apps can connect to Dataverse in a more direct way. This post describes this behaviour in more detail.
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.
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.
- Categories:
- dataverse
Previous
Related posts
- Error - Diagnosing the error "Network error when using the Patch function" when saving data with a form
- Dataverse - How to work around the error "multiple levels of many-to-one relationship expansion aren't supported"
- Dataverse - The easiest way to modify Dataverse data outside of Dataverse and Power Apps
- Dataverse - How to use a checkbox control a set a yes/no field in Dataverse
- Dataverse - How to create Entity Relationship diagrams
- Dataverse - How you can more quickly bulk update data using the SQL language
- Dataverse - How to fix the bug in the 'Business Rules' editor that prevents numeric values from saving
- Dataverse - What are the benefits, and how to create formula columns
- Dataverse - How to sort the available choice items from a choice column
- Error - Unable to modify Dataverse tables with error message, Language id should not be null
- Dataverse - How to retrieve FetchXML or SQL for Dataverse views
- Dataverse - How to create and use Dataverse views in Canvas Apps
- Dataverse - How to filter Dataverse choice columns
- Dataverse - How to switch to the classic designer when the option is not available
- Licensing - What are Dataverse Restricted tables?
- Media - How to save and work with microphone recordings
- Dataverse - how to access tables from another environment
- Dataverse - How to Patch the 5 most complex data types