这是本节的多页打印视图。 点击此处打印.

返回本页常规视图.

同类对比

本文列出了与 Pigsty 生态位有重叠的产品与项目,并比较其在特性上的差异。

与 RDS 对比

Pigsty 是使用 Apache-2.0 开源的本地优先 RDS 替代,可以部署在您自己的物理机/虚拟机上,也可以部署在云服务器上。

因此,我们选择了全球份额第一的亚马逊云 AWS RDS for PostgreSQL,以及中国市场份额第一的阿里云 RDS for PostgreSQL 作为参照对象。

阿里云 RDS 与 AWS RDS 均为闭源云数据库服务,通过租赁模式,仅在公有云上对外提供,以下对比基于最新的 PostgreSQL 16 主干版本进行,对比截止日期为 2024 年 2 月份。


功能特性

指标PigstyAliyun RDSAWS RDS
大版本支持13 - 1813 - 1813 - 18
只读从库 支持任意数量只读从库 备实例不对用户开放 备实例不对用户开放
读写分离 支持端口区分读写流量 独立收费组件 独立收费组件
快慢分离 支持离线 ETL 实例 未见相关特性 未见相关特性
异地灾备 支持备份集群 支持多可用区部署 支持多可用区部署
延迟从库 支持延迟实例 未见相关特性 未见相关特性
负载均衡 HAProxy / LVS 独立收费组件 独立收费组件
连接池 Pgbouncer 独立收费组件:RDS 独立收费组件:RDS Proxy
高可用 Patroni / etcd 需高可用版提供支持 需高可用版提供支持
时间点恢复 pgBackRest / MinIO 提供备份支持 提供备份支持
指标监控 Prometheus / Exporter 免费基础版/收费进阶版 免费基础版/收费进阶版
日志采集 Loki / Promtail 基础支持 基础支持
可视化系统 Grafana / Echarts 提供基本监控 提供基本监控
告警聚合通知 AlterManager 基础支持 基础支持

重要扩展

这里列出了一些重要扩展,对比基于最新的 PostgreSQL 16 主干版本进行,截止至 2024-02-28

扩展名称Pigsty RDS / PGDG 官方仓库阿里云 RDSAWS RDS
加装扩展 自由加装 不允许 不允许
地理空间 PostGIS 3.4.2 PostGIS 3.3.4 / Ganos 6.1 PostGIS 3.4.1
雷达点云 PG PointCloud 1.2.5 Ganos PointCloud 6.1
向量嵌入 PGVector 0.6.1 / Svector 0.5.6 pase 0.0.1 PGVector 0.6
机器学习 PostgresML 2.8.1
时序扩展 TimescaleDB 2.14.2
水平分布式 Citus 12.1
列存扩展 Hydra 1.1.1
全文检索 pg_bm25 0.5.6
图数据库 Apache AGE 1.5.0
GraphQL PG GraphQL 1.5.0
OLAP pg_analytics 0.5.6
消息队列 pgq 3.5.0
DuckDB duckdb_fdw 1.1
模糊分词 zhparser 1.1 / pg_bigm 1.2 zhparser 1.0 / pg_jieba pg_bigm 1.2
CDC抽取 wal2json 2.5.3 wal2json 2.5
膨胀治理 pg_repack 1.5.0 pg_repack 1.4.8 pg_repack 1.5.0
AWS RDS PG 可用扩展

AWS RDS for PostgreSQL 16 可用扩展(已刨除PG自带扩展)

