# 历史沿革

> Pigsty 项目的由来与动机，过去发展的历史，未来的目标与愿景。
---

-------------------

## 历史起源

Pigsty 项目始于 2018 ～ 2019 年，起源于 [探探](https://tantanapp.com/en)。
探探是一个互联网交友 App —— 中国的 Tinder，现已被陌陌收购。
探探这家公司是一个北欧 Style 的创业公司，有着一个瑞典工程师初创团队。

探探在技术上极有品味，使用 PostgreSQL 与 Go 作为核心技术栈。
探探整个系统架构参照了 Instagram ，一切围绕 PostgreSQL 数据库设计。
直到几百万日活，几百万 TPS，几百 TB 数据的量级下，数据组件 [**只用了 PostgreSQL**](https://pigsty.cc/blog/pg/just-use-pg)。
几乎所有的业务逻辑都使用 PG 存储过程实现 —— 甚至包括 100ms 的推荐算法！

探探这种深度使用 PostgreSQL 特性的非典型研发模式，对工程师与DBA的水平提出了极高的要求。
而 Pigsty ，就是我们用这种真实世界的大规模，高标准数据库集群场景打磨出的开源项目 —— 沉淀着我们作为顶尖 PostgreSQL 专家的经验与最佳实践。



-------------------

## 发展过程

在最开始，Pigsty 并没有现在这样的愿景、目标与版图。而是旨在提供一个供我们自己使用的 PostgreSQL 监控系统。
我们调研了市面上所有的方案，开源的、商业的、云的，datadog, pgwatch，…… ，没有一个能满足我们对于可观测性的需求。
因此我们决定亲自动手，基于 Grafana 与 Prometheus 自己动手打造一个，这就是 Pigsty 的前身与雏形。Pigsty 作为监控系统的效果相当惊艳，帮助我们解决了无数管理问题。

随后，研发人员希望在本地的开发机上也有这样的监控系统，于是我们使用 Ansible 编写了置备剧本，将这套系统从一次性建设转变为了可重复使用的软件。
新的功能允许用户使用  Vagrant 和 Terraform，用 Infra as Code 的方式快速拉起本地 DevBox 开发机，或生产环境服务器，并自动完成 PostgreSQL 与监控系统的部署。

接下来，我们重新设计了生产环境的 PostgreSQL 架构，引入了 Patroni 与 pgBackRest 解决了数据库的 [**高可用**](/zh/docs/concept/ha) 与 [**时间点恢复**](/zh/docs/concept/pitr) 问题。开发了基于逻辑复制的不停机 [**迁移**](/zh/docs/pgsql/migration) 方案，通过蓝绿部署将生产环境两百套数据库集群滚动升级至最新大版本。并将这些能力引入 Pigsty 中。

Pigsty 是我们做给自己使用的软件，我们自己作为甲方用户，非常清楚自己需要什么，也不会在自己的需求上偷懒。
“Eat dog food”最大的好处就是，我们自己既是开发者也更是用户 —— 因此非常了解自己需要什么，也不会在自己的需求上偷懒。

我们解决了一个又一个的问题，并将解决方案沉淀到 Pigsty 里。Pigsty 的定位，也从一个监控系统，逐渐发展成为一个开箱即用的 PostgreSQL 数据库发行版。
因此在这一阶段，我们决定将 Pigsty 对外开源，并开始了一系列的技术分享与宣传,也开始有各行各业的外部用户使用起 Pigsty 并提出反馈意见。




-------------------

## 全职创业

在 2022 年，Pigsty 项目获得了由陆奇博士发起的奇绩创坛的种子轮投资，我得以全职出来做这件事情。

作为一个开源项目，Pigsty 的发展相当不赖，在全职创业这两年里，Pigsty 在 Github 上的 Star 数从的 几百翻了几番到了 2400；上了 HN 头条推荐，增长开始滚起雪球；
在 [**OSSRank**](https://ossrank.com/cat/368-postgresql-extension?page=2) 开源榜单 中，Pigsty 在 PostgreSQL 生态项目中排名第 37 名，在中国人主导的项目里是最靠前的。

从前 Pigsty 只能跑在 CentOS7 上，现今已经基本覆盖了所有主流 Linux 发行版。支持的 PG 大版本覆盖 12 - 16，收录整合了 PG 生态中的 255 个扩展插件。
其中一些官方仓库中没有的扩展，也是我自己编译打包测试维护的。算上 Pigsty 本身，“基于开源，回馈开源”，也算是为 PG 生态做一些贡献。

Pigsty 的定位，也在不断发展的过程中，从一个 PostgreSQL 数据库发行版，进一步扩展到了 **开源云数据库替代**。它真正对标的是云厂商的整个云数据库品牌。



-------------------

## 公有云的反叛者

AWS、Azure、GCP、Aliyun 等公有云厂商为初创企业提供了许多便利，但它们是闭源的，并迫使用户以高额费用租赁基础资源。

我们认为，优秀的数据库服务，应该和优秀的数据库内核一样，普及到每一个用户手中，而不是必须花费高昂的代价去向赛博领主租赁。

云计算的敏捷与弹性都很好，但它应该是自由、开源、普惠、本地优先的 —— 我们认为云计算宇宙中需要一个代表开源价值观的解决方案，在不牺牲云带来好处的前提下，将基础设施的控制权交还给用户。

因此，我们也在引领着一场下云的运动与战役，作为公有云的反叛者，来重塑这个行业的价值观。




---------------

## 我们的愿景

我希望，未来的世界人人都有自由使用优秀服务的事实权利，而不是只能被圈养在几个公有云厂商提供的猪圈（Pigsty）里坐井观天。

这正是 Pigsty要做的事 —— **一个更好的，开源免费的RDS替代**。让用户能够在任何地方（包括云服务器）上，一键拉起有比云RDS更好的数据库服务。

Pigsty 是是对 PostgreSQL 的彻底补完，**更是对云数据库的辛辣嘲讽**。它本意是“猪圈”，但更是 Postgres In Great STYle 的缩写，即“**全盛状态下的 PostgreSQL**”。

Pigsty 本身是一款完全开源免费的软件，我们纯粹靠提供 [**咨询与服务**](/zh/docs/about/service) 来维持运营
建设良好的系统也许跑个几年都不会遇到需要 ”兜底“ 的问题，但数据库的问题一但出现就不是小问题。很多时候，专家的经验更是能够一言化腐朽为神奇，而我们为有需求的客户提供这样的服务 —— 我们认为这是一种更加公正、合理的模式。



---------------

## 关于团队

我是冯若航，Pigsty 的作者，Pigsty 绝大部分的代码由我 [一人开发](https://github.com/Vonng/pigsty/pulse)，个别特性由社区贡献。

软件领域依然存在个人英雄主义，独一无二的个体才能够创造出独一无二的作品来 —— 我希望 Pigsty 能够成为这样的作品。

如果您对我感兴趣，这里是我的个人主页：[https://vonng.com/](https://vonng.com/en/)

《[墨天轮风云人物访谈录 —— 冯若航](https://vonng.com/cn/blog/life/modb-interview-vonng/)》

《[90后，辞职创业，说要卷死云数据库](https://vonng.com/cn/blog/life/entrepreneur-vs-rds/)》

<br><br>
