StackGres 数据库平台工程简介

Enterprise Postgres made easy. On Kubernetes

StackGres 是 Kubernetes 的全栈 PostgreSQL 发行版,打包成一个简单的部署单元。
使用精心选择和调优的 PostgreSQL 组件。

一个企业级的 PostgreSQL 栈需要几个其他的生态系统组件和重要的调整。
不仅仅是 PostgreSQL。它需要连接池、自动故障转移和 HA、监控、备份和 DR、集中式日志记录……我们已经构建了它们:一个 Postgres 堆栈。

Postgres 不仅仅是数据库。还有围绕它的整个生态系统。如果 Postgres 是 Linux 内核,我们需要一个围绕 PostgreSQL 的 PostgreSQL 发行版,用生产部署所需的组件来补充它。这就是我们所说的 PostgreSQL 栈。这堆东西需要整理。通常有几个软件实现相同的功能。并不是所有的都具有相同的品质或成熟度。有许多优点和缺点,它们往往不容易评估。最好有一个自定义的组件选择,这些组件可以打包和配置为以可预测和可信的方式一起工作。

StackGres Operator

Operator 是一种打包、部署和管理 Kubernetes 应用程序的方法。一些应用程序,比如数据库,需要更多的手工操作,而云原生 Postgres 需要 operator 提供额外的知识,了解如何维护状态和集成所有组件。StackGres operator 允许使用用户创建的一些自定义资源来部署 StackGres 集群。

StackGres Stack

目前,StackGres 的堆栈由以下组件组成:

  • PostgreSQL: 世界上最先进的开源关系数据库
  • Patroni: 依赖 kubernetes 分布式共识存储的 HA 解决方案
  • WAL-G: WAL-G 是 Postgres 的档案恢复工具
  • PgBouncer: PostgreSQL 的轻量级连接池
  • PostgreSQL Server Exporter:用于 PostgreSQL 服务器指标的 Prometheus 导出器。
  • Envoy: 开源边缘和服务代理,专为云原生应用而设计