Pigsty

开箱即用的 PostgreSQL 发行版
授权协议 Apache
开发语言 Python SHELL
所属分类 数据库相关、 数据库服务器
软件类型 开源软件
地区 国产
投 递 者 柳和怡
操作系统 跨平台
开源组织
适用人群 未知
 软件概览

Pigsty 是开箱即用的开源 PostgreSQL 发行版。带有全面专业的监控系统,稳定可靠的部署方案;提供简单省心的用户界面,与灵活开放的扩展机制。

Pigsty 可以用于大规模生产数据库的监控部署与管理;也可以在本地1核1GB的虚拟机中运行,用于学习,开发,测试与数据分析等场景。

亮点特性

  • 全面专业的监控系统,基于Grafana & Prometheus & pg_exporter
  • 稳定可靠的部署方案,基于Ansible的物理机/虚拟机部署。
  • 简单省心的安装方式与用户界面,开箱即用的沙箱环境,降低使用门槛。
  • 高可用数据库集群架构,基于Patroni实现,具有秒级故障自愈能力。
  • 基于DCS的服务发现与配置管理,维护管理自动化,智能化。
  • 无需互联网访问与代理的离线安装模式,快速且可靠。
  • 代码定义的基础设施,可配置,可定制。
  • 基于PostgreSQL 13 (14beta现已支持!)与Patroni 2.0,享受最新特性。
  • 长时间的大规模生产环境验证(200+ node x 64C|400GB|3TB)

功能介绍

监控系统

Pigsty带有一个针对大规模数据库集群管理而设计的专业级PostgreSQL监控系统。包括约1200指标,20+监控面板,上千个监控仪表盘,覆盖了从全局大盘到单个查询的详细信息。面向专业用户,提供不可替代的价值点。

Pigsty监控系统基于业内最佳实践,采用Prometheus、Grafana作为监控基础设施。开源开放,定制便利,可复用,可移植,没有厂商锁定。可与各类已有数据库实例集成。

部署方案

数据库是管理数据的软件,管控系统是管理数据库的软件。

Pigsty内置了一套以Ansible为核心的数据库管控方案。并基于此封装了命令行工具与图形界面。它集成了数据库管理中的核心功能:包括数据库集群的创建,销毁,扩缩容;用户、数据库、服务的创建等。Pigsty采纳“Infra as Code”的设计哲学使用了声明式配置,通过大量可选的配置选项对数据库与运行环境进行描述与定制,并通过幂等的预置剧本自动创建所需的数据库集群,提供近似私有云般的使用体验。

Pigsty吸纳了Kubernetes架构设计中的精髓,采用声明式的配置方式与幂等的操作剧本。用户只需要描述“自己想要什么样的数据库”,而无需关心Pigsty如何去创建它,修改它。Pigsty会根据用户的配置文件清单,在几分钟内从裸机节点上创造出所需的数据库集群。

Configuration Entries:

No Category Function
1 connect Connection parameters and proxy setting
2 repo local yum and offline installation
3 node common setup for all nodes
4 meta infrastructure on meta nodes
5 dcs dcs service (consul/etcd)
6 pg-install install postgres, extensions, users, directories, scripts, utils
7 pg-provision bootstrap postgres cluster and identity assignment
8 pg-template customize postgres cluster template
9 monitor install monitoring components
10 service expose database service

高可用

Pigsty创建的数据库集群是分布式高可用的数据库集群。Pigsty创建的数据库基于DCS、Patroni、Haproxy实现了高可用。数据库集群中的每个数据库实例在使用上都是幂等的,任意实例都可以通过内建负载均衡组件提供完整的读写服务,提供分布式数据库的使用体验。数据库集群可以自动进行故障检测与主从切换,普通故障能在几秒到几十秒内自愈,且期间只读流量不受影响。故障时。集群中只要有任意实例存活,就可以对外提供完整的服务。

Pigsty的架构方案经过审慎的设计与评估,着眼于以最小复杂度实现所需功能。该方案经过长时间,大规模的生产环境验证,已经被多个行业内的组织所使用。

用户界面

Pigsty旨在降低PostgreSQL的使用门槛,因此在易用性上做了大量工作。

Pigsty的部署分为三步:下载源码,配置环境,执行安装,均可通过一行命令完成。遵循经典的软件安装模式,并提供了配置向导。您需要准备的只是一台CentOS7.8机器及其root权限。管理新节点时,Pigsty基于Ansible通过ssh发起管理,无需安装Agent,即使是新手也可以轻松完成部署。

在管理与使用上,Pigsty提供了不同层次的用户界面,以满足不同用户的需求。新手用户可以使用一键拉起的本地沙箱与图形用户界面,而开发者则可以选择使用pigsty-cli命令行工具与配置文件的方式进行管理。经验丰富的DBA、运维与架构师则可以直接通过Ansible原语对执行的任务进行精细控制。

服务发现