namepg16pg15pg14pg13pg12pg11pg10
amcheck1.31.31.31.21.2yes1
auto_explainyesyesyesyesyesyesyes
autoinc1111nullnullnull
bloom1111111
bool_plperl1111nullnullnull
btree_gin1.31.31.31.31.31.31.2
btree_gist1.71.71.61.51.51.51.5
citext1.61.61.61.61.61.51.4
cube1.51.51.51.41.41.41.2
dblink1.21.21.21.21.21.21.2
dict_int1111111
dict_xsyn1111111
earthdistance1.11.11.11.11.11.11.1
fuzzystrmatch1.21.11.11.11.11.11.1
hstore1.81.81.81.71.61.51.4
hstore_plperl1111111
insert_username1111nullnullnull
intagg1.11.11.11.11.11.11.1
intarray1.51.51.51.31.21.21.2
isn1.21.21.21.21.21.21.1
jsonb_plperl11111nullnull
lo1.11.11.11.11.11.11.1
ltree1.21.21.21.21.11.11.1
moddatetime1111nullnullnull
old_snapshot111nullnullnullnull
pageinspect1.121.111.91.81.71.71.6
pg_buffercache1.41.31.31.31.31.31.3
pg_freespacemap1.21.21.21.21.21.21.2
pg_prewarm1.21.21.21.21.21.21.1
pg_stat_statements1.11.11.91.81.71.61.6
pg_trgm1.61.61.61.51.41.41.3
pg_visibility1.21.21.21.21.21.21.2
pg_walinspect1.11nullnullnullnullnull
pgcrypto1.31.31.31.31.31.31.3
pgrowlocks1.21.21.21.21.21.21.2
pgstattuple1.51.51.51.51.51.51.5
plperl1111111
plpgsql1111111
pltcl1111111
postgres_fdw1.11.11.11111
refint1111nullnullnull
seg1.41.41.41.31.31.31.1
sslinfo1.21.21.21.21.21.21.2
tablefunc1111111
tcn1111111
tsm_system_rows1111111.1
tsm_system_time1111111.1
unaccent1.11.11.11.11.11.11.1
uuid-ossp1.11.11.11.11.11.11.1
Aliyun RDS PG 可用扩展

阿里云 RDS for PostgreSQL 16 可用扩展(已刨除PG自带扩展)

namepg16pg15pg14pg13pg12pg11pg10ali_desc
bloom1111111提供一种基于布鲁姆过滤器的索引访问方法。
btree_gin1.31.31.31.31.31.31.2提供一个为多种数据类型和所有enum类型实现B树等价行为的GIN操作符类示例。
btree_gist1.71.71.61.51.51.51.5提供一个为多种数据类型和所有enum类型实现B树等价行为的GiST操作符类示例。
citext1.61.61.61.61.61.51.4提供一种大小写不敏感的字符串类型。
cube1.51.51.51.41.41.41.2提供一种数据类型来表示多维立方体。
dblink1.21.21.21.21.21.21.2跨库操作表。
dict_int1111111附加全文搜索词典模板的示例。
earthdistance1.11.11.11.11.11.11.1提供两种不同的方法来计算地球表面的大圆距离。
fuzzystrmatch1.21.11.11.11.11.11.1判断字符串之间的相似性和距离。
hstore1.81.81.81.71.61.51.4在单一PostgreSQL值中存储键值对。
intagg1.11.11.11.11.11.11.1提供一个整数聚集器和一个枚举器。
intarray1.51.51.51.31.21.21.2提供一些有用的函数和操作符来操纵不含空值的整数数组。
isn1.21.21.21.21.21.21.1按照一个硬编码的前缀列表对输入进行验证,也被用来在输出时连接号码。
ltree1.21.21.21.21.11.11.1用于表示存储在一个层次树状结构中的数据的标签。
pg_buffercache1.41.31.31.31.31.31.3提供一种方法实时检查共享缓冲区。
pg_freespacemap1.21.21.21.21.21.21.2检查空闲空间映射(FSM)。
pg_prewarm1.21.21.21.21.21.21.1提供一种方便的方法把数据载入到操作系统缓冲区或者PostgreSQL缓冲区。
pg_stat_statements1.11.11.91.81.71.61.6提供一种方法追踪服务器执行的所有SQL语句的执行统计信息。
pg_trgm1.61.61.61.51.41.41.3提供字母数字文本相似度的函数和操作符,以及支持快速搜索相似字符串的索引操作符类。
pgcrypto1.31.31.31.31.31.31.3为PostgreSQL提供了密码函数。
pgrowlocks1.21.21.21.21.21.21.2提供一个函数来显示一个指定表的行锁定信息。
pgstattuple1.51.51.51.51.51.51.5提供多种函数来获得元组层的统计信息。
plperl1111111提供perl过程语言。
plpgsql1111111提供SQL过程语言。
pltcl1111111提供tcl过程语言。
postgres_fdw1.11.11.11111跨库操作表。
sslinfo1.21.21.21.21.21.21.2提供当前客户端提供的 SSL 证书的有关信息。
tablefunc1111111包括多个返回表的函数。
tsm_system_rows1111111提供表采样方法SYSTEM_ROWS。
tsm_system_time1111111提供了表采样方法SYSTEM_TIME。
unaccent1.11.11.11.11.11.11.1文本搜索字典,它能从词位中移除重音(附加符号)。
uuid-ossp1.11.11.11.11.11.11.1提供函数使用几种标准算法之一产生通用唯一标识符(UUID)。
xml21.11.11.11.11.11.11.1提供XPath查询和XSLT功能。

