详细的PostgreSQL工具总结:备份恢复、监控、复制、高可用等

网友投稿 2312 2023-05-11

详细的***工具总结:备份恢复、监控、复制、高可用等

详细的***工具总结:备份恢复、监控、复制、高可用等

概述

今天主要介绍一些***的工具,大体上可以分为以下几类:

备份恢复工具监控工具逻辑和基于触发器的复制工具多主复制工具高可用和故障转移工具连接池工具表分区工具迁移工具

一、备份恢复工具

1. Barman

Barman (Backup and Recovery Manager-备份恢复管理器) 是一个用Python语言实现的***灾难恢复管理工具,它由第二象限公司(2ndQuadrant)开源并维护。它允许我们在关键业务环境中执行远程备份,为数据库管理员在恢复阶段提供有效的数据保证。Barman最优秀的功能包括备份元数据、增量备份、保留策略、远程回复、WAL文件归档压缩和备份。

2. EDB BART

EDB BART(Backup and Recovery Tool -备份恢复工具)是企业级***数据管理策略的关键组件。BART为大规模部署的***服务提供保留策略和基于时间点恢复的实现。BART 2.0版本提供块级别的增量备份。

3. PgBackRest

pgBackRest工具的主要目的是做一款简单可靠的备份恢复工具,以能够无缝的接入到大规模数据库和工作负载中。pgBackRest放弃了其他传统备份工具依赖tar和rsync的套路,它的备份功能都是从软件内部实现的,并采用客户端协议与远程服务器交互。移除了对tar和rsync的依赖,使它能够更好的应对针对特定数据库的备份挑战。客户端远程协议更加灵活,协议可以按照要求限制连接类型以保证备份过程更安全。

二、监控工具

1. PoWA

PoWA(*** Workload Analyzer)是***的工作负载分析工具,它收集性能数据并提供实时的图标和图片展示,以帮助我们监控和调优***服务器。它和*** AWR或者*** MDW很像。

2. PgCluu

pgCluu是一个***的性能监控和审计工具。它以视图的形式展示您从***数据库集群收集的所有统计信息。它能展示一份完成的数据库集群信息和系统使用率信息。

3. Pgwatch2

Pgwatch2是监控***数据库工具中最易用的一个。它基于Grafana并为***数据库提供开箱即用的监控功能。因为它已经集成到了容器里,所以我们不必担心各种依赖和复杂的安装步骤,几分钟即可将监控搭建完毕,所有的东西都已经提前配置好。我们只需要将数据库连接配置到监控中即可运行正常监控操作。

三、逻辑和基于触发器的复制工具

1. pgLogical

pglogical是采用***扩展插件的形式实现的逻辑复制工具。集成完善,不使用任何触发器和外部程序。该插件作为物理复制的替代者,在有选择性的复制时采用发布/订阅模型,是复制数据的有效方式。

2. Slony-I

Slony-I是***一主多从复制体系的实现,支持级联复制。开发Slony-I的主要目的是为了实现主从复制,该复制体系包含大型数据库系统中对合理配置从系统所要求的所有特征和能力。

Slony-I主要为数据中心和备份站点场景设计,这种场景下通常要求所有节点都是可用的。

3. Bucardo

四、多主复制工具

BDR

Postgres-BDR(Bi-Directional Replication for ***)是世界上第一个开源***多主复制系统,目的是强化生产环境。由第二象限(2ndQuadrant)公司开源并维护,BDR为地理分布集群环境特别设计,使用搞笑的异步逻辑复制方式,支持从2个到48个以上节点在不同地域之间分布。

五、高可用和故障转移工具

1. Repmgr

repmgr是一款开源的、用于***服务器集群复制管理和故障转移的工具。它扩展了***内建的hot-standby能力,可以设置热备份服务器、监控复制、执行管理任务(故障转移、手工切换等)。repmgr是第二象限( 2ndQuadrant)公司开发的。

