特性

自动驾驶高可用 / / 简单易用门槛低 / / 应用广泛生态全 /

RedHat for Linux! 开箱即用! 从无到有,让用户用得上

Pigsty将高可用集群部署,扩容缩容,主从复制,故障切换,流量代理,连接池,服务发现,访问控制,监控系统,告警系统,日志采集等生产级成熟解决方案封装为发行版。一次性解决在生产环境与各类场景下使用 世界上最先进的开源关系型数据库 —— 时会遇到的各种问题,真正做到开箱即用。

  • Pigsty深度整合最新 PostgreSQL 内核 (14) 与强力扩展:时序数据 2.6,地理空间 PostGIS 3.2,分布式 10,及上百+海量扩展插件,全部开箱即用。

  • Pigsty打包了大规模生产环境所需的基础设施:Grafana,,Loki,,Consul,等, 亦可作为部署监控其他数据库与应用的运行时/PaaS。

  • Pigsty集成了数据分析生态的常用工具:Jupyter,,Grafana,,Postgres,可作为环境,或低代码数据可视化应用开发平台。

特性 - 图2

智能监控管控运维解决方案

Auto-Pilot for Postgres! 自动驾驶! 从有到优,让用户用的爽

  • Pigsty带有一个无可比拟的数据库监控系统,通过30+精心设计组织的监控面板呈现超1200类指标,从全局概览到单个库内对象一览无余,提供终极的可观测性!

  • Pigsty提供的 PostgreSQL 数据库集群,任意成员存活即可正常对外提供服务;各实例幂等,提供类分布式数据库的体验;故障自愈,极大简化运维工作!

  • Pigsty支持部署不同种类的数据库集群与实例:经典 PGSQL /Replica//Offline / /延迟集群,/Greenplum集群主从//原生集群

数据库即代码开发者工具箱

HashiCorp for Database! 简单易用!从优到易,让用户省心

  • Pigsty秉持 的设计理念,用户只需用几行声明式的配置文件描述自己想要的数据库,即可使用幂等,一键将其创建。Just like Kubernetes!

  • Pigsty向开发者交付简单易用的数据库工具箱:一键下载,自动配置;一键部署各类开源数据库,一键迁移备份、扩容缩容,极大拉低数据库管理使用门槛,量产DBA!

  • Pigsty能够简化数据库部署与交付、解决环境配置统一的难题:无论是上千套数据库几万核的生产环境,还是本地1C1G的笔记本均可完整运行;基于Vagrant的与基于Terraform的多云部署,云上云下,一键拉起!

  • Pigsty采用模块化设计,可自由组合,按需定制扩展。可在生产环境管理各种数据库,或仅仅将其当成主机监控;可用于开发数、或支撑各类SaaS应用

  • 开源免费的生产级数据库解决方案,用于补全云原生生态缺失的最后一块拼图。稳定可靠,经过长时间大规模生产部署验证,提供可选的专业技术支持服务。

自动驾驶高可用

以PostgreSQL为例,Pigsty创建的数据库集群是分布式、的数据库集群。只要集群中有任意实例存活,集群就可以对外提供完整的与只读服务

Pigsty的高可用架构久经生产环境考验,Pigsty使用 Patroni + Consul 进行故障检测、Fencing与自动故障切换,通过HAProxy、VIP或DNS实现流量的自动切换,以极低的复杂度代价实现了完整的高可用方案,让主从架构的数据库能用出了布式数据库般的体验。

数据库集群可以自动进行故障检测与主从切换,普通故障能在几秒到几十秒内自愈:主库故障RTO < 1min,只读流量几乎无影响, RPO = 0 不丢数据。

数据库集群中的每个数据库实例在使用上都是幂等的,任意实例都可以通过内建负载均衡组件HAProxy提供完整的读写服务。任何一个或多个Haproxy实例都可以作为集群的负载均衡器,并通过健康检查进行流量分发,对外屏蔽集群成员的区别。用户可以通过配置灵活定义服务,并通过多种可选方式。

特性 - 图6

极致入微可观测

You can’t manage you don’t measure.

监控系统提供了对系统状态的度量,是运维管理工作的基石。【DEMO

Pigsty带有一个针对大规模数据库集群管理而设计的专业级监控系统,基于业内最佳实践,采用Prometheus、Alertmanager、Grafana、Loki作为监控基础设施。开源开放,定制便利,可复用,可移植,没有厂商锁定。