性能对比

指标PigstyAliyun RDSAWS RDS
最佳性能PGTPC on NVME SSD 评测 sysbench oltp_rwRDS PG 性能白皮书 sysbench oltp 场景 每核 QPS 4000 ~ 8000
存储规格:最高档容量32TB / NVME SSD32 TB / ESSD PL364 TB / io2 EBS Block Express
存储规格:最高档IOPS4K随机读:最大3M,随机写 2000~350K4K随机读:最大 1M16K随机IOPS: 256K
存储规格:最高档延迟4K随机读:75µs,随机写 15µs4K随机读:200µs500µs / 推断为16K随机IO
存储规格:最高档可靠性UBER < 1e-18,折合18个9 MTBF: 200万小时 5DWPD,持续三年可靠性 9个9, 合 UBER 1e-9 存储与数据可靠性持久性:99.999%,5个9 (0.001% 年故障率) io2 说明
存储规格:最高档成本31.5 ¥/TB·月 ( 5年质保均摊 / 3.2T / 企业级 / MLC )3200¥/TB·月 (原价 6400¥,包月4000¥) 3年预付整体打5折才有此价格1900 ¥/TB·月 使用最大规格 65536GB / 256K IOPS 最大优惠

可观测性

Pigsty 提供了近 3000 类监控指标,提供了 50+ 监控面板,覆盖了数据库监控、主机监控、连接池监控、负载均衡监控等方方面面,为用户提供无与伦比的可观测性体验。

Pigsty 提供了 638 与 PostgreSQL 有关的监控指标,而 AWS RDS 只有 99 个,阿里云 RDS 更是只有个位数指标:

此外,也有一些项目提供了监控 PostgreSQL 的能力,但都相对比较简单初级:


可维护性

指标PigstyAliyun RDSAWS RDS
系统易用性简单简单简单
配置管理配置文件 / CMDB 基于 Ansible Inventory可使用 Terraform可使用 Terraform
变更方式幂等剧本 基于 Ansible Playbook控制台点击操作控制台点击操作
参数调优自动根据节点适配 四种预置模板 OLTP, OLAP, TINY, CRIT
Infra as Code原生支持可使用 Terraform可使用 Terraform
可定制参数点Pigsty Parameters 283 个
服务与支持提供商业订阅支持兜底提供售后工单支持提供售后工单支持
无互联网部署可离线安装部署N/AN/A
数据库迁移提供从现有v10+ PG实例基于逻辑复制不停机迁移至Pigsty托管实例的剧本提供上云辅助迁移 Aliyun RDS 数据同步

成本

经验上看,软硬件资源的部分 RDS 单位成本是自建的 5 ~ 15 倍,租售比通常在一个月。详情请参考 成本分析