2. PAF

PAF(*** Automatic Failover-自动故障转工具)是OCF资源代理贡献给***的,它的初始目的是在Pacemaker管理和***划清规则,让事情变得简单、文档化和有效。如果您的***集群启用了内部流复制,PAF暴露给Pacemaker当前每一个***实例节点的状态:哪个是主,哪个是从,哪个已停止,哪个正在追复制状态等等。如果主节点失败了,Pacemaker默认首先恢复失败的主节点。如果失败不可恢复,PAF会在从节点中选取一个最好的(与已失败主节点数据最为接近)提升为新的主节点。

3. Patroni

Patroni是一个模板,它使用Python为你提供一个自己订制的,高可用的解决方案,为最大程度的可用性,它的配置信息存储在像ZooKeeper, etcd或者Consul中。如果DBAs,DevOps工程师或者SRE正在寻找一个在数据中心中快速部署高可用***方案,或者其他的用途,Patroni 能提供帮助。

4. Stolon

Stolon是一个cloud native的***高可用管理工具。它之所以是cloud native的是因为它可以在为容器内部的***提供高可用(Kubernetes 集成),而且还支持其他种类的基础设施(比如:cloud IaaS,旧风格的基础设施等)

六、Connection Pooling Tools

1. PgBouncer

PgBouncer是Skype的研发人员于2007年开发的连接池工具。在那以后的很多年里,该项目已经由很多开发者参与改进,但是无论怎么变,其降低***连接代价的角色一直未曾改变。PgBouncer允许***数据库操作比其自身所能提供的最大连接数更大的客户端访问。它本质上只追踪每一个客户端连接,然后基于配置信息,创建一些客户端连接并基于先进先服务的原则服务于客户端访问。

2. PgPool-II

pgpool-II也是连接池,我们通常也习惯称它为pgpool。它是另一个流行的连接代理,它早于PgBouncer一年左右的时间发布(2006年下半年发布)。pgpool的使用范围非常关,所能提供的功能包括:基于查询的复制,连接池功能,负载均衡,并行查询等等,pgpool的一个重要特定就是连接池。如果我们有两台***服务器,我们想使用虚拟IP,这样客户端就不会感受到主数据库切换的影响。有时候,为了在服务器之间移动IP地址,首先需要从主数据库服务器上把IP移除,然后在另外一台上重建,这就回中断活动链接,导致短暂的服务不可用。使用pgpool可以缓存服务器直到另一台服务器提升上来,pgpool会从内部处理故障转移,在应用和客户端的角度,数据库似乎从来没有下过线。

七、表分区工具

1. Pg_Partman

pg_partman是***的一个扩展插件,用于创建和管理基于时间或者基于序列的表分区。也支持多级子分区。子表和触发器都由扩展插件自身管理。已经有数据的表也能很容易的添加细粒度的分区。可选的保留策略能够自动删除不再需要的分区。后台工作进程(BGW)能够自动运行分区维护定时执行任务,而不需要依赖于linux cron等程序从外部进行维护。

2. pg_Pathman

pg_pathman是*** Pro公司开源的扩展插件,可以为大型分布式数据库提供优化的分区解决方案。使用pg_pathman可以给大型数据库不停机分区,加速分区表查询,动态管理和增加分区,为分区增加外部表,操作联合分区等。

八、迁移工具

Ora2pg

Ora2Pg是一个用于将***或MySQL数据库迁移到***的免费工具。它能连接到***数据库,然后自动扫描和导出源端的表结构或者数据,转化为***数据库SQL脚本。Ora2Pg可以当作***数据库的反向引擎,用于大型企业级数据库迁移或者***数据复制到***数据库等场景。它易于使用,不需要任何***数据库背景,你所需要做的仅仅是建立与***数据库的连接而已。

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:超越Cookie:当今的客户端数据存储技术
下一篇:Hadoop是什么,能干什么,怎么使用
相关文章