高可用性(High Availability)

High availability is a system design
protocol and associated implementation that ensures a certain absolute
degree of operational continuity during a given measurement period.

Users want their systems, for example wrist watches, hospitals, airplanes or computers, to be ready to serve them at all times. Availability
refers to the ability of the user community to access the system,
whether to submit new work, update or alter existing work, or collect
the results of previous work. If a user cannot access the system, it is
said to be unavailable. [1] Generally, the term downtime is used to refer to periods when a system is unavailable.

Glossary

管理節點(Manager Node)

SQL節點(SQL Node), 存儲表結構

資料節點(Data Node)

主從式複寫架構(Master/Multi-Slaves)

Replication

can manage multiple PostgreSQL servers.
Using the replication function enables creating a realtime backup on 2
or more physical disks, so that the service can continue without
stopping servers in case of a disk failure.

負載平衝(Loading Balance, LB)

Load Balance

If a database is replicated, executing a SELECT
query on any server will return the same result. pgpool-II takes an
advantage of the replication feature to reduce the load on each
PostgreSQL server by distributing SELECT queries among multiple
servers, improving system's overall throughput. At best, performance
improves proportionally to the number of PostgreSQL servers. Load
balance works best in a situation where there are a lot of users
executing many queries at the same time.

連接池/動態過度連接限制

Connection Pooling

pgpool-II saves connections to the PostgreSQL
servers, and reuse them whenever a new connection with the same
properties (i.e. username, database, protocol version) comes in. It
reduces connection overhead, and improves system's overall throughput.

Limiting Exceeding Connections

There is a limit on the maximum
number of concurrent connections with PostgreSQL, and connections are
rejected after this many connections. Setting the maximum number of
connections, however, increases resource consumption and affect system
performance. pgpool-II also has a limit on the maximum number of
connections, but extra connections will be queued instead of returning
an error immediately.

平行查詢(Parallel Query)

Parallel Query

Using the parallel query function, data can be
divided among the multiple servers, so that a query can be executed on
all the servers concurrently to reduce the overall execution time.
Parallel query works the best when searching large-scale data.