要素指标PigstyAliyun RDSAWS RDS
成本软件授权/服务费用免费,硬件约 20 - 40 ¥/核·月200 ~ 400 ¥/核·月400 ~ 1300 ¥/核·月
服务支持费用服务约 100 ¥/ 核·月包含在 RDS 成本中

其他本地数据库管控软件

一些提供管理 PostgreSQL 能力的软件与供应商


其他 Kubernetes Operator

Pigsty 拒绝在生产环境中使用 Kubernetes 管理数据库,因此与这些方案在生态位上存在差异。

  • PGO
  • StackGres
  • CloudNativePG
  • TemboOperator
  • PostgresOperator
  • PerconaOperator
  • Kubegres
  • KubeDB
  • KubeBlocks

更多信息请参阅:

1 - 成本对比

本文提供了一组成本数据,供您评估 Pigsty 自建,使用云数据库 RDS 所需的成本,以及常规的 DBA 薪酬参考。

总体概览

EC2核·月RDS核·月
DHH 自建核月价格(192C 384G)25.32初级开源数据库DBA参考工资15K/人·月
IDC自建机房(独占物理机: 64C384G)19.53中级开源数据库DBA参考工资30K/人·月
IDC自建机房(容器,超卖500%)7高级开源数据库DBA参考工资60K/人·月
UCloud 弹性虚拟机(8C16G,有超卖)25ORACLE 数据库授权10000
阿里云 弹性服务器 2x内存(独占无超卖)107阿里云 RDS PG 2x内存(独占)260
阿里云 弹性服务器 4x内存(独占无超卖)138阿里云 RDS PG 4x内存(独占)320
阿里云 弹性服务器 8x内存(独占无超卖)180阿里云 RDS PG 8x内存(独占)410
AWS C5D.METAL 96C 200G (按月无预付)100AWS RDS PostgreSQL db.T2 (2x)440
AWS C5D.METAL 96C 200G (预付三年)80AWS RDS PostgreSQL db.M5 (4x)611
AWS C7A.METAL 192C 384G (预付三年)104.8AWS RDS PostgreSQL db.R6G (8x)786

RDS成本参考

付费模式价格折合每年(万¥)
IDC自建(单物理机)¥7.5w / 5年1.5
IDC自建(2~3台组HA)¥15w / 5年3.0 ~ 4.5
阿里云 RDS 按需¥87.36/时76.5
阿里云 RDS 月付(基准)¥4.2w / 月50
阿里云 RDS 年付(85折)¥425095 / 年42.5
阿里云 RDS 3年付(5折)¥750168 / 3年25
AWS 按需$25,817 / 月217
AWS 1年不预付$22,827 / 月191.7
AWS 3年全预付12w$ + 17.5k$/月175
AWS 中国/宁夏按需¥197,489 / 月237
AWS 中国/宁夏1年不预付¥143,176 / 月171
AWS 中国/宁夏3年全预付¥647k + 116k/月160.6

我们可以对比一下自建与云数据库的成本差异:

方式折合每年(万元)
IDC托管服务器 64C / 384G / 3.2TB NVME SSD 660K IOPS (2~3台)3.0 ~ 4.5
阿里云 RDS PG 高可用版 pg.x4m.8xlarge.2c, 64C / 256GB / 3.2TB ESSD PL325 ~ 50
AWS RDS PG 高可用版 db.m5.16xlarge, 64C / 256GB / 3.2TB io1 x 80k IOPS160 ~ 217

ECS 成本参考

排除 NVMe SSD / ESSD PL3 后的纯算力价格对比

以阿里云为例,纯算力包月模式的价格是自建基准的 5 ~ 7 倍,预付五年的价格是自建的 2 倍

