46.1. Postgres-XC Components

Note: XCONLY: The following description applies only to Postgres-XC.

As described in Section , Postgres-XC is a database cluster which consists of multiple database servers based upon PostgreSQL. Postgres-XC provides global transparent transaction management to all the database servers involved and provide both read and write scalability.

To achieve these features, Postgres-XC is composed of three major components as follows:

GTM

GTM stands for global transaction manager. It provides global transaction ID and snapshot to each transaction in Postgres-XC database cluster. It also provide several global value such as sequence and global timestamp.

To improve scalability itself, each server hardware or virtual machine may have GTM-Proxy. GTM-Proxy groups commands and response from/to GTM to reduce number of interaction and the amount of data which GTM reads and writes.

Coordinator

Coordinator is an entry point to Postgres-XC from applications. You can configure more than one Coordinators in the same Postgres-XC. With the help of GTM, they provide transparent concurrency and integrity of transactions globally. Application can choose any Coordinator to connect with. Any Coordinator provides the same view of the database.

Datanode

Datanode stores user data. As described in Section and CREATE TABLE, more than one Datanodes can be configured. Each table can be replicated or distributed among Datanodes. A table is distributed, you can choose a column as the distribute key, whose value is used to determine which Datanode each row should be stored.