What is Azure Database for PostgreSQL?

We look at Microsoft's cloud implementation of the open source database

Many organisations use PostgreSQL in their infrastructure to run mission-critical database workloads, but the open-source relational database can also run on the Microsoft Azure cloud service.

Azure Database for PostgreSQL is a managed implementation of the database service running on Microsoft's cloud infrastructure. The aim is to let organisations quickly and easily develop applications using PostgreSQL, as well as native PostgreSQL tools, drivers and libraries, without worrying about having to manage and administrate the instances themselves.

Advertisement - Article continues below

There are two options for deployment: Single Server and Hyperscale (Citus) - although the latter service is currently in preview mode pending a full official release.

Azure Database for PostgreSQL - Single Server

The primary method of deployment for PostgreSQL databases on Azure is via the single-server model. Those who are already familiar with PostgreSQL in on-premise environments will feel right at home, as the configuration is almost identical; users can spin up a single PostgreSQL server which acts as the main host for multiple databases. The main differences are that this PostgreSQL service is fully managed, offers a four-nines performance guarantee, and includes built-in backup and encryption features.

In the single-server option, developers can host a single database per server in order to maximise resource usage, or share server resources among multiple databases. Like most of Microsoft's cloud tools, management and configuration can be done via the Azure portal or the Azure CLI.

Azure Database for PostgreSQL admins do not have full superuser permissions, however; the highest privileged user role available to users of the service is the azure_pg_admin role. Instead, superuser attributes are assigned to the azure_superuser, which belongs to the managed service. Service users do not have access to this role or its associated privileges

Azure Database for PostgreSQL - Hyperscale (Citus) (preview)

If you have a very large (100GB-plus) database that requires maximum performance, you may be interested in Azure's newest PostgreSQL deployment model. Officially dubbed the 'Hyperscale (Citus) (preview)' hosting type, this method uses technology from Citus Data, a company that Microsoft acquired in January 2019.

Advertisement
Advertisement - Article continues below
Advertisement - Article continues below

Hyperscale (Citus) uses database sharding technology, which splits data into smaller component parts and distributes them across a large number of compute nodes which are grouped together into a cluster. This cluster offers more storage capacity and CPU utilisation than a standard single-server PostgreSQL deployment would be able to.

Big companies like Facebook and Google use database sharding within their data centres, but one of the advantages of Hyperscale (Citus) is that sharding is handled automatically, without the tenant application needing to be taught how to do it. The system parallelises SQL queries and other operations across available servers, with a central 'coordinator node' handling query routing, aggregation and planning, and 'worker nodes' storing data.

When the coordinator receives a request from the application, it routes the query to the relevant worker node(s), depending on where the data in question is stored. Caveat emptor, however; as Hyperscale (Citus) is in public preview, it does not offer an SLA at the time of writing.

Related Resource

Understanding your open source risk

Open source libraries can introduce vulnerabilities to your code

Download now

Pricing

The single server version of Azure Database for PostgreSQL comes with different pricing tiers, namely ‘Basic’, ‘General Purpose’ and ‘Memory Optimised’.

Advertisement - Article continues below

Each tier sets out the various provisions that a customer can expect. Each tier has compute provisioned in virtual cores, known as ‘vCores’ in the documentation, and each uses Gen 5 CPUs based on Intel’s Broadwell 2.3GHz processors. 

However, the number of vCores, and the memory provisioned, will vary depending on the tier. For example, with Basic, you can rent either 1 or 2 vCores, each provided with 2GB of memory, for £0.026 per hour and £0.051 per hour respectively - although this increases all the way up to 64 vCores, with 320GB of memory, for £4.179 per hour.

You can tweak certain elements of your servers' configuration after they're created, such as increasing optimised memory - but there are a number of additional factors which will influence your monthly bill. This includes the amount of compute capacity, the number of vCores, amount of storage and backup retention period, as well as switching between the general purpose and memory optimised pricing tiers.

Advertisement
Advertisement - Article continues below
Advertisement - Article continues below

Whether you choose to pay as you go or opt for yearly payment will also affect the final price, although yearly discounts are not available as part of the Basic tier.

