About AlloyDB

AlloyDB is a fully-managed, PostgreSQL-compatible database for demanding transactional and analytical workloads. It provides enterprise-grade performance and availability while maintaining 100% compatibility with open-source PostgreSQL.

Key concepts and terms

Hierarchical resource structure

AlloyDB gathers the various resources used in a PostgreSQL deployment into a hierarchical structure that simplifies administration and management of PostgreSQL deployments. Here is a diagram that illustrates this structure.

Resource tree showing a cluster containing a primary instance and read pool instances

The root resource of every PostgreSQL deployment in AlloyDB is a cluster. The cluster contains a single primary instance for read/write access to the PostgreSQL databases you create in the deployment, and zero or more read pool instances for read access to database data.

To provide high availability, the primary instance has a standby that AlloyDB switches over to if the primary instance ever becomes unavailable.

To provide flexible processing power to support large-scale analytical workloads, you can scale the number of nodes in each read pool instance on an as-needed basis.


A cluster contains all the resources for a PostgreSQL deployment.

As the top-level resource in AlloyDB, clusters are the main unit of resource management, enabling administrators to monitor performance and configure policies and features across multiple instances simply.

All cluster resources share a storage layer, which scales as needed.

Primary instances

A primary instance provides the read/write connection point for the databases in a cluster. Every cluster has one primary instance.

You use primary instances to define and manage databases and to add data to databases. They are particularly suited to transaction processing workload, but can also support data analytics workloads.

Read pool instances

A read pool instance provides a read connection point for database data in a cluster. You can create multiple read pool instances in a cluster, and you can scale each one's computing capacity individually.

You are not required to have any read pool instances in a cluster, but they provide better support for data analytics workloads than do primary instances. Therefore they are the best choice for your data analytics needs.