Postgresql: 概述架构图
This commit is contained in:
parent
fd79acd6a2
commit
a0a35b868d
@ -36,6 +36,116 @@ PostgreSQL 的发展历程反映了其对技术创新和社区驱动的承诺:
|
|||||||
|
|
||||||
与其他关系数据库相比,**PostgreSQL 一直强调其对开放性、扩展性和标准的遵循**。与 MySQL、Oracle 和 SQL Server 等数据库相比,它被视为一个功能丰富但需要一定学习投入的选择。
|
与其他关系数据库相比,**PostgreSQL 一直强调其对开放性、扩展性和标准的遵循**。与 MySQL、Oracle 和 SQL Server 等数据库相比,它被视为一个功能丰富但需要一定学习投入的选择。
|
||||||
|
|
||||||
|
## 架构
|
||||||
|
|
||||||
|
```mermaid
|
||||||
|
graph LR;
|
||||||
|
A[PostgreSQL 数据库服务] --> B1[数据库集簇 A];
|
||||||
|
A[PostgreSQL 数据库服务] --> B2[数据库集簇 B];
|
||||||
|
B1 --> C1[单一实例];
|
||||||
|
B2 --> C2[单一实例];
|
||||||
|
C1 --> D1[数据库 A];
|
||||||
|
C1 --> D2[数据库 B];
|
||||||
|
C2 --> D3[数据库 C];
|
||||||
|
D1 --> E1[数据表1];
|
||||||
|
D1 --> E2[数据表2];
|
||||||
|
D1 --> F1[视图];
|
||||||
|
D1 --> F2[函数];
|
||||||
|
D1 --> F3[触发器];
|
||||||
|
E1 --> G1[列];
|
||||||
|
E1 --> G2[索引];
|
||||||
|
E1 --> G3[主键];
|
||||||
|
E1 --> G4[外键];
|
||||||
|
E1 --> G9[约束];
|
||||||
|
E2 --> G5[列];
|
||||||
|
E2 --> G6[索引];
|
||||||
|
E2 --> G7[主键];
|
||||||
|
E2 --> G8[外键];
|
||||||
|
E2 --> G10[约束];
|
||||||
|
A --> H1[事务和并发控制];
|
||||||
|
A --> H2[备份和恢复];
|
||||||
|
A --> H3[安全性和权限管理];
|
||||||
|
|
||||||
|
A --> I[进程管理器];
|
||||||
|
A --> J[SQL 解析器];
|
||||||
|
A --> K[查询优化器];
|
||||||
|
A --> L[查询执行器];
|
||||||
|
|
||||||
|
I --> M[后台进程];
|
||||||
|
I --> N[自动清理进程];
|
||||||
|
I --> O[后台工作进程];
|
||||||
|
|
||||||
|
L --> P[存储管理器];
|
||||||
|
P --> Q[缓冲区管理];
|
||||||
|
P --> R[磁盘空间管理];
|
||||||
|
P --> S[事务管理];
|
||||||
|
P --> X[日志管理];
|
||||||
|
|
||||||
|
Q --> T[共享缓冲区];
|
||||||
|
Q --> U[WAL 预写日志];
|
||||||
|
|
||||||
|
S --> V[事务日志];
|
||||||
|
S --> W[多版本并发控制 MVCC];
|
||||||
|
|
||||||
|
H1 --> Y[锁管理];
|
||||||
|
H2 --> Z1[物理备份];
|
||||||
|
H2 --> Z2[逻辑备份];
|
||||||
|
H3 --> Z3[角色和权限管理];
|
||||||
|
H3 --> Z4[加密和认证];
|
||||||
|
|
||||||
|
K --> Z5[统计信息];
|
||||||
|
|
||||||
|
style A fill:#f9d,stroke:#333,stroke-width:2px;
|
||||||
|
style B1 fill:#fc9,stroke:#333,stroke-width:2px;
|
||||||
|
style B2 fill:#fc9,stroke:#333,stroke-width:2px;
|
||||||
|
style C1 fill:#9cf,stroke:#333,stroke-width:2px;
|
||||||
|
style C2 fill:#9cf,stroke:#333,stroke-width:2px;
|
||||||
|
style D1 fill:#9fc,stroke:#333,stroke-width:2px;
|
||||||
|
style D2 fill:#9fc,stroke:#333,stroke-width:2px;
|
||||||
|
style D3 fill:#9fc,stroke:#333,stroke-width:2px;
|
||||||
|
style E1 fill:#c9f,stroke:#333,stroke-width:2px;
|
||||||
|
style E2 fill:#c9f,stroke:#333,stroke-width:2px;
|
||||||
|
style F1 fill:#ccf,stroke:#333,stroke-width:2px;
|
||||||
|
style F2 fill:#ccf,stroke:#333,stroke-width:2px;
|
||||||
|
style F3 fill:#ccf,stroke:#333,stroke-width:2px;
|
||||||
|
style G1 fill:#fcc,stroke:#333,stroke-width:2px;
|
||||||
|
style G2 fill:#fcc,stroke:#333,stroke-width:2px;
|
||||||
|
style G3 fill:#fcc,stroke:#333,stroke-width:2px;
|
||||||
|
style G4 fill:#fcc,stroke:#333,stroke-width:2px;
|
||||||
|
style G5 fill:#fcc,stroke:#333,stroke-width:2px;
|
||||||
|
style G6 fill:#fcc,stroke:#333,stroke-width:2px;
|
||||||
|
style G7 fill:#fcc,stroke:#333,stroke-width:2px;
|
||||||
|
style G8 fill:#fcc,stroke:#333,stroke-width:2px;
|
||||||
|
style G9 fill:#fcc,stroke:#333,stroke-width:2px;
|
||||||
|
style G10 fill:#fcc,stroke:#333,stroke-width:2px;
|
||||||
|
style H1 fill:#ccc,stroke:#333,stroke-width:2px;
|
||||||
|
style H2 fill:#ccc,stroke:#333,stroke-width:2px;
|
||||||
|
style H3 fill:#ccc,stroke:#333,stroke-width:2px;
|
||||||
|
style I fill:#9cf,stroke:#333,stroke-width:2px;
|
||||||
|
style J fill:#9cf,stroke:#333,stroke-width:2px;
|
||||||
|
style K fill:#9cf,stroke:#333,stroke-width:2px;
|
||||||
|
style L fill:#9cf,stroke:#333,stroke-width:2px;
|
||||||
|
style M fill:#cfc,stroke:#333,stroke-width:2px;
|
||||||
|
style N fill:#cfc,stroke:#333,stroke-width:2px;
|
||||||
|
style O fill:#cfc,stroke:#333,stroke-width:2px;
|
||||||
|
style P fill:#ccf,stroke:#333,stroke-width:2px;
|
||||||
|
style Q fill:#ccf,stroke:#333,stroke-width:2px;
|
||||||
|
style R fill:#ccf,stroke:#333,stroke-width:2px;
|
||||||
|
style S fill:#ccf,stroke:#333,stroke-width:2px;
|
||||||
|
style T fill:#fcc,stroke:#333,stroke-width:2px;
|
||||||
|
style U fill:#fcc,stroke:#333,stroke-width:2px;
|
||||||
|
style V fill:#fcc,stroke:#333,stroke-width:2px;
|
||||||
|
style W fill:#fcc,stroke:#333,stroke-width:2px;
|
||||||
|
style X fill:#ccf,stroke:#333,stroke-width:2px;
|
||||||
|
style Y fill:#ccc,stroke:#333,stroke-width:2px;
|
||||||
|
style Z1 fill:#ccc,stroke:#333,stroke-width:2px;
|
||||||
|
style Z2 fill:#ccc,stroke:#333,stroke-width:2px;
|
||||||
|
style Z3 fill:#ccc,stroke:#333,stroke-width:2px;
|
||||||
|
style Z4 fill:#ccc,stroke:#333,stroke-width:2px;
|
||||||
|
style Z5 fill:#9cf,stroke:#333,stroke-width:2px;
|
||||||
|
|
||||||
|
```
|
||||||
|
|
||||||
## 特点
|
## 特点
|
||||||
|
|
||||||
作为世界上最先进的开源关系数据库,PostgreSQL 具有以下显著特点:
|
作为世界上最先进的开源关系数据库,PostgreSQL 具有以下显著特点:
|
||||||
@ -70,6 +180,14 @@ PostgreSQL 通常每年发布一次主要版本,并根据需要发布小的补
|
|||||||
|
|
||||||
```mermaid
|
```mermaid
|
||||||
graph LR
|
graph LR
|
||||||
|
style A fill:#f9d,stroke:#333,stroke-width:2px;
|
||||||
|
style B fill:#9cf,stroke:#333,stroke-width:2px;
|
||||||
|
style C fill:#9cf,stroke:#333,stroke-width:2px;
|
||||||
|
style D fill:#ccf,stroke:#333,stroke-width:2px;
|
||||||
|
style E fill:#ccf,stroke:#333,stroke-width:2px;
|
||||||
|
style F fill:#ccf,stroke:#333,stroke-width:2px;
|
||||||
|
style G fill:#ccf,stroke:#333,stroke-width:2px;
|
||||||
|
|
||||||
A[PostgreSQL 发布规则]
|
A[PostgreSQL 发布规则]
|
||||||
B[小版本发布]
|
B[小版本发布]
|
||||||
C[主要版本发布]
|
C[主要版本发布]
|
||||||
@ -87,10 +205,11 @@ graph LR
|
|||||||
C --> H
|
C --> H
|
||||||
|
|
||||||
D[每个季度至少发布一次小版本]
|
D[每个季度至少发布一次小版本]
|
||||||
F[目标日期:每年的 2 月、5 月、8 月和 11 月的第二个星期四]
|
F[目标日期: 每年的 2 月, 5 月, 8 月和 11 月的第二个星期四]
|
||||||
E[每年一次发布一次主要版本]
|
E[每年一次发布一次主要版本]
|
||||||
G[计划在 2023 年第三季度发布 16 版本]
|
G[计划在 2023 年第三季度发布 16 版本]
|
||||||
H[主要版本提供 5 年技术支持]
|
H[主要版本提供 5 年技术支持]
|
||||||
|
|
||||||
```
|
```
|
||||||
|
|
||||||
## 文化
|
## 文化
|
||||||
|
@ -1,8 +1,8 @@
|
|||||||
{
|
{
|
||||||
"label": "基础理论",
|
"label": "基础",
|
||||||
"position": 1,
|
"position": 1,
|
||||||
"link": {
|
"link": {
|
||||||
"type": "generated-index",
|
"type": "generated-index",
|
||||||
"title": "基础理论"
|
"title": "基础"
|
||||||
}
|
}
|
||||||
}
|
}
|
Loading…
Reference in New Issue
Block a user