For database solutions, I generally look at SQL/MySQL (transactional) or CosmosDB (schemaless). I use CosmosDB mostly for telemetry data from devices and SQL/MySQL for transactional data that usually originates from web forms or file loads. When I need to load data, I will usually use Azure Batch or HPC (Hi Performance Compute). With SQL managed instances, I can move an existing database to the cloud for legacy databases or I can migrate more modern databases to the cloud. For more on migration planning, go to https://docs.microsoft.com/en-us/azure/dms/tutorial-sql-server-to-azure-sql.
When you work with SQL in Azure, you will create a main central administration point or server, which is a container for single or elastic databases. This container controls the firewall rules, auditing rules, threat detection policies, and failover groups. Data is stored with Transparent Data Encryption (TDE), by default, which encrypts your data at rest.
These are the data repository types:
- Single database: Own set of resources managed via an administration server
- Elastic database: With a shared set of resources managed via an administration server
- Manage instances: Contains system and user databases and shares a set of resources
Pricing for single or elastic SQL databases is based on Data Transfer Units (DTUs), and they represent the resource power assigned to the database. They are a blended measurement of memory, CPU, and read-write. Elastic instances use an elastic version, which provides a range of shared resources that cannot be consumed by a single database but ensure that the pool always has a minimum available.
Managed SQL instances are based on vCores, were created for the lift and shift database model, and were put in place to “as is” data migration to Azure with no database or application updating needed, except for configuration changes. This model is based on VM instance resources, cores, and memory, to support the pricing tiers shown in the following figure:
There are two service tiers:
- General Purpose: Typical availability and common IO latency requirements
- Business Critical: High availability and low IO latency requirements