I am developing a small app (via xamarin.forms), and it will be required to access information held in an online server at any moment from the user's device. I have managed to create an azure sql database, however I have not found any way to edit it from the app. I did some research on connecting to azure via REST method, and all the guides corresponded to azure cosmos DB. Apparently they are not the same thing. I am using visual studio, and not azure mobile apps.
My question is: What is the difference between azure sql and azure cosmos databases?
Which is more suitable for a small scale app with limited finances?
Azure SQL is based on SQL Server engine, you can easily migrate applications and continue to use the tools, languages, and resources that you're familiar with. Azure Cosmos DB is used for web, mobile, gaming, and IoT application that needs to handle massive amounts of data, reads, and writes at a global scale.
The support for cosmos DB accounts using Azure storage explorer will be deprecated in future versions that is why you can see deprecated is showing besides cosmos DB accounts option.
Applications need to respond in real time to large changes in usage at peak hours, store ever increasing volumes of data, and make this data available to users in milliseconds. Azure Cosmos DB is a fully managed NoSQL database for modern app development.
You can use the Cosmos DB Data Migration Tool. It is an open source to import data from SQL Server and other sources like CSV files, MongoDB, Azure Table Storage and other sources.
Azure Cosmos DB is a non-SQL database that provides access to information (JSON) quickly, with high availability, scalable and with global replication.
Microsoft Azure SQL Database as a Service offering with high compatibility to Microsoft SQL Server. That is, a Relational DBMS.
In your case it would be more convenient to use Cosmos DB because you can access the data (via JSON) without having to create a web service. And it have limitless scale. Your Azure Cosmos DB collections grow as your app grows. You can start with small data size and throughput of hundreds of requests per second.
Instead with Azure Database SQL you would have to create an ASP.Net Web API project to be able to access the data. (This could affect development time).
However, if you are not familiar with Cosmos DB it can affect development time as well.
You can find some examples here:
Consuming an Azure Cosmos DB Document Database
Build mobile applications with Xamarin and Azure Cosmos DB
Going Global with Xamarin and Azure Cosmos DB
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With