PIGSTY

内核

您可以在 Pigsty 中使用特殊风味的 PostgreSQL 内核分支替代原生内核。

Pigsty 支持各种 PostgreSQL 内核和兼容分支, 使您能够模拟不同的数据库系统,同时利用 PostgreSQL 的生态系统。 每个内核都能提供独特的功能和兼容性层。

数据库内核


选择合适的内核

内核关键特性描述
PostgreSQL原始版本原版 PostgreSQL 配备 437 扩展
Citus水平扩展通过原生扩展实现分布式 PostgreSQL
WiltonDBSQL Server 迁移SQL Server 线协议兼容
IvorySQLOracle 迁移Oracle 语法和 PL/SQL 兼容
OpenHaloMySQL 迁移MySQL 线协议兼容
Percona透明数据加密带有 pg_tde 的 Percona 发行版
FerretDBMongoDB 迁移MongoDB 线协议兼容
OrioleDBOLTP 优化Zheap,无膨胀,S3 存储
PolarDBAurora 风格 RACRAC,中国国产合规
Supabase后端即服务基于 PostgreSQL 的 BaaS,Firebase 替代方案
CloudberryMPP 数厂与数据分析大规模并行处理数据仓库(等待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 处理

企业分析:专为需要大规模并行处理能力的企业级分析工作负载而设计。