高手问答第 301 期 —— 聊聊PostgreSQL高可用解决方案设计与实践

OSC哒哒 发布于 2023/05/31 17:46
阅读 12K+
收藏 8

9月21日,源创会西安,聊聊大模型技术与产业应用

系统服务能(SLA)力提升是一项系统性的工程,数据库有作为整个IT系统的核心组件,在不同的应用场景下,用户对于数据库各项能力的关注点也不同,如:读写延迟、吞吐量、扩展性、可靠性、可用性等等。不少数据库系统通过系统架构优化、硬件设备升级等方式,来解决可用性、性能等问题,但随着集群规模的逐渐扩大,对系统可用性的要求也越来越高。

OSCHINA 本期高手问答 (6 月 1 日 - 6 月 11 日) 我们请来了 崔鹏老师 和大家一起探讨关于PostgreSQL数据库在高可用架构、分布式架构、以及容灾等方面的技术点以及解决方案话题

可讨论的内容包括但不限于以下几个方面:
  • 高可用解决方案,Pgpool II、Patroni 等。
  • 分布式解决方案,CitusDB、PostgresXL 等。
  • 备份工具 pg_dump、pg_rman、pgbackrest、pg_probackup 等。
  • PostgreSQL后端特性矩阵中特性。
  • 基于PostgreSQL的信创数据库。
以及其他关于PostgreSQL高可用解决方案的问题,欢迎提问。

嘉宾简介

崔鹏,《PostgreSQL 高可用实战》作者,拥有十年数据库、操作系统、存储领域的工作经验。
2021 年度中国 PostgreSQL 最具价值技术专家 MVP、ORACLE OCM、MySQL OCP、PostgreSQL CM(中国首批 PG 数据库大师)。

为了鼓励踊跃提问,PG中文社区会在问答结束后从提问者中抽取 3 名幸运会员赠予PG专属徽章。

OSChina 高手问答一贯的风格,不欢迎任何与主题无关的讨论和喷子。

下面欢迎大家就 PostgreSQL高可用解决方案设计与实践 相关问题向 崔鹏老师 提问,直接回帖提问既可。

加载中
0
yaosaya
yaosaya

高手问答第 301 期 —— 聊聊 PostgreSQL 高可用解决方案设计与实践

@强尼唐  @墨子Zhai @xiaour 

恭喜以上三位网友分别获得 PG 专属徽章一份~

请于6月20日前登陆账号, 私信  @yaosaya   告知快递信息(格式:姓名+电话+地址),过期视为自动放弃哦~

6
南方Go
南方Go

@崔鹏_PG中文社区  1. 基于 PostgreSQL 的信创数据库, 要考个postgresql数据库管理员认证,这个有什么途径吗?

2.备份工具 pg_dump、pg_rman、pgbackrest、pg_probackup 这个几个备份工具怎么用比较好??都用在哪些地方比较方便,,优点和缺点?

崔鹏_PG中文社区
崔鹏_PG中文社区
另外几种pg_rman pgbackrest pg_probackup 物理热备份工具还需要关注一下备份数据支持的压缩算法和压缩比率。 这个点对长期存储成本的节约有帮助。
崔鹏_PG中文社区
崔鹏_PG中文社区
pgbackrest、 功能比较多,配置较复杂。 pg_probackup 是基于pg_rman扩展而来。可以对本地和远程进行备份;并且可以将数据在远端进行恢复(靓点); 但是有个较大的缺点,寻址范围只有4G,也就是如果数据库的segment_size改为4G+(默认1G)将会出现问题。 我这边在实际生产环境中,使用的就是这个工具。
崔鹏_PG中文社区
崔鹏_PG中文社区
pg_dump、 优点 PG自带工具无需安装、可以导出整库、单独表、单独导出数据。 缺点 逻辑备份,对中大型数据库备份不友好,速度较慢。 适用场景 小数据量灵活导出 pg_rman、 配置简单;使用方便 ;但是需要和数据节点安装在一起。
崔鹏_PG中文社区
崔鹏_PG中文社区
1. 基于 PostgreSQL 的信创数据库, 要考个postgresql数据库管理员认证,这个有什么途径吗? 这个可以直接去,厂家的官网上看一下,每个国产数据库厂家都会开设认证学院,比如达梦学院、瀚高、进仓等等
1
崔鹏_PG中文社区
崔鹏_PG中文社区

首先说PostgreSQL的分布式解决方案,基本都用在OLAP的业务场景中,主要的解决方案有citusdb、greenplum、PostgreSQL-XL、pg_shard等,代码层面主要是考虑分布式解决方案在,几个维度是否支持、比如增加片区后是否可以数据自动平衡分布、跨片区事务、分区建修改、跨片区join查询、Order by、group by等。时效性保证多数都是使用2PC、3PC来保证。数据片区的冗余,一般是小表做复制表每个片区存同一份数据、片区的冗余有一些方案自身支持、有一些需要依赖PG的流复制来做冗余。