Pigsty在PostgreSQL监控上做到无可比拟,通过30+监控面板与上千仪表盘综合呈现约1200+类指标,覆盖从全局大盘到单个对象的详细信息,从数据库目录到节点日志全部一览无遗。与同类产品相比在指标的覆盖率与监控面板丰富程度上一骑绝尘,为专业用户提供无可替代的价值。详略得当的层次设计,为业余用户带来直观便捷的管理体验。

Pigsty的监控系统可用于监控原生部署的各类数据库实例:PGSQL,REDIS,GPSQL等,也可以,监控已有的数据库实例或远端云厂商RDS,或仅仅作为主机监控使用,它还可以用作数据可视化作品的展示平台。

HashiCorp for Database! Database as Code, Infra as Data!

Pigsty采纳 Database as Data 的设计哲学,使用类似 Kubernetes 的声明式配置,通过大量可选的配置选项对数据库与运行环境进行描述,并通过幂等的预置剧本自动创建所需的数据库集群,提供私有云般的使用体验。

用户只需要通过配置文件或图形界面描述“自己想要什么样的数据库”,而无需关心Pigsty如何去创建或修改它。Pigsty会根据用户的配置文件清单,在几分钟内从裸机节点上创造出所需的数据库集群。

例如,在三台机器上创建一主两从的数据库集群,只需要几行配置与一行命令pgsql.yml -l pg-test,即可创建出如下一节所介绍的高可用数据库集群。

特性 - 图8

使用更多参数对数据库集群进行定制

—————————————————

redis sentinel example

—————————————————

redis-meta: hosts: 10.10.10.10: redis_node: 1 redis_instances: { 6001 : {} ,6002 : {} , 6003 : {} } vars: redis_cluster: redis-meta redis_mode: sentinel

—————————————————

redis cluster example

—————————————————

redis-test: hosts: 10.10.10.11: redis_node: 1 redis_instances: { 6501 : {} ,6502 : {} ,6503 : {} ,6504 : {} ,6505 : {} ,6506 : {} } 10.10.10.12: redis_node: 2 redis_instances: { 6501 : {} ,6502 : {} ,6503 : {} ,6504 : {} ,6505 : {} ,6506 : {} } vars: redis_cluster: redis-test # name of this redis ‘cluster’ redis_mode: cluster # standalone,cluster,sentinel redis_max_memory: 64MB # max memory used by each redis instance redis_mem_policy: allkeys-lru # memory eviction policy

—————————————————

redis standalone example

—————————————————

redis-common: hosts: 10.10.10.13: redis_node: 1 redis_instances: 6501: {} 6502: { replica_of: ‘10.10.10.13 6501’ } 6503: { replica_of: ‘10.10.10.13 6501’ } vars: redis_cluster: redis-common # name of this redis ‘cluster’ redis_mode: standalone # standalone,cluster,sentinel redis_max_memory: 64MB # max memory used by each redis instance ``` Pigsty 1.4+:安装并监控一套MatrixDB集群

自由部署体验齐

无论是生产环境、预发环境、还是本地开发测试环境,对Pigsty来说,只有配置文件的内容差异。无论在哪里部署,都能带来统一的使用体验。

Pigsty可以利用Vagrant与Virtualbox,在您自己的笔记本电脑上拉起安装所需的虚拟机,或通过Terraform,自动向云服务商申请ECS/VPC资源,一键创建,一键销毁,自动获取多云部署的能力。

沙箱环境中的虚拟机具有固定的资源名称与IP地址,非常适于软件开发测试、实验演示。 沙箱配置默认为2核4GB的单节点,IP地址 10.10.10.10,部署有一个名为pg-meta-1的单机数据库实例。 此外还有四节点版本的完整版沙箱,带有额外三个数据库节点,可用于充分展现Pigsty高可用架构与监控系统的能力。

沙箱所需机器规格

系统要求

  • Linux内核,x86_64处理器架构
  • 使用 CentOS 7 / RedHat 7 / Oracle Linux 7 或其他等效操作系统发行版
  • 强烈推荐使用 CentOS 7.8.2003 x86_64 ,这是经过长时间生产环境的测试的操作系统环境

单节点基本规格

  • 最低规格:1核,1GB (容易OOM,建议内存至少2GB)
  • 推荐规格:2核,4GB (沙箱默认配置)
  • 将部署一个单机PostgreSQL实例
  • 在沙箱中,该节点的IP固定为10.10.10.10

四节点基本规格

  • 元节点要求同单节点所述
  • 部署一个额外的三节点PostgreSQL数据库集群pg-test
  • 普通数据库节点,最低规格:1核,1GB,建议使用2GB内存。
  • 三节点的IP地址固定为:, 10.10.10.12, 10.10.10.13

应用广泛生态全

一键拉起生产级SaaS应用,数据分析快速上手,低代码开发可视化大屏

