文档 v3.7.0 版本已不再积极维护,你当前浏览的是一份归档快照。 最新文档请参阅 最新版本。
内核
Pigsty 支持各种 PostgreSQL 内核和兼容分支, 使您能够模拟不同的数据库系统,同时利用 PostgreSQL 的生态系统。 每个内核都能提供独特的功能和兼容性层。
数据库内核
带有 437 个扩展插件的原生 PostgreSQL 内核
PG 原生分布式扩展
SQL Server 线缆协议兼容
Oracle 语法和 PL/SQL 兼容
MySQL 线缆协议兼容
透明加密内核
OLTP 优化的云原生存储引擎
类 Aurora RAC 风味的信创内核
后端即服务,自托管 Firebase
MongoDB 线缆协议兼容的内核
选择合适的内核
| 内核 | 关键特性 | 描述 |
|---|---|---|
| PostgreSQL | 原始版本 | 原版 PostgreSQL 配备 437 扩展 |
| Citus | 水平扩展 | 通过原生扩展实现分布式 PostgreSQL |
| WiltonDB | SQL Server 迁移 | SQL Server 线协议兼容 |
| IvorySQL | Oracle 迁移 | Oracle 语法和 PL/SQL 兼容 |
| OpenHalo | MySQL 迁移 | MySQL 线协议兼容 |
| Percona | 透明数据加密 | 带有 pg_tde 的 Percona 发行版 |
| FerretDB | MongoDB 迁移 | MongoDB 线协议兼容 |
| OrioleDB | OLTP 优化 | Zheap,无膨胀,S3 存储 |
| PolarDB | Aurora 风格 RAC | RAC,中国国产合规 |
| Supabase | 后端即服务 | 基于 PostgreSQL 的 BaaS,Firebase 替代方案 |
| Cloudberry | MPP 数厂与数据分析 | 大规模并行处理数据仓库(等待2.0GA) |
Citus(分布式)
Citus 原生分布式
Citus 将 PostgreSQL 转换为分布式数据库系统,实现跨多个节点的水平扩展。使用 Pigsty 部署原生 HA Citus 集群以获得更好的吞吐量和性能。
关键特性
- 分布式表:自动将表分片到工作节点
- 分布式查询:在整个集群中执行查询
- 高可用性:内置复制和故障转移功能
- 实时分析:处理事务和分析工作负载
- Postgres 兼容性:保持完整的 PostgreSQL 功能兼容性
用例
- 需要水平扩展的多租户 SaaS 应用程序
- 大型数据集的实时分析
- 高吞吐量 OLTP 工作负载
- 需要扩展超出单节点限制的应用程序
需要规划:正确的分片键选择对于最佳性能和避免跨分片查询至关重要。
Babelfish(MSSQL)
Babelfish SQL Server 线缆协议兼容
使用 WiltonDB 和 Babelfish 创建 SQL Server 兼容的 PostgreSQL 集群,提供与 Microsoft SQL Server 的线协议级别兼容性。
关键特性
- T-SQL 支持:原生执行 T-SQL 查询
- 线协议兼容性:使用 SQL Server 驱动程序和工具连接
- 存储过程:支持 T-SQL 存储过程和函数
- 数据类型:与 SQL Server 数据类型和行为兼容
- 迁移工具:简化从 SQL Server 环境的迁移
用例
- 将传统 SQL Server 应用程序迁移到 PostgreSQL
- 需要 SQL Server 兼容性的多数据库环境
- 在保持应用程序兼容性的同时降低成本
- 从 SQL Server 到开源替代方案的云迁移
迁移路径:非常适合希望降低许可成本同时保持现有 SQL Server 应用程序兼容性的组织。
IvorySQL(Oracle)
Babelfish Oracle Grammar Compatible
使用 IvorySQL 内核运行 Oracle 兼容的 PostgreSQL 集群,由瀚高开源,提供 Oracle 语法和功能兼容性。
关键特性
- PL/SQL 支持:以最少的修改执行 PL/SQL 代码
- Oracle 语法:支持 Oracle 特定的 SQL 语法和函数
- 包支持:Oracle 风格的包和过程定义
- 数据类型:Oracle 兼容的数据类型和行为
用例
- Oracle 数据库迁移项目
- 寻求 Oracle 功能兼容性的组织
- 在保持 Oracle 功能的同时进行成本优化
- 需要 Oracle 兼容性的开发环境
企业焦点:对于在 Oracle 上有重大投资并寻求迁移路径的企业特别有价值。
OpenHalo(MySQL)
OpenHalo MySQL Wire-Compatible
OpenHalo 内核提供 MySQL 兼容的 PostgreSQL 功能,可使用标准 MySQL 客户端和协议访问。
关键特性
- MySQL 协议:与 MySQL 协议的线级别兼容性
- 客户端兼容性:使用现有的 MySQL 驱动程序和工具
- SQL 方言:支持 MySQL 特定的 SQL 语法
- 迁移支持:简化从 MySQL 环境的迁移
- 生态系统集成:在保持 MySQL 兼容性的同时利用 PostgreSQL 的高级功能
用例
- MySQL 应用程序迁移到 PostgreSQL
- 需要 MySQL 兼容性的多数据库环境
- 在保持 MySQL 接口的同时利用 PostgreSQL 功能
- 从 MySQL 到 PostgreSQL 的渐进式迁移策略
早期阶段:目前处于实验阶段 - 在生产使用前请彻底评估。
OrioleDB(OLTP)
OrioleDB OLTP Optimized Cloud Native
为 OLTP 工作负载优化的 PostgreSQL 存储引擎,消除事务 ID 回绕问题和表膨胀,同时支持云存储。
与 PostgreSQL 17 兼容,在所有支持的平台上可用。
关键特性
- 无 XID 回绕:消除事务 ID 回绕维护
- 无表膨胀:高级存储管理防止表膨胀
- 云存储:对 S3 兼容对象存储的原生支持
- OLTP 优化:专为事务工作负载设计
- 改进性能:更好的空间利用率和查询性能
用例
- 高频事务应用程序
- 需要对象存储的云原生部署
- 受 PostgreSQL 维护开销影响的应用程序
- 需要无需清理周期的一致性能的系统
早期阶段:目前处于 Beta 阶段 - 在生产使用前请彻底评估。
PolarDB PG(RAC)
PolarDB Aurora Flavor RAC
用 PolarDB PG 替换原版 PostgreSQL,这是一个开源的类 Aurora 解决方案,类似于具有共享存储架构的 Oracle RAC。
关键特性
- 共享存储:多个计算节点共享同一存储层
- 读取扩展:无需存储复制即可添加读副本
- 快速恢复:通过共享存储架构快速恢复
- 成本效率:通过共享降低存储成本
- 高可用性:内置故障转移和灾难恢复
用例
- 需要极端读取可扩展性的应用程序
- 需要高可用性的成本敏感部署
- 具有共享存储基础设施的云环境
- 具有可变读写模式的工作负载
云架构:专为具有分离计算和存储的云环境设计。
Supabase(Firebase)
Supabase Backend as a Service
使用现有托管的 HA PostgreSQL 集群自托管 Supabase,使用 docker-compose 启动无状态组件以获得完整的 Firebase 替代方案。
关键特性
- 实时 API:自动生成的 REST 和 GraphQL API
- 实时订阅:基于 WebSocket 的实时数据同步
- 身份验证:内置用户身份验证和授权
- 存储:具有 CDN 功能的文件存储
- 边缘函数:用于自定义逻辑的无服务器函数
用例
- 使用后端即服务进行快速应用程序开发
- AI / Agent / SaaS 应用快速原型设计
- 需要即时数据同步的实时应用程序
- 需要身份验证和存储的移动和 Web 应用程序
全栈:提供以 PostgreSQL 为基础的完整后端解决方案。
Greenplum(MPP)
Cloudberry MPP Data Warehouse
使用 Pigsty 部署和监控 Greenplum/YMatrix MPP 集群,用于大规模分析处理和数据仓库。
关键特性
- 大规模并行处理:在多个节点间分布查询
- 列式存储:为分析工作负载优化的存储
- 高级分析:内置机器学习和统计函数
- PB 级扩展:通过线性可扩展性处理大规模数据集
- 标准 SQL:与 PostgreSQL 兼容的完整 SQL 合规性
用例
- 数据仓库和商业智能
- 大规模分析和报告
- 大数据集上的机器学习
- 企业数据平台的 ETL 处理
企业分析:专为需要大规模并行处理能力的企业级分析工作负载而设计。
带有 437 扩展的原版 PostgreSQL 内核
PostgreSQL 分片的原生分布式扩展
PostgreSQL 上的 MS SQL Server 线协议兼容性
具有 Oracle(语法)兼容性的 PostgreSQL 分支
支持 TDE 的 Percona Postgres 发行版
PolarDB for PostgreSQL,带有 aurora 风格的 RAC
PostgreSQL 的下一代 OLTP 引擎
MySQL 兼容的 Postgres 14 分支
Cloudberry 和 Greenplum,MPP 数据仓库
在您的 Postgres 上自托管 BaaS —— Supabase
MongoDB 线协议兼容的 PostgreSQL 方案