部署维护、主要考虑备份、容灾、以及扩容等成本上。 @崔鹏_PG中文社区

1
墨子Zhai
墨子Zhai

@崔鹏_PG中文社区 您好, 谈一下 PolarDB for PostgreSQL Ceph 共享存储方式 的特点。谢谢

墨子Zhai
墨子Zhai
回复 @崔鹏_PG中文社区 : 计算和存储分离了, 对存储/计算的扩容,可独立进行,增强了可扩展性; 可以支持大数据量的场景; 同时对存储的要求就更高了。 当然系统也变的更复杂了,维护成本也更高一些。 这个理解是否正确?
墨子Zhai
墨子Zhai
回复 @崔鹏_PG中文社区 : 非常感谢您抽出宝贵的时间回复。
崔鹏_PG中文社区
崔鹏_PG中文社区
基于 Shared-Storage 的 PolarDB-PG 的架构原理。 主节点为可读可写节点(RW),只读节点为只读(RO)。 Shared-Storage 层,只有主节点能写入,因此主节点和只读节点能看到一致的落盘的数据。 只读节点的内存状态是通过回放 WAL 保持和主节点同步的。 主节点的 WAL 日志写到 Shared-Storage,仅复制 WAL 的 meta 给只读节点。 只读节
崔鹏_PG中文社区
崔鹏_PG中文社区
基于 Shared-Storage 之后,数据库由传统的 share nothing,转变成了 shared storage 架构。需要解决如下问题: 数据一致性:由原来的 N 份计算+N 份存储,转变成了 N 份计算+1 份存储。 读写分离:如何基于新架构做到低延迟的复制。 高可用:如何 Recovery 和 Failover。 IO 模型:如何从 Buffer-IO 向 Direct-IO
0
xiaour
xiaour

@崔鹏_PG中文社区 您好我是刚使用PGSQL的,还是不太熟

  1. PGPOOL 支持哪些故障转移方式?
  2. PGPOOL 如何监控数据库的状态?
崔鹏_PG中文社区
崔鹏_PG中文社区
2.PGPOOL 如何监控数据库的状态? 使用工具,连接到PGPOOL后。可查询这几个视图。 pool_status, 获取配置 pool_nodes, 获取节点信息 pool_processes, 获取pgPool-II 进程信息 pool_pools, 获取pgPool-II 所有的连接池信息 pool_version, 获取pgPool_II 版本信息
崔鹏_PG中文社区
崔鹏_PG中文社区
1.PGPOOL 支持哪些故障转移方式? 其实PGPOOL 支持的故障转移方式还是PG提供的: 第一种备升住:a.pg_ctl promote b.使用tigger触发器文件方式。 第二种原主降备:需要自定义脚本,脚本样例可以参考PGPOOL 的文档。
0
怎能累了就说放弃
怎能累了就说放弃

@崔鹏_PG中文社区 目前配置参数是这样的,服务器16cpus 64g内存

0
晒太阳的小猪
晒太阳的小猪

@崔鹏_PG中文社区

请问技术大佬,您讲的PG高可用都是基于自由开源组件实现的吗?您的书发行了吗?比较关注高可用这一块!!!

晒太阳的小猪
晒太阳的小猪
回复 @崔鹏_PG中文社区 : 谢谢,不知道这次活动送书我获奖了没有
崔鹏_PG中文社区
崔鹏_PG中文社区
那本书发行了,讲解的高可用比较全面,但是相对基础。建议还是多参加PG大会,或者看一些往年大会,各行业大佬们分享的成功解决方案,比如去哪、阿里、腾讯、华为等。
崔鹏_PG中文社区
崔鹏_PG中文社区
我这边在实际生产环境中、以及一些互联网公司比如去哪网等都是用的是开源的PostgreSQL解决方案比如 HAproxy+Patroni这种
0
yaosaya
yaosaya

高手问答第 301 期 —— 聊聊 PostgreSQL 高可用解决方案设计与实践

@强尼唐  @墨子Zhai @xiaour 

恭喜以上三位网友分别获得 PG 专属徽章一份~

请于6月20日前登陆账号, 私信  @yaosaya   告知快递信息(格式:姓名+电话+地址),过期视为自动放弃哦~

-1
强尼唐

@崔鹏_PG中文社区 

1.分布式数据库的对于业务代码的使用,和对时效性保证及数据冗余算法的原理能详细说说吗?

2.分布式数据库相对于传统数据库,在部署和维护成本上有哪些要注意的?

OSCHINA
登录后可查看更多优质内容
返回顶部
顶部