部署高性能PostgreSQL集群
Posted bloomingflower
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了部署高性能PostgreSQL集群相关的知识,希望对你有一定的参考价值。
Postgres-XL is composed of three major components: the GTM (Global Transaction Manager), the Coordinator and the Datanode. Their features are given in the following sections.
GTM (Global Transaction Manager)
The GTM is a key component of Postgres-XL to provide consistent transaction management and tuple visibility control. As described later in this manual, PostgreSQL‘s transaction management is based upon MVCC (Multi-Version Concurrency Control) technology. Postgres-XL extracts this technology into separate component such as the GTM so that any Postgres-XL component‘s transaction management is based upon single global status. Details will be described in Chapter 50.
Coordinator
The Coordinator is an interface to the database for applications. It acts like a conventional PostgreSQL backend process, however the Coordinator does not store any actual data. The actual data is stored by the Datanodes as described below. The Coordinator receives SQL statements, gets Global Transaction Id and Global Snapshots as needed, determines which Datanodes are involved and asks them to execute (a part of) statement. When issuing statement to Datanodes, it is associated with GXID and Global Snapshot so that Multi-version Concurrency Control (MVCC) properties extend cluster-wide.
Datanode
The Datanode actually stores user data. Tables may be distributed among Datanodes, or replicated to all the Datanodes. The Datanode does not have a global view of the whole database, it just takes care of locally stored data. Incoming statements are examined by the Coordinator as described next, and subplans are made. These are then transferred to each Datanode involved together with a GXID and Global Snapshot as needed. The datanode may receive request from various Coordinators in separate sessions. However, because each transaction is identified uniquely and associated with a consistent (global) snapshot, each Datanode can properly execute in its transaction and snapshot context.
以上是关于部署高性能PostgreSQL集群的主要内容,如果未能解决你的问题,请参考以下文章
centos7部署postgresql集群高可用 patroni + etcd 之patroni篇
postgres安装数据库集群初始化失败(Postgresql Version 9.4.4)
连接postgres特别消耗cpu资源而引发的PostgreSQL性能优化考虑