I'm moving an ACCESS Desktop App to PowerApps. The ACCESS DB had 7-8 tables, a few tables had 3,000+ records.
I'm thinking I should use Azure SQL DB. Is there something else I should be using or think about?
Could you please share more details about your scenario?
Do you want to use PowerApps or Microsoft Flow within your scenario?
If you want to use Azure SQL DB, there are some Known issues and limitations about it. More details about Known Issues and Limitations about Azure SQL Server connector, please check the following article:
More details about using SQL Server connector in PowerApps, please check the following article:
If you could provide more details about your scenario, we would provide a proper workaround for you.
The app is for a small non-profit that gives baby diapers to needy families. Parents register then return every 30 days for more diapers. The database ensures is useful for tracking and grant writing purposes, as well as making sure that parents do not abuse the system by coming back in less than 30 days.
The principle tables in the database are CHILD <-- FAMILY--> PARENT and TRANSACTIONS (When a parent picks up diapers for a child). The Transactions table has 15k+ records, Family and Child have around 4-5k records.
Azure SQL DB is a good choice, right? What other issues will I encounter?
Yes Azure SQL Server will work for your app.
I use it for all my apps and I think it provides the most flexibility and customization with PowerApps.
The only thing I do not like is that you have to grant users (not the app itself) access to all your database data, but this problem with all data sources connected to PowerApps. So if you work with confidential data be careful.
Here is the idea to solve this problem for PowerApps, give it a vote:
The work is for a small non-profit. I think CDS is out of their budget.
Also, In my mind I assume that moving their data from MS Access to Azure SQL will be easier.
Also, PowerBI will likely work better with Azure SQL than CDS. Or maybe there is no difference?
It is mostly the price issue. There is also probably a paradigm issue. I understand Azure SQL, but I'm not sure how I would approach data modeling in CDS.
Regarding creating the entities - hopefully this is easy for you to get your head around. We also have options for you to create schema and import your data directly from Access, you can read more here : https://powerapps.microsoft.com/en-us/pricing/
Even for-profit organizations have better incentives to use Azure SQL Server than CDS.
Here is why:
1. All my people are on enterprise plan so we get the basic PowerApps for free. It also comes with bunch of free connectors (like SQL Server connector). There is no need to manage special licenses and everyone can just access PowerApps as soon as we develop them because everyone has access to basic plan.
If we developed PowerApps with premium connectors that means we would need to know beforehand everyone in the company who will be using this app and give him/her Plan 1 license so they could access the app. This also means that we will need to constantly manage the licenses for new employees or people who no longer will need access to it. In my organization I do not even know who uses the apps since I release them to whole company. This allows the app to spread very fast kinda like mouth-to-mouth advertising because people can just open it and use it. With licenses they would all need to contact someone in IT department to give them licenses. In my mind this would slow down the spread of the app and create resistance from end user.
2. Azure SQL Server handles delegation a lot better than CDS and has more delegatable functions. From this article: https://docs.microsoft.com/en-us/powerapps/maker/canvas-apps/delegation-list it seems that it is a lot easier to manipulate large amounts of data with SQL Server than CDS. Since all our databases are larger than 500 records using CDS would mean we cannot manipulate the data as easy as we can with SQL due to delegation limitations with CDS and PowerApps.
3. From pure cost perspective I have around 300 users who use my apps. If I went with CDS I need Plan 2 license for me ($40/month) and 300 Plan 1 licenses (300 * $7 = $2100/Month) for current app users.
Right now I have 2 Basic plan Azure SQL Server which cost $6.68/month so total of around $14/month.
Very huge difference between Azure SQL $14/month and CDS $2140/month while Azure SQL is able to easily scale and support more users at no additional cost while if I use CDS my cost increases with every single user. (The plan costs are in Canadian Dollars since this is where I am located)
Let me know if I have some misunderstandings of how it works because all the research I did led me to believe that CDS is not worth it. What was Microsoft planning with CDS? Because right now it seems that it is being pushed as this super awesome data management utility when it seems to be lacking in my eyes.
Thanks @Anonymous - appreciate your feedback and I've passed it on to our business planning team. Regarding the technical limitations, like delagation, these are all under review by our team at the moment to ensure we can remove these limitations in upcoming releases.