PIGSTY

内核

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

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

数据库内核


选择合适的内核

内核关键特性描述
PostgreSQL原始版本原版 PostgreSQL 配备 420+ 扩展
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 处理

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