You can see a full breakdown of the prices below. The number of databases per server has no direct effect on prices.

Understanding the tiers

Pricing tierBasicGeneral PurposeMemory Optimised
Compute generationGen 5Gen 5Gen 5
vCores1, 22, 4, 8, 16, 32, 642, 4, 8, 16, 32
Memory per vCore2GB10GB20GB
Storage capacityUp to 1TBUp to 16TBUp to 16TB
Storage typeAzure Standard StorageAzure Premium StorageAzure Premium Storage

Each tier provides a free back up of up to 100% of your provisioned server storage. You can increase your backup retention period, however, this will increase the amount of backup storage consumed by the server, and so you will be charged extra.

Basic

The entry-level tier is primarily designed for low-priority workloads that don't require a great deal of performance. This can include test/dev environments or intermittently-accessed applications.

Advertisement - Article continues below

General Purpose

As the name suggests, the general purpose tier is where most workloads will naturally fall, and encompasses most enterprise PostgreSQL use-cases. It offers a balance of performance and economy.

Memory Optimised

The highest tier is reserved for applications like financial transaction databases or analytics engines where low latency is paramount. For this reason, it makes heavy use of in-memory computing.

While the Basic tier does not provide an IOPS guarantee, other tiers have IOPS scale with the provisioned storage size in a 3:1 ratio.

Related Resource

Understanding your open source risk

Open source libraries can introduce vulnerabilities to your code

Download now

Benefits of Azure Database for PostgreSQL

The database cloud service has a number of advantages.

Built-in high availability: The service provides built-in high availability with no additional setup, configuration or extra cost. This means there is no need to set up further VMs and configure replication to guarantee high availability for a PostgreSQL database.

Security: All data including backups are encrypted on disk by default. Also, the service has SSL enabled by default, so all data in-transit is encrypted.

Scalability: The service allows users to scale compute on the fly without application downtime in one step.

Automated backups: Users do not need to independently manage storage for backups. The service offers up to 35 days retention for automated backup.

Featured Resources

Top 5 challenges of migrating applications to the cloud

Explore how VMware Cloud on AWS helps to address common cloud migration challenges

Download now

3 reasons why now is the time to rethink your network

Changing requirements call for new solutions

Download now

All-flash buyer’s guide

Tips for evaluating Solid-State Arrays

Download now

Enabling enterprise machine and deep learning with intelligent storage

The power of AI can only be realised through efficient and performant delivery of data

Download now
Advertisement
Advertisement

Recommended

Visit/microsoft-azure/34748/meet-azure-arc-a-microsoft-platform-for-those-that-want-a-bit-of-everything
Microsoft Azure

Meet Azure Arc, a platform to simplify deployment management

4 Nov 2019
Visit/cloud/cloud-computing/355188/canonical-launches-managed-apps-to-simplify-cloud-operations
cloud computing

Canonical launches Managed Apps to simplify cloud operations

1 Apr 2020
Visit/cloud/355098/ibm-dedicates-supercomputing-power-to-coronavirus-researchers
high-performance computing (HPC)

IBM dedicates supercomputing power to coronavirus research

24 Mar 2020
Visit/cloud/355077/microsoft-prioritises-extra-azure-capacity-for-key-customers
Cloud

Microsoft prioritises extra Azure capacity for 'key customers'

23 Mar 2020

Most Popular

Visit/development/application-programming-interface-api/355192/apple-buys-dark-sky-weather-app-and-leaves
application programming interface (API)

Apple buys Dark Sky weather app and leaves Android users in the cold

1 Apr 2020
Visit/security/cyber-crime/355171/fbi-warns-of-zoom-bombing-hackers-amidst-coronavirus-usage-spike
cyber crime

FBI warns of ‘Zoom-bombing’ hackers amid coronavirus usage spike

31 Mar 2020
Visit/data-insights/data-management/355170/oracle-cloud-courses-are-free-during-coronavirus-lockdown
data management

Oracle cloud courses are free during coronavirus lockdown

31 Mar 2020
Visit/security/cyber-security/355200/spacex-bans-the-use-of-zoom
cyber security

Elon Musk's SpaceX bans Zoom over security fears

2 Apr 2020