PostgreSQL基本架构

PostgreSQL是什么

了解PostgreSQL之前,首先要有一个对它大概的概念。

PostgreSQL是一种对象关系型数据库,单节点单实例运行,对分布式支持有限。可以与广为人知的Mysql做类比来理解。

MySQL号称世界上最流行的数据库。
PostgreSQL号称世界上最先进的数据库。

组件名词解释

  • libpq:数据库应用连接接口库(如JDBC,ODBC)
  • Postmaster:守护监听进程
  • Postgres:服务进程

PostgreSQL整体架构

PostgreSQL采用的是经典的C/S架构模型。

PostgreSQL架构.png

运行流程分析

当一个前端数据库应用程序需要访问数据库:

  • 调用libpq,将连接请求发送给Postmaster;
  • Postmaster启用一个新的后端服务器进程postgres与前端应用连接;
  • 服务进程Postgres直接与用户通信,不再通过Postmaster;
  • Postgres接收客户端的命令请求,完成并返回结果;

客户端每创建一个数据库连接,postmaster就生成一个pstogres进程,是一种1:1的进程结构(一个客户端对应一个服务进程)。

多进程的好处在于:系统的各个模块,各个服务进程之间耦合度更低,多用户直接并发运行不受影响。

带来的影响是:多进程比多线程的结构开销要大,进程的创建和回收比线程更加消耗资源,当用户发来的请求过多时,会造成负载过大,执行速度变慢。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • About:PostgreSQL About 《PostgreSQL 源码分析系列》 PostgreSQL 源码分...
    ty4z2008阅读 8,250评论 1 40
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,099评论 19 139
  • 国家电网公司企业标准(Q/GDW)- 面向对象的用电信息数据交换协议 - 报批稿:20170802 前言: 排版 ...
    庭说阅读 11,242评论 6 13
  • 文/天水石逸 我推开充满暖流的大门,看着眼前的一切,突然想起去年的这时,怀揣着一颗追逐梦想的心,来到了那座惬意的城...
    天水石逸阅读 392评论 2 2
  • 六月5号,准备高考。因为我们学校是考场,要把所有的书搬回宿舍,我想无论怎样,书都要带回家,便想让父亲来把不...
    想变成一只猫阅读 252评论 0 1