Azure Database for PostgreSQL and MySQL have similar architectures for performance tiers. While Microsoft recommends to choose between the General Purpose and the Memory Optimized versions, some users might consider Basic Tier servers as they believe their workload is not that aggressive against resource utilization.
Basic Tier servers were built for testing, development or small-scale infrequent used applications where the customer can get a flavor of the service and a sense of the features offered in the PaaS solution. The below table helps you to choose which service to start with for your database. Basic Tier servers are good for testing environment with a single connections. The below table explains the different Target workloads for each of the available performance tiers.
Table 1: Azure Database for PostgreSQL and MySQL Pricing Tiers Target workloads
Basic Tier servers use Azure Standard Storage. The storage you provision is the amount of storage capacity available for your Azure Database server. The storage is used for the database files, temporary files, transaction logs, and server logs. The total amount of storage you provision also defines the I/O capacity available to your server.
Azure Standard Storages that are used in the Basic Tier servers have variable IOPS with no performance guarantees. For more information review Azure Database for MySQL/PostgreSQL pricing tiers.
More information about Azure Standard Storage: https://docs.microsoft.com/en-us/azure/virtual-machines/windows/standard-storage
Now if you are trying to compare Azure Database for MySQL and PostgreSQL with other vendors that have shared environments and expect Azure platform to behave faster in terms of disks operations and CPU, please remember that Azure Databases for MySQL and PostgreSQL have features that are included in the service (increase the cost and degrade performance) that are not offered in Shared environment:
- Built-in high availability with no additional cost.
Azure's industry leading 99.99% availability service level agreement (SLA), powered by a global network of Microsoft-managed datacenters, helps keep your app running 24/7.
- Predictable performance, using inclusive pay-as-you-go pricing.
Azure Database for PostgreSQL an MySQL uses dedicated servers for each instance which guarantees that only your workload is running on the server.
- Scale as needed within seconds.
- Secured to protect sensitive data at-rest and in-motion.
By default, the Azure Database for PostgreSQL service is configured to require SSL connection security for data in-motion across the network. Enforcing SSL connections between your database server and your client applications helps protect against "man in the middle" attacks by encrypting the data stream between the server and your application.
The Azure Database for PostgreSQL service uses storage encryption for data at-rest
- Automatic backups and point-in-time-restore for up to 35 days.
- Enterprise-grade security and compliance.
The built-in gateway and firewall for example adds an extra layer of authentication which increase the time for connection establishment while it is helpful for security protection and load balancing.