Our European Collaboration Summit 2021 slides (with Isabelle Van Campenhoudt and serge Luca)
How to choose between SharePoint lists, SQL Azure, Microsoft Dataverse with Doctor Flow and Isa
How to choose between SharePoint lists, SQL Azure, Microsoft Dataverse with Doctor Flow and Isa
1. 29TH NOVEMBER – 1ST DECEMBER 2021
Isabelle Van Campenhoudt
Serge Luca
Power Platform Associates
HOW TO CHOOSE BETWEEN SHAREPOINT LISTS, SQL AZURE,
MICROSOFT DATAVERSE
3. Isabelle Van Campenhoudt
Data Platform MVP, Brussels
Consultant, Speaker Trainer, Community Leader
SQL server since 1999
SharePoint BI & Power BI since it starts
Blog: theSQLGrrrl.wordpress.com
ivc@shareql.com
Twitter: @theSQLgrrrl
SQL
BI
Tuning
Architecture
Coffee making
4. Doctor Flow aka “Serge Luca”
Business Application MVP, Brussels
MVP 15th year
Business Apps, Office 365 Solution architect
Creator of the open-source Power Platform BPM Toolkit
Author of “Power Automate in a day”
Blog: sergeluca.wordpress.com
sergeluca@shareql.com
Twitter: @sergeluca
5. Agenda
Power Platform overview
What you really need to know about Dataverse
Dataverse versus SQL, SharePoint [Go-No Features]
Dataverse versus SQL, SharePoint [Cherry on the cake features]
Conclusions
9. Connectors
• More than 480 connectors
• Connectors to
• Dataverse
• SQL server (cloud and on premises)
• SharePoint (cloud and on premises)
10. Where to start
Advice : if you have existing data
somewhere, keep it where it is
• There are connectors
• On premises : use the on-
premises data gateway
The question is : what should I
chose if I start from scratch ?
11. Go–No Go features
Storage Performance Real time
Api calls/
connection
RPO/RTO
Price
Document
storage &
management
Transactions Silos
Power Apps
Portal
Model driven
apps
Complex
relational
model
AI Builder
Security Field
level security
Security : record
sharing/row
level security
14. It is much more than a database
• Storage
• Application Server
• Back-end of Dynamics 365
2 configurations
• Dataverse
Not free
• Dataverse for Teams
"Free" with Microsoft 365
Limitations
18. How can we use Dataverse
Create an
environment
Create a table
Secure the table
(who can do what)
Call the oData Web
api Directly or
indirectly
(connectors)
22. FetchXML = the SQL language of Dataverse
https://docs.microsoft.com/en-us/powerapps/developer/data-
platform/use-fetchxml-left-outer-join-query-records-not-in
26. Price : you get what you pay for
Each end user interacting with DV Or SQL must have a premium license
Power Apps Per app license: 1 app 1000 employees x4,20€/month x 12 months =
50.400 €/Year
Power Apps Per user license: Unlimited apps 1000 employees x16,20€/month x 12
months = 194.400 €/year
Pay as you go : 8,20€/month/employee/used application in the month
Azure SQL SharePoint Dataverse Dataverse for Teams
Each end user must
pay:
Premium + Storage M365 License Premium M365 License
27. Dataverse storage price
Dataverse storage
• Database
• Logs
• Files
Premium Licences give storage
• Power Apps per user: 10 GB Db, 20 GB Files, 2 GB logs
Buy add-ons to have more storage
• 2 GB
• 1 millions rows
29. Storage capacity
Azure SQL
• SQL
• “unlimited”
SharePoint
• meta model
on top of SQL
& Azure Blob
storage
• “unlimited”
(30 M/List)
Dataverse
• SQL, Cosmos
DB, Azure
Blob Storage
• “unlimited”
Dataverse for
Teams
• SQL, Cosmos
DB, Azure
Blob Storage
• 1 M rows, 2
GB
30. Business continuity
Azure SQL SharePoint Dataverse Dataverse for Teams
SLA:99,99%
RPO 5-10 min
RTO <12h
PITR 1-365
geo replication and
LTR 10 years
SLA:99,9% SLA
Backups every 12
hours
Records retention : 90
days retention (Recycle
Bin)
SLA :99,9%
RPO :5-10 min
Backups expires after 7
days
SLA :99,9%
RPO :5-10 min
Backups expires after 7
days
Third party tools can be purchased to extend the backup retention period (Dataverse and
SP)
SLA= Service Level Agrement
RTO = Recovery Time Objective
RPO = Recovery Point Objective
LTR = Long Term Rention
PITR =Point in Time Restore
99,9% = 8h45 downtime a year
99,99% = 58 minutes a year
31. Performance & throttling
Azure SQL SharePoint Dataverse Dataverse for Teams
Performance Very high Average Very high Very high
Api calls/ connection 3000/60sec 600/60 sec 1200/60 sec 1200/60 sec
32. Extensibility
Azure SQL SharePoint Dataverse Dataverse for Teams
Extensibility
Trigger, Stored proc,
Power Automate
Power Automate
SharePoint Framework
Workflows, plugins,
rollups, Power
Automate, jobs
Power Automate,
Power Fx in the DB
37. Security
Azure SQL SharePoint Dataverse
Dataverse for
Teams
Role Based
Security
**** **** ***** ***
Record Sharing Yes Yes Yes No
Field Level
Security
Yes No Yes No
Hierarchy No No Yes No
38. Security roles in Dataverse
• When a record is created, defines who can
• Create
• Read
• Modify (Write)
• Own (Assign)
• Share with someone else
45. Applications that require Dataverse
Power Apps
Portal
Model Driven
Apps
AI Builder
Dataverse (not DV4T!)
46. Applications requiring Dataverse
Azure SQL SharePoint
Power Apps Portal Via Power Automate Via Power Automate
Model Driven Apps Via Power Automate Via Power Automate
AI Builder No No
50. Off-line support
Azure SQL SharePoint Dataverse Dataverse for Teams
Off-line
To be implemented in
client app
To be implemented in
client app
Out of the box No
51. Dataverse relevance search
Entities can be indexed + crawled and be searched
The internal engine is Azure Cognitive Search
Document in entities can be indexed too
The (Apache) Lucerne query syntax can be used
• Fuzzy search, proximity search,…
• https://docs.microsoft.com/en-us/azure/search/query-lucene-
syntax
52. Auditing
Auditing at the environment level
Auditing at the table level
Auditing at the field level
55. Conclusions
Keep your data where it is
You cannot be wrong by using SQL Azure
In most case Dataverse is a great SaaS solution
It gives you many Dynamics 365 features
You can combine
You can upgrade from DV4T to DV
SQL/SharePoint/Dataverse
Dataverse for Teams and SharePoint
Dataverse is not a toy
What is truly Dataverse? Not a toy , not a new Access
What are the criteria to choose the solution or defend your choice
Understanding the criteria implications--- the devil is in the details
Find out what can potentially block your project “NoGo”
Conclusions
Language used in Power Apps = Power Fx
Language used in Power Automate = Logic Apps + Power Fx in 2022
https://docs.microsoft.com/en-us/power-platform/admin/business-continuity-disaster-recovery
TODO ISA : expliquer
En Azure SQL, quelles sont les options qui permettent quasiment d’être en SaaS ?
Les options automatiques sont typiquement Paas: mise a jours, aavailability, monitoring auditing et scalability. Parc ontre il n’y a pas d’aide particulière à “l’interieur” de l’outil
Ca requiert donc une connaissance de SQL dev– mais pas trop d’admin ou en tout cas c’est vachement allege
Voir: https://docs.microsoft.com/en-us/azure/azure-sql/database/sql-database-paas-overview
Outils:
SharePoint meta model = several SP list combined in one SQL Table -> more contention
TODO serge check dataverse max size
SharePoint meta model = several SP list combined in one SQL Table -> more contention
TODO serge demo
SharePoint meta model = several SP list combined in one SQL Table -> more contention
TODO serge demo
SharePoint meta model = several SP list combined in one SQL Table -> more contention
TODO serge demo
SharePoint meta model = several SP list combined in one SQL Table -> more contention
If we define a security role with ‘Business unit’ and we apply this role to HR.
People of HR won’t see the data generated by people from HR Belgium and HR China
If we define a security role with ‘Parent child Business uni’t and we apply this role to HR.
If we define a security role with ‘Business unit’ and we apply this role to HR.
People of HR won’t see the data generated by people from HR Belgium and HR China
If we define a security role with ‘Parent child Business uni’t and we apply this role to HR.
SharePoint meta model = several SP list combined in one SQL Table -> more contention
SharePoint meta model = several SP list combined in one SQL Table -> more contention