Pigsty提供了可选的服务发现机制,基于DCS(Consul/Etcd)实现。监控系统将自动从服务注册中心发现所有的监控对象,而Patroni则使用DCS作为集中的配置存储。Consul提供DNS可用作客户端服务发现机制,而UI可以让您对环境中的服务一览无余。

沙箱环境

Pigsty既可以在生产环境中管理成百上千个高规格的生产节点,也可以独立运行于本地1核1GB虚拟机中,作为开箱即用的数据库实例使用。在本地计算机上使用时,Pigsty提供基于Vagrant与Virtualbox的沙箱。可以一键拉起与生产环境一致的数据库环境,用于学习,开发,测试数据分析,数据可视化等场景。

离线安装

Pigsty支持离线安装,对于没有互联网访问的环境尤为方便。Pigsty的离线安装包中带有监控系统,数据库以及所有相关的依赖。您可以通过向导自动下载,或从Github Release页面或CDN手工下载离线安装包。

数据分析

Pigsty提供了一种名为“Datalet”的扩展机制,允许用户和开发者对Pigsty进行进一步的定制,将其用到意想不到的地方,例如数据分析与可视化。Pigsty集成了Echarts,以及常用地图底图等,可以方便地实现高级可视化需求。比起Julia,Matlab,R这样的传统科学计算语言/绘图库而言,PG + Grafana + Echarts的组合允许您以极低的成本制作出可分享可交付标准化的数据应用或可视化作品。

所有Pigsty高级专题监控面板都会以Datalet的方式发布。Pigsty也自带了一些的Datalet案例:Redis监控系统,新冠疫情数据分析,七普人口数据分析,PG日志挖掘等。

  • 目录 所以,什么是开箱即用的数据库发行版? Pigsty可以帮您解决什么问题? 用得上:开箱即用的 PostgreSQL 数据库发行版 用得好:自动驾驶的开源监控管控运维解决方案 用着省心:简单易用数据库即代码开发者工具 省事省钱:降本增效的云原生数据库PaaS替代方案 接下来呢? Pigsty 特性 | Pigsty Pigsty是开箱即用的开源数据库发行版,以PostgreSQL为核心,集成自

 相关资料
  • 我以ServletContainer的身份从Tomcat切换到Jetty,并尝试使用Jetty的所有默认设置启用SPDY。以下是启用SPDY的步骤: > 我下载并解压缩Jetty 我在webapps中复制了一个。war文件和一些只针对项目的部署描述符。 (现在是棘手的部分)我通过执行以下命令来启用SPDY: java-jar start.jar--add-to-startd=spdy 我接受不受信

  • 问题内容: 我正在尝试使用HTML5功能。它可以使用IE8完成,但是当我尝试使用它时,却出现了JavaScript错误 所以我的问题是:IE8 可以直接使用吗?这是我的代码: 问题答案: 它确实支持,尽管您需要处于IE8模式(这在IE7模式下不起作用)。 要检查您是否在IE8模式下工作,请加载开发人员控制台。在顶部,确保已选择IE8模式。标准模式也不错。 您还需要确保的一件事是您正在使用HTML5

  • 我正在阅读这个教程页面:https://javaee.github.io/tutorial/security-intro006.html这解释了我应该可以通过以下网址查看主页(index.html)的SSL版本:https://localhost:8181。但是,当我将浏览器指向这个地址时,我收到一个错误,如图1所示。 我觉得第一次配置这个可能需要几个小时。有没有人有教程可以帮助我在Glassfi

  • 问题内容: 我的问题是关于具有Hibernate,@ OneToOne关系和延迟加载的JPA 2.0。 首先我的设置: Spring 3.0.5。发布 SprnigData JPA 1.0.1.RELEASE 休眠3.5.2-最终 DBMS:PostgreSQL 9.0 最近,我遇到了一个事实,即@OneToOne关系无法以惰性方式(FetchType.LAZY)来获取,至少没有字节码检测,编译时

  • 问题内容: 我的问题是关于具有Hibernate,@ OneToOne关系和延迟加载的JPA 2.0。 首先我的设置: Spring 3.0.5。发布 SprnigData JPA 1.0.1.RELEASE hibernate3.5.2-最终 DBMS:PostgreSQL 9.0 最近,我遇到了一个事实,即@OneToOne关系不能以惰性方式(FetchType.LAZY)来获取,至少没有字节

  • 我正在研究具有以下特征的VRP: 车辆一次只能接1名顾客 车辆在一个地点接顾客,在目的地放下顾客 送走顾客后,车辆继续接另一名顾客 在两次旅行之间,没有车辆需要去的仓库。 车辆在一天内尽可能多地往返接送顾客 一天结束时,车辆回到指定的停车站 本质上,它就像一个出租车系统。在我看来,这是一个多次旅行(VRPMT)和没有车厂(开放VRP)的VRP。我想知道 optaplanner 是否支持开箱即用的