Dataverse: A one-stop-shop for your App data storage and management

by Danish Ali Detho | O365 & Power Platform Solution Architect///

Data is at the centre of any business application development and is often the deciding factor for which tech. stack to be used for the development. Whether you are using a low code/no-code platform or a custom development platform, data storage and management will be the very first thing to consider. When it comes to developing Apps using the Power platform, there are several options available like SharePoint Lists, SQL Server, and now Dataverse.

Dataverse (formerly known as CDS) is a cloud-based storage space that organizations can use to store business application data securely. It is more than just a data storage platform since it provides some great features for data integration, security, and data management.  In this Blog, We will take a deeper look at Dataverse including the technology used under the hood, backup/restore strategies, and the licensing options.

What is Dataverse?

Dataverse which was previously called the Common Data Service (CDS), is a cloud data storage technology that allows structured and unstructured data to be stored securely and provides the capabilities for integration from multiple sources into a single store, data security, and data management. It is used as a default data storage by Power Apps and Microsoft Dynamics 365 applications, including Sales and Customer Service modules. Data stored in Dataverse is organized as a set of entities/tables and each table represents a specific collection of records. Each Dataverse database comes with a base set of standard tables such as accounts and opportunities, used by Dynamics 365 applications as well as custom tables built by organizations to store data used by their custom-built applications.

Dataverse: Under the hood

Dataverse, at its core, is simply an API (Application Programming Interface) internally used by all Power Platform components directly or through built-in connectors.  Dataverse is an easy-to-use, easy-to-manage, compliant, secure, scalable, and globally available SaaS data service that is actually built on top of Azure SQL (and uses other data stores under the hood for other types of data). Dataverse is a good alternative to SQL for storing transactional, structured data, and then quickly building low-code solutions on top of that data using  power platform.

Dataverse: Licensing

Dataverse is not licensed independently but comes bundled with PowerApps, Power Automate, or Power Virtual Agent with default capacity based on the plan selected. Microsoft 365 licenses come with limited Dataverse functionality to support Microsoft 365 applications like MS Project which is achieved by adding a new service plan named “Dataverse” to the licenses. Advanced access to Dataverse is included in the standalone Power Apps and Microsoft flow plans as well which also provide Power platform developers to store and manage custom data entities.

FEATURE PER APPLICATION PER USER PAY-AS-YOU-GO
PLAN $5/user/app/month $20/user/month $10/active/user/app/month
POWER APPS FEATURE Run one app or portal per user stacking licensing for access to each additional Run unlimited apps and portal per user for one monthly fee per user/month Use an Azure Subscription to pay per user based on the number of unique apps or portals a user runs each month
Store and manage data

Create and access custom entities

DATAVERSE CAPACITY 50MB per use capacity in Dataverse 250MB database capacity in Dataverse 1GB database capacity

(per environment with pay-as-you-go enabled)

  400 MB file capacity 2 GB file capacity 1 GB file capacity
(per environment with pay-as-you-go enabled)

*Dataverse database and file capacity entitlements for subscription plans are pooled at the tenant level.

*Dataverse database and file capacity entitlements are applied to each environment with pay-as-you-go billing enabled and are not granted for each monthly active user.

Dataverse: Storage capacity

Microsoft Dataverse capacity (database, file, log, and add-ons) is pooled across the tenant and shared among all environments and workloads. The first subscription of Power Apps or Power Automate provides a one-time default capacity entitlement for the tenant. For example, a Power Apps per-user plan would set the tenant capacity initially as 10 GB of Dataverse database, 20 GB of Dataverse file, and 2 GB of Dataverse log capacity. Each additional licensed user provides an additional per-user capacity grant that increases the overall tenant available capacity. There are also capacity add-ons available to purchase additional database, file, and log capacity.

Every environment can have zero or one Dataverse database, which provides storage for your apps. To create a database, there must be at least 1 GB of Dataverse database capacity remaining. Capacity is also consumed by normal Dataverse storage consumption by storing data, files, and logs. Power platform admin can view the Capacity info from https://admin.powerplatform.microsoft.com/resources/capacity

Dataverse: Security

Dataverse uses enterprise-grade Azure Active Directory (AAD) identity and access management controls to provide top-notch security features and ensure only authorized users access this environment, data, and reports.

The data security in Dataverse is built-in at the platform level which allows administrators to define security permissions once, which will apply to all authenticated users using any of the Dataverse applications. Dataverse uses role-based security to group together a set of privileges that can be associated directly with users, or with Dataverse teams and business units. It also provides a field-level security feature to allow more granular control of security at the field level.

Dataverse: Data Integrity

Dataverse ensures data integrity and security with regular backups including Manual backups and Automatic (system) backups.

System backups take place automatically and continuously.  Backups for production environments are retained for 28 days and for sandbox environments for 7 days. System backups for production without any Dynamics 365 applications deployed in them are retained for seven days.

Manual backups are initiated by power platform administrators on demand and are typically done before making a significant customization change or applying a version update. Both sandbox and production environments can be manually backed up.

There is no limit to the number of manual backups that can be made, and manual backups don’t count against storage limits.

Dataverse: Integration

One of the most attractive features of Dataverse is how easily it can be integrated with any Power platform or Microsoft O365 app as data can be viewed or integrated using connectors. Microsoft Dataverse is seamlessly integrated into popular tools such as Excel, Outlook, Dynamics 365 customer engagement apps, Power BI Desktop, Power Query, Azure Data Factory, Data Export Service, and SQL Server Management Studio. There are also built-in Dataverse connectors available in Power Automate, Power Apps, Power BI and Power Virtual Agents to provide easy and seamless integration. Third-party applications can be integrated with Dataverse via Web API.

Dataverse: Import/Export data

Data can be imported into or exported out of Dataverse using various options including Power query or Azure DataLake but the one most commonly used is Dataflows. Dataflows can be set up from within the Power Platform portal and it allows you to connect with business data from various sources, clean the data, transform it, and then load it into Dataverse. Dataflows support dozens of popular on-premises, cloud, and software as a service (SaaS) data sources.

Summarize

Microsoft Dataverse is much more than just a simple cloud-based database built on the concepts of the Common Data Model and is enhanced with data security, business logic, and productivity capabilities. It is primarily used as a data storage and management platform by Power Platform, Office 365, and Dynamics 365 applications.  It not only provides easy management of data but also decouples data from the app, allowing an administrator to evaluate and report on data that was previously stored in several locations. In a nutshell, Dataverse is a one-stop-shop for all the data-specific capabilities required by your power platform App.