Skip to main content

Welcome to a Grasp lesson

Create a free account to keep studying and create your own study path.

Lesson 2

Dataverse vs. External Data: Choosing Your Data Store

Recommended resources

Hello! Welcome back.

In our first lesson, we established a high-level framework for solution architecture, focusing on choosing the right Power Platform components like Canvas and Model-driven apps. We ended by highlighting that a core part of any application is its data.

Today, we dive into that critical decision. Your goal for this lesson is to analyze the trade-offs between Dataverse and external data sources like SharePoint and SQL Server to select the most appropriate data store. As a solution architect, this is one of the most consequential decisions you'll make, impacting your application's scalability, security, and maintainability. Given your background in building complex systems, you'll appreciate the nuances involved in this choice.

1. An Overview of the Data Source Landscape

Power Platform can connect to hundreds of data sources, but for building business applications, a few stand out. We'll focus on the three most common and important ones: SharePoint, SQL Server, and the platform's native data store, Dataverse.

To get a practical and opinionated overview, let's start with a video from Shane Young, a well-known figure in the Power Platform community. He ranks the most common data sources and provides a solid initial perspective.

Power Apps Data Sources Ranked! Which is best? 🥇

This video, 'Power Apps Data Sources Ranked!', offers a great introduction to the pros and cons of the major data sources. It will help frame our discussion.

Please watch the sections covering SharePoint (02:58 - 06:50), SQL Server (06:50 - 07:42), Dataverse (07:42 - 09:32), and the final considerations (10:50 - 12:31). As you watch, note the key reasons why he ranks one source higher than another, particularly concerning performance, security, and features.

As you saw, the general consensus is:

  • Dataverse: The premier, most feature-rich choice, built for the platform.
  • SQL Server: A powerful, scalable premium alternative, especially when you have existing SQL assets or expertise.
  • SharePoint: The most popular "included" data source, great for simple scenarios but with significant limitations for complex business apps.
  • Excel: As stated emphatically in the video, it should not be used as a backend for transactional applications.

Now, let's dissect the two most important comparisons in detail: Dataverse vs. SharePoint and Dataverse vs. SQL Server.


2. Deep Dive: Dataverse vs. SharePoint

This is the most common decision point for teams starting with Power Platform, often driven by licensing considerations. While SharePoint is included with most Microsoft 365 plans, choosing it for the wrong reasons can lead to significant technical debt.

The article "Microsoft Dataverse Explained" provides an excellent, detailed breakdown. We'll use its comparison table as our guide.

Microsoft Dataverse Explained

This article from Syskit provides a structured comparison of Dataverse with other sources. We'll focus on the SharePoint section first.

Please read the section 'Comparison with other data sources', focusing specifically on the 'Dataverse vs. SharePoint Lists' table and the 'SharePoint Lists vs Dataverse: What to use?' summary. This provides a clear, feature-by-feature analysis.

To further explore the practical implications of these differences, especially the pain points for developers, let's watch one more focused video.

Dataverse Explained: Upscaling from Sharepoint

The video 'Dataverse Explained: Upscaling from Sharepoint' directly addresses the common challenges developers face with SharePoint and how Dataverse solves them.

Watch the sections on data complexity (01:45 - 03:54), delegation limits (03:54 - 05:59), application lifecycle management (06:09 - 09:26), and security (09:26 - 11:58). Notice how these topics align with the criteria for building robust, enterprise-grade applications.

Let's synthesize this information into four key decision criteria:

  1. Relational Data & Complexity:

    • SharePoint: Supports simple lookups between lists but struggles with complex relationships. Implementing many-to-many (N:N) relationships requires a separate "join" list and complex Power Fx formulas in your app to manage, increasing development effort.
    • Dataverse: Is a true relational database. It has built-in support for 1:N, N:1, and N:N relationships, which are defined at the data layer. This simplifies app development immensely, as the relationships are automatically understood by Model-driven and Canvas apps.
  2. Scalability & Delegation:

    • SharePoint: Famously has a 5,000 item list view threshold. While lists can hold millions of items, any query (view, API call) that would return more than 5,000 items will fail or be throttled. Furthermore, Power Apps has a delegation limit, typically 2,000 items, for queries it cannot pass to the backend. SharePoint's Search() function is not delegable, a major constraint.
    • Dataverse: Is built on Azure's elastic infrastructure and is designed for enterprise scale, handling millions of records with ease. It supports full delegation for all common query functions, ensuring your app can work with large datasets without issue.
  3. Security:

    • SharePoint: Security is relatively simple, based on site-level permissions (Owners, Members, Visitors) that are inherited by lists. You can set item-level permissions, but this is known to cause performance degradation on large lists and is harder to manage.
    • Dataverse: Features a rich, hierarchical security model that you're familiar with from Dynamics 365. It includes Business Units, granular role-based access control (RBAC), and even column-level security. This allows you to build multi-tenant applications and enforce complex security requirements with confidence.
  4. Application Lifecycle Management (ALM):

    • SharePoint: Is not "solution-aware." Migrating list schemas, apps, and flows between development, test, and production environments is a largely manual and error-prone process.
    • Dataverse: Is the cornerstone of Power Platform ALM. All components (tables, apps, flows, etc.) are packaged into solutions, which can be seamlessly deployed across environments as either unmanaged (for dev) or managed (for test/prod) layers. This is essential for professional development and CI/CD, a topic we'll cover in-depth in Module 12.
Dataverse vs. SharePoint Comparison Table
This table provides a concise visual summary of the key differences between Dataverse and SharePoint, reinforcing the trade-offs in scalability, security, and relational capabilities.