SaaS软件应用

Pigsty在元节点上默认安装了Docker,您可以一键拉起各类SaaS应用:开源私有代码托管平台Gitlab,开源论坛Discourse,开源社交网络Mastodon,开源ERP软件Odoo,以及用友、金蝶等软件。 您可以使用Docker拉起无状态的部分,修改其数据库连接串使用外部数据库,获取丝滑的云原生管理体验与生产级的数据持久性。详情请参考 教程:Docker应用

数据分析与可视化应用

Pigsty既是开箱即用的PostgreSQL发行版,也可以用做数据分析环境,或制作低代码的可视化应用。您可以直接从SQL数据处理到Echarts绘图一步到位,也可以使用更精细的工作流:例如使用PG作为主数据库,存储数据并用SQL实现业务逻辑;使用内置的PostgREST自动生成后端API,使用内置的JupyterLab用Python进行复杂数据分析,并使用Echarts进行数据可视化,并通过Grafana获得交互能力。

Pigsty自带有几个应用样例作为参考:

  • 分析PG CSV日志样本
  • 新冠疫情数据可视化 covid
  • 全球地表气象站数据查询
  • 数据库流行度排行趋势 dbeng
  • 查询大厂工作上下班安排

Pigsty可将数据库的综合持有成本降低 50% ~ 80% ,并让数据真正掌控在用户自己的手中!

公有云数据库/RDS,是一种所谓”开箱即用”的解决方案,但它交出的答卷离让用户满意还有很长路要走:相比自建数据库成本昂贵,许多需要超级用户权限的功能被阉割,愚笨的UI与大锅饭式的功能,但在所有问题中,最重要的问题莫过于云软件的安全成本问题:

自主可控

  • 运行在你自己的电脑上的软件,即使软件供应商倒闭也可以继续运行下去。但如果提供云软件的公司/部门倒闭或决定停止支持,这些软件就没法工作了,而你用这些软件创造的数据就被锁死了。因为数据只存储在云端,而不是你自己服务器的磁盘上,而您能指望的补偿通常只有鸡肋的代金券。
  • 无法定制或扩展的问题在云数据库中进一步加剧。云数据库通常不向用户提供数据库超级用户,这将锁死一大批高级功能,以及自行加装扩展功能的能力。与此相对应,‘流复制’,‘高可用’这些本该是数据库标配的东西往往作为增值项向用户出售。
  • 云服务可能在没有警告和追索手段的情况下突然暂停你的账户。您可能在完全无辜的情况下,被自动化系统判定为违反服务条款:未备案使用80与53端口,账户被爆破并用于发送恶意软件或钓鱼邮件,触发违背服务条款。或因为一些政治原因被云厂商锤翻,例如Parler。

Pigsty则不然,它可以部署在任意地方,包括您自己的服务器上。它开源免费,无需License,无需互联网访问,不收集任何用户数据。您可以在自己的服务器运行它直到海枯石烂。

降本增效

云数据库的成本则是另一个问题:省钱是用户的刚需。公有云厂商的RDS相比传统商业数据库也许有优势,但在自建开源数据库前仍然是暴利天价。据统计,RDS的综合持有成本比起基于云服务器自建要高达 2~3倍,比起IDC托管自建更是高出 5~10倍

Pigsty相比使用云数据库有显著成本优势。例如,您可以使用云数据库一半的开销购买同规格的云服务器,并使用Pigsty自行部署数据库。在这种情况下,您既可以享受公有云的绝大部份管理之快捷便利(IaaS),又可以立竿见影节省一半以上的开销。

更重要的是,Pigsty能显著提高用户效能:它允许一两个高级DBA将所有琐碎杂务交由软件处理,轻松管理几百套数据库集群;也可以让一个初级研发人员,经过简单的学习培训后,即可迅速达到一个高级DBA的廉价七成正确水平。

Pigsty开源免费,在提供类似甚至超过云厂商RDS使用体验的前提下,可将数据库的综合持有成本降低 50% ~ 80% ,并让数据真正掌控在用户自己的手中!


RedHat for Linux! 开箱即用! 从无到有,让用户用得上

开源监控最佳实践!所有信息一览无余,让用户看得见

故障自愈,高枕无忧,稳定可靠,坚若磐石!让用户省事

HashiCorp for Database! 简单易用!从优到易,让用户省心

无论是几万核的生产环境,还是1核2G的本地虚拟机,云上云下,用哪个云,体验如一!

一键拉起生产级SaaS应用,数据分析快速上手,低代码开发可视化大屏

Alternative for RDS! 安全可控,降本增效!从易到廉,给用户省钱