付费模式单价(¥/核·月)相对于标准价格自建溢价倍率
按量付费(1.5倍)¥ 202160 %9.2 ~ 11.2
包月(标准价格)¥ 126100 %5.7 ~ 7.0
预付一年(65折)¥ 83.766 %3.8 ~ 4.7
预付二年(55折)¥ 70.656 %3.2 ~ 3.9
预付三年(44折)¥ 55.144 %2.5 ~ 3.1
预付四年(35折)¥ 4535 %2.0 ~ 2.5
预付五年(30折)¥ 38.530 %1.8 ~ 2.1
DHH @ 2023¥ 22.0
探探 IDC 自建¥ 18.0

含 NVMe SSD / ESSD PL3 情况下的等效价格对比

包含常用规格后的 NVMe SSD 规格之后,纯算力包月模式的价格是自建基准的 11 ~ 14 倍,预付五年的价格是自建的 9 倍左右。

付费模式单价(¥/核·月)+ 40GB ESSD PL3自建溢价比例
按量付费(1.5倍)¥ 202¥ 36214.3 ~ 18.6
包月(标准价格)¥ 126¥ 28611.3 ~ 14.7
预付一年(65折)¥ 83.7¥ 2449.6 ~ 12.5
预付二年(55折)¥ 70.6¥ 2309.1 ~ 11.8
预付三年(44折)¥ 55.1¥ 2158.5 ~ 11.0
预付四年(35折)¥ 45¥ 2058.1 ~ 10.5
预付五年(30折)¥ 38.5¥ 1997.9 ~ 10.2
DHH @ 2023¥ 25.3
探探 IDC 自建¥ 19.5

DHH案例:192核配12.8TB Gen4 SSD (1c:66);探探案例: 64核配3.2T Gen3 MLC SSD (1c:50)。

云上价格每核配比40GB ESSD PL3(1核:4x内存:40x磁盘)计算。


EBS成本参考

评估因素本地 PCI-E NVME SSDAliyun ESSD PL3AWS io2 Block Express
容量32TB32 TB64 TB
IOPS4K随机读:600K ~ 1.1M 4K随机写 200K ~ 350K4K随机读:最大 1M16K随机IOPS: 256K
延迟4K随机读:75µs 4K随机写:15µs4K 随机读: 200µs随机IO:500µs 上下文推断为16K
可靠性UBER < 1e-18,折合18个9 MTBF: 200万小时 5DWPD,持续三年数据可靠性 9个9 存储与数据可靠性持久性:99.999%,5个9 (0.001% 年故障率) io2 说明
成本**16 ¥/TB·** ( 5年均摊 / 3.2T MLC ) 5 年质保,¥3000 零售**3200¥/TB·** (原价 6400¥,包月4000¥) 3年预付整体打5折才有此价格**1900 ¥/TB·** 使用最大规格 65536GB 256K IOPS 最优惠状态
SLA5年质保 出问题直接换新Aliyun RDS SLA 可用性 99.99%: 月费 15% 99%: 月费 30% 95%: 月费 100%Amazon RDS SLA 可用性 99.95%: 月费 15% 99%: 月费 25% 95%: 月费 100%

S3成本参考

Date$/GB·月¥/TB·5年HDD ¥/TBSSD ¥/TB
2006.030.150630002800
2010.110.140588001680
2012.120.0953990042015400
2014.040.030126003719051
2016.120.02396602453766
2023.120.0239660105280
其他参考价高性能存储顶配底折价与采购NVMe SSD价格参考
S3 Express0.16067200DHH 12T1400
EBS io20.125 + IOPS114000Shannon 3.2T900

下云合集

曾几何时,“上云“近乎成为技术圈的政治正确,整整一代应用开发者的视野被云遮蔽。就让我们用实打实的数据分析与亲身经历,讲清楚公有云租赁模式的价值与陷阱 —— 在这个降本增效的时代中,供您借鉴与参考 —— 请看 《云计算泥石流:合订本

云基础资源篇


云商业模式篇


下云奥德赛篇


云故障复盘篇


RDS翻车篇


云厂商画像篇