Verdict: Choose SharePoint for simple, team-level apps, document collaboration, or when cost is the absolute primary driver and the application's complexity and data volume are low. Choose Dataverse for any business-critical application that requires relational data, robust security, scalability, and professional ALM.


3. Deep Dive: Dataverse vs. SQL Server

This comparison is a trade-off between two powerful, premium data stores. Your background in C# and SQL makes this analysis particularly relevant. The choice here is less about "good vs. bad" and more about "fit for purpose."

Let's look at a real-world case study from Microsoft's own IT department on how they make this choice.

How our team chose between Dataverse and SQL Server

This article, 'How our team chose between Dataverse and SQL Server,' provides a fantastic enterprise perspective. It shows that the decision is contextual and not absolute.

Please read the entire article, paying attention to the six dimensions they used for evaluation and the concrete project examples where they chose one platform over the other. This frames the decision as a strategic one.

Now, let's use the Syskit article again for a technical, feature-level comparison.

Microsoft Dataverse Explained

Let's return to the 'Microsoft Dataverse Explained' article to see the technical breakdown between Dataverse and SQL.

Focus on the 'Dataverse vs. SQL Server' table and the accompanying 'SQL Server vs Dataverse: What to use?' section. This complements the strategic view from the Microsoft article with specific technical details.

Let's summarize the key trade-offs:

  1. Platform Integration & Management:

    • Dataverse: Is a fully managed Platform/Software as a Service (PaaS/SaaS). It's the native data layer for Power Platform. Features like Auditing, the security model, and UI integration for Model-driven Apps are built-in and require configuration, not development.
    • SQL Server (including Azure SQL): Is more Infrastructure/Platform as a Service (IaaS/PaaS). While Azure handles the infrastructure, you have more responsibility for database management, performance tuning (indexing), and security configuration. Integration with Power Platform is through a highly optimized connector, but it is still an API-based connection, not native.
  2. Logic and Business Rules:

    • Dataverse: Provides a rich layer for business logic that lives with the data—Business Rules, Workflows, Power Automate flows, and, critically, a server-side plugin execution pipeline (which you know well).
    • SQL Server: Logic is implemented via T-SQL using Stored Procedures, Functions, and Triggers. This is extremely powerful but decouples the logic from the Power Platform's low-code tools and security model.
  3. Primary Use Case:

    • Dataverse: Is purpose-built for storing business application data. It's optimized for the types of workloads generated by user-driven applications (forms, views, business processes).
    • SQL Server: Is a general-purpose RDBMS. It excels at raw data processing, high-volume transactional workloads, and data warehousing scenarios that may not be directly tied to a Power Platform UI.

Verdict: Choose Dataverse when you are building applications within the Power Platform, especially Model-driven apps. You want to leverage the built-in security, business logic, and ALM capabilities to accelerate development. Choose SQL Server when you have a backend with extreme transaction throughput requirements, need complex T-SQL logic, have a team of SQL DBAs, or when the data store serves many other systems outside the Power Platform and is the central source of truth.

Test your understanding!

A company is modernizing three applications and wants to build them on the Power Platform.

  1. System 1: A departmental vacation booking system. Currently an Excel file on a shared drive. It tracks employee, start date, end date, and approval status. Data volume is low.
  2. System 2: A customer order processing system. It has complex rules for pricing, discounts, and inventory checks. It needs to integrate with a new Model-driven App for the sales team and must enforce that sales users can only see their own accounts. Data volume is expected to grow significantly.
  3. System 3: A document management portal for large engineering projects. Teams upload, version, and collaborate on technical drawings and specification documents. The primary need is document storage and collaboration, not relational data.

For each system, which data store would you recommend (SharePoint, Dataverse, or Azure SQL) and why?

Show answer
  • System 1 (Vacation Booking): SharePoint List. This is a perfect use case for SharePoint. The data is simple, non-relational, and the data volume is low. A Canvas App built on this list would be quick to develop and cost-effective as it uses standard M365 licenses.

  • System 2 (Order Processing): Dataverse. This is a classic business application scenario where Dataverse excels. The requirements for complex business rules (implemented via plugins or business rules), a Model-driven App, and granular, ownership-based security ("users can only see their own accounts") point directly to Dataverse's strengths. It provides the scalability and security needed for a core business system.

  • System 3 (Document Management): SharePoint Document Library. While Dataverse can store files, SharePoint is purpose-built for document management. Its features for versioning, co-authoring, and metadata-driven search are superior for this document-centric use case. You could build a Power App or Power Page on top to provide a custom UI, but the backend storage should be SharePoint.


Conclusion

You now have a solid framework for making one of the most fundamental architectural decisions in a Power Platform project. This isn't just about technical features; it's about aligning the capabilities of the data store with the long-term needs of the business application.

Key Takeaways:

  • Dataverse is the premier choice for building scalable, secure, and feature-rich business applications on the Power Platform, offering deep integration, robust security, and professional ALM.
  • SharePoint is a tactical choice for simple, collaborative, and low-volume scenarios where cost is a primary constraint and the limitations are acceptable.
  • SQL Server is a strategic alternative for high-performance backends, scenarios requiring complex T-SQL, or when leveraging existing SQL investments.
  • The decision is always context-dependent, balancing technical requirements, cost, scalability, and security.

In our next lesson, we will dive deeper into one of Dataverse's key advantages that we discussed today: its security model. We will cover how to design a security model for a multi-tenant scenario using environments, business units, and security roles, building directly on the concepts from this lesson.