瀚高软件受邀参加PGCon2019

5月28日至31日,第13届PostgreSQL 国际开发者大会(以下简称PGCon2019)在加拿大首都渥太华举行。PGCon是面向PostgreSQL用户和开发者的年度会议,每届大会都会安排一系列活动,包括培训、主题演讲以及内部会议等内容。瀚高软件作为亚太地区PostgreSQL开源技术的主要贡献者,受邀参加此次大会,积极参与PostgreSQL内部开发讨论和社区项目开发贡献等相关工作。

以下是由瀚高软件为您带来的PGCon2019首日会议速报。

美国时间5月28日的PGCon会议,包括社区关键开发者内部会议“了解和实现基于Patroni的PostgreSQL高可用”、“数据库的性能调优”内部培训

PGCon 2019开发者(内部)会议



瀚高软件参会人员受邀同Joe Conway 、Jeff Davis 、Andrew Dunstan 、Peter Eisentraut 、Andres Freund 等行业专家就PG13.0的发布时间进行了确认,对一些已知的时间、政策和流程上的问题进行了探讨,对从项目团队收到的最新信息讨论了其中的问题和影响,以及一些已知的棘手的问题等进行深入研究。

了解和实现基于Patroni的PostgreSQL高可用

Alexander Kukushkin是Zalando SE的数据库工程师。他全方位使用PostgreSQL,目前是Web开发人员、系统管理员和数据库工程师。大约四年前,他开始从事Patroni项目并取得了相当大的成功。他会定期报告错误并为PostgreSQL和其他一些开源项目(通常是Postgres相关的)提供补丁。他经常在不同的Postgres活动中发表演讲。辑器

Oleksii Kliukin是Postgres贡献者和PostgreSQL用户组柏林的组织者之一。Oleksii在2003年作为C程序员开始使用PostgreSQL。他在学习SQL之前学会了如何调试后端代码,但很快就主攻后者。他现在正在使用这些技能和多年的数据库工程师经验,来帮助他的雇主管理越来越多的PostgreSQL数据库集群并处理数TB的分析数据。Oleksii常驻柏林,并在Adjust GbmH担任PostgreSQL工程师。多年来,他为PostgreSQL项目贡献了代码和文档,并在2015年通过启动PostgreSQL柏林用户组来推广Postgres。他也是Patroni项目的创始人之一,并且活跃于PostgreSQL和Kubernetes社区,致力于 Kubernetes PostgreSQL。

演讲介绍:

Patroni是一种广泛使用的开源自动故障转移工具。它的设计易于使用,并通过使用分布式一致性协议来避免其他工具的常见缺陷,比如误报、脑裂。本次培训,Patroni作者讲述工具的工作原理以及如何使用它构建PostgreSQL HA环境。

本教程使用的材料已在github上共享,可以从以下链接下载:

https://github.com/patroni-training/2019

PostgreSQL有着稳定性相当好的一主多备的物理流复制功能,但是它缺少内置的故障转移功能。有许多开源或者专有工具一直在尝试解决这个问题。Patroni与其他工具不同在于,它本身不会解决所有问题。作为Compose Governor的继承者,它依赖于外部的一致性层,该层由经过验证的比如Etch,Consul,Zookeeper,Kubernetes API等解决方案的支撑,以此来保证不会发生“脑裂”以及防止产生不必要的故障切换。

Patroni可定制、可扩展,并且能识别很多关于创建新副本、连接分配器、负载平衡器、监控解决方案或监视器等工具。因为它需要在故障转移期间或之后进行交互,因此它可以在不更改核心故障转移逻辑的前提下,就能适应广泛的工具以及裸机数据中心到基于云的计算单元和类似于Kubernetes这样的基于云的Docker数据库环境。它在可用性和一致性之间提供了微妙的平衡,允许操作员在识别突然无响应的主服务器之前选择等待多长时间,或者使用同步复制来完全排除数据丢失的可能性。Patroni还提供可定制的重试以处理网络问题。它通过提供对复制插槽(replication slot),pg_rewind,级联和同步复制的支持来完成大部分PostgreSQL物理复制。

现在Patroni受到各种公司的信赖,包括zalando,IBM compose,以及近期开源的Gitlab项目。而且因为Patroni是开源的,所以会收到世界各地个人或者公司的贡献,从而能够更好地适应更多的场景。

本次培训主要介绍了以下内容:

  • PostgreSQL自动故障转移解决方案的常见缺陷以及如何使用Patroni来避免这些常见缺陷

  • Patroni架构和各种选项,可根据您的环境进行调整。

  • 如何使用Patroni管理PostgreSQL配置并使副本配置与主服务器保持同步。

  • 能够帮助监控和管理Patroni的各种REST API端点。

  • 如何使用patronictl工具作为REST API的人性化替代方案。

  • 如何使客户端连接到主(或备用)PostgreSQL。

  • 允许扩展Patroni,支持您使用您心仪的工具来创建新的副本甚至克隆整个群集。

  • 许多有用的功能,例如预定切换和重启、维护模式、备用群集等。

  • 如何阅读Patroni日志并解决常见问题。

  • 熟悉基本的PostgreSQL管理例程。将提供一个docker镜像用于实际操作会话。

数据库性能调优

Tomas Vondra从2003年开始接触Postgres,他参与了从其他数据库向PostgreSQL移植的各种应用程序,调整和修复性能问题等。同时,他还是CSPUG(捷克和斯洛伐克PostgreSQL用户组)执行委员会的成员。Tomas目前担任2ndQuadrant(第二象限)数据库工程师,负责各种PostgreSQL的相关任务。

本次培训分为两章内容:

第一章:首先介绍数据库的整体架构,与操作系统的交互方式,然后对于部分参数含义、建议值进行了详细说明。

第二章:介绍了锁、MVCC的相互作用,两者对性能的制约。然后对于VACUUM,autovacuum,HOT机制进行了介绍。最后对于Freezing的工作原理以及相关参数进行了详细说明。

更多技术干货,请持续关注瀚高软件微信公众号!

瀚高软件 

HIGHGO2005

长按识别左侧二维码,关注我们

咨询电话:400-708-8006


声明:该文观点仅代表作者本人,加国头条 属于信息发布平台,加国头条 仅提供信息存储空间服务。

分享新闻到
微信朋友圈
扫描后点
右上角分享

0 Comments

Leave a Comment

Ad

Related Posts: