PostgreSQL是一种特性非常齐全的自由软件的对象-关系型数据库管理系统(ORDBMS)。PostgreSQL支持大部分的SQL标准并且提供了很多其他特性,如复杂查询、外键、触发器、视图、事务完整性、多版本并发控制等。
PostgreSQL架构如图-1所示,部分说明如下:
Postmaster进程:整个数据库实例的总控进程,负责启动和关闭该数据库实例。
数据缓冲区:用于做数据块的缓冲区,以便提高读写性能。
XLOG缓冲区:临时存储数据库变化的缓存区域。
数据文件:存储数据库数据。
WAL文件:存储数据库日志,用于备份和恢复。
数据库集群:用来安装部署数据库服务的一组计算机资源。
集群模式:分为单机和主从两种。
单机模式:单台主机提供数据库服务,当主机宕掉后,无法提供数据库服务。
主从模式:包含一台主节点和至少一台从节点数据库服务,主节点提供读写功能,从节点提供读功能。从节点通过流复制模式备份主节点数据,具备高可用性。
集群健康状态:分为健康和不健康两种。
健康:集群中组件运行正常时,对应集群将处于健康状态。
不健康:集群中组件运行状态异常时,对应集群将处于不健康状态。
复制模式:分为同步和异步两种。
同步:从节点采用流复制模式同步数据,当从节点数据同步完成后,返回结果,增强了主从节点数据的一致性,降低了数据库的写性能。
异步:主节点接受写命令后,不等待从节点同步数据,直接返回结果。
PostgreSQL适用于以下场景:
PostgreSQL适合关系型数据结构的存储,用于web后端数据存储。
PostgreSQL具有良好的性能和强大的功能,可以有效提高网站性能,降低开发难度;有更多的数据类型和强大的计算能力,可以搭建数据仓库和数据库分析平台。