2019亚洲PG大会在印度尼西亚巴厘岛举行,其主旨是PostgreSQL社区与PostgreSQL商业用户的完美碰撞。本次PostgreSQL大会在三天半的时间(9.8~9.11)内在美丽的海滩上讲述Postgres的故事。
2019亚洲PG大会在印度尼西亚巴厘岛举行,其主旨是PostgreSQL社区与PostgreSQL商业用户的完美碰撞。本次PostgreSQL大会在三天半的时间(9.8~9.11)内在美丽的海滩上讲述Postgres的故事。
9月10日是正式会议的第二天,也是干货满满的一天,共有17个场次的演讲徐徐展开。
Julyanto SUTANDANG—Postgres在企业中的使用
Gilles DAROLD—迈向SQL / MED的一步: DATALINK
John NAYLOR—Postgres12的新功能
Lucky HARYADI—Postgres业务的最佳实践
Chris TRAVERS—Postgres的历史
Bo peng—使用Pgpool-II搭建高可用负载均衡数据库集群
Muhammad HAROON—Postgres过去,现在和未来的容错处理
Atsushi MITANI—Postgres实现数据写入的负载均衡
Alexander KUKUSHKIN—Patroni2019年的计划
Shigeo HIROSE—PGSpider高性能SQL集群引擎
Rupak Raj GHIMIRE—政府机构空间系统建模
Jose Cores FINOTTO—高可用Patroni在gitlab的应用
Alexander KUKUSHKIN—K8S上的PostgreSQL
Koichi SUZUKI—物联网与Postgres
Koichi SUZUKI—数据库迁移和维护
Mahadevan RAMACHANDRAN—现代Postgres管理与诊断
Lucky HARYADI—关键任务生产系统应该符合高可用性
当有新技术或新产品推出时,它可能在一开始就不被广泛接受,需要一些时间才能被社会所接受。例如,PostgreSQL自2000年以来经历了深入发展,但它很快就受到欢迎。与技术方面PostgreSQL的巨大潜力相比,PostgreSQL在商业社会中的可接受性并不像预期的那么多。我们应该为PostgreSQL(以及任何其他Pure Open Source)构建更好的业务生态系统,因此它可以在更广泛和更大的市场中使用。由于业务生态系统组件尚未准备就绪,因此其采用速度并不快。在本次演讲中,提出了如何为PostgreSQL建立一个伟大的商业生态系统,特别是在发展中国家。商业生态系统包括产品,用户,供应商,支持,主要或专业知识和经验可持续性(培训,认证,课程,课程),合法性,保证,法律保障等。当政府和学术部门获得时,它也会参与这个生态系统。
本演讲是关于SQL / MED Datalink的C实现,它是一种特殊的SQL类型,用于在数据库列中存储URL。可以在URL的所有部分上对这些列建立索引。只有对外部文件的引用存储在数据库中,而不是文件的内容中。文件本身存储在本地文件系统或远程服务器上。此Datalink实现包括用于URL到文件系统映射的所有函数,对文件系统层次结构的访问控制,本地服务器文件访问和远程服务器文件访问。 SQL数据链接是SQL / MED ISO / IEC 9075-9:2003规范的一部分,此实现也倾向于与Oracle和IBM DB2数据库兼容以便于迁移。数据链接避免必须在Bytea或Large Object中存储文件内容,并且可以通过SQL服务器或Web服务器等外部服务提供对文件的读取访问。
PostgreSQL 12是世界上最先进的开源数据库的下一个主要版本,包括许多分区,SQL标准合规性,性能和管理的增强功能。
作为企业级数据库,PostgreSQL已经在FSI,Telco,政府等的生产层面得到了极大的应用。PostgreSQL在当今的商业中得到了广泛的认可,其中最重要的是符合业务需求。如果实施者和维护者没有做好功课,软件不会很好的运行。将PostgreSQL作为Enterprise应用之前需要做好足够的研究工作。如何使PostgreSQL更好的运行?应该做些什么调优?应填写哪些业务文档?如何支持正在运行的生产级数据库,是否符合业务需求? 1-3级支持,主要支持,如果突然出现崩溃怎么办? PostgreSQL实施最佳实践就是答案。服务类型:维护支持或托管支持;紧急升级程序;专家调整;硬件配置,数据库设计/重新设计,即时查询调优,甚至查询校正;高可用性,多层备份/恢复,业务延续规划,可扩展性规划,容量规划等。在此次演讲中,展示了我们的最佳实践,标准操作程序,文档。我们相信,实施基于开源的产品需要更多的专业支持和最尖锐的服务交付。
自从我使用PostgreSQL(自1999年以来)以来,它一直是商业应用程序中开源数据库的王者。现在它正在迅速崛起,充分利用Web应用程序框架(包括Rails和Django),NoSQL趋势和工业4.0趋势等各种趋势。本演讲讨论了早期商业应用程序中PostgreSQL的特色,以及其崛起背后的原因,包括商业和金融领域,Web应用程序以及行业4.0问题。
近年来,为了实现高可用性和负载平衡,数据库集群已经被越来越普遍地使用。Pgpool-II为PostgreSQL提供高可用性管理,复制和负载平衡解决方案。在本次演讲中,首先概述了Pgpool-II。然后介绍了定于今年秋天发布的Pgpool-II 4.1的新功能。 Pgpool-II 4.1将实现期待已久的功能,包括语句级负载平衡和自动故障恢复。演讲者详细解释了这些新功能,并介绍如何使用Pgpool-II的新功能来提高PostgreSQL的性能。
Postgres容错处理的发展一直是一个激动人心的过程,跨越多年的发展,在发布后逐渐成熟。复制方法和WAL机制,异步和同步复制,物理和逻辑复制,PITR,备份和恢复,故障转移,切换和时间线。这是一个无止境的进步。本演讲集中讨论了Postgres迄今为止所采取的行程,每一步如何为下一步铺平道路,以及未来要做什么。
数据库在需要快速读取和写入大量数据的系统中非常重要。数据库经常成为处理大量数据并需要快速响应的系统的瓶颈。因此,企业数据库需要负载平衡功能。在WEB应用程序系统中,使用数据高速缓存消除了数据读取负载。PostgreSQL可以使用Streaming复制和只读副本来分配数据读取负载。但是,写入数据时也会发生负载。对数据读取负载平衡有效的数据缓存不是写入负载平衡的解决方案。数据写入负载平衡需要数据库中的解决方案。有一个称为数据分区的函数作为大量数据的负载分配方法。在PostgreSQL中,可以在版本11的FDW(外部数据包装器)上使用表分区,这样不仅可以分配读取负载,还可以分配写入负载。但是,由于FDW不能使用对数据写入处理至关重要的事务,因此很难在实际系统中使用。所以我创建了一个补丁,即使使用FDW进行表分区也可以使用事务。我使用PostgreSQL用此补丁进行了基准测试,并验证了系统配置和数据特性,可以实现数据写入负载均衡的效果。
Patoni于2015年推出,已成为PostgreSQL高可用性最受欢迎和最先进的解决方案之一。它与Etcd,Zookeeper,Consul或Kubernetes API一起工作,以一致的方式存储和检索PostgreSQL集群信息,确保一次只有一个领导者。与大多数现有的自动故障转移解决方案不同,Patroni需要最少的工作来配置HA群集并支持新节点的自动发现。在这次演讲中,简要介绍了Patroni背后的想法,深入探讨我们去年发布的新功能,涵盖一些有趣的错误和故障情景,这些都是固定的。最后,分享了一些未来发展计划。 Patroni是一个Python开源项目,由Zalando与GitHub上的其他贡献者合作开发:https://github.com/zalando/patroni,并被全球许多小型和大型公司使用。
近年来,物联网系统中的边缘和传感器设备的数量突然增加到数千或数万。当用户将数据存储在高性能边缘和传感器设备中时,他们更喜欢直接在其上搜索数据,而不是在云中收集数据。用户还希望将这个分布式大数据作为一个可以高速搜索的虚拟表来处理。出于这个原因,我们开发了PGSpider,它可以使用PostgreSQL外部数据包装器(FDW)高速访问各种数据源。通过使用FDW的下推功能实现其全部潜力和线程并行化,PGSpider可以以闪电般的速度获取和处理数据。演讲者谈了以下几点:
内部结构和管理节点的机制排列为树形图。
并行化和多线程加速。
为什么PostgreSQL中的多线程很难。
使用多个FDW时的下推控制。
如何控制支持下推的FDW和不支持下推的FDW。
在许多情况下,在像尼泊尔这样的国家,大多数政府服务都建立在自立的数据库和系统之上。许多国家正在尝试,其中一些国家已经成功实施了像PostgreSQL这样的开源系统来存储政府数据。我们还咨询了尼泊尔调查局关于基于PostgreSQL和PostGIS的Spatial系统的实施。本演讲重点关注所面临的挑战,成功案例以及我们如何模拟PostGIS上满足客户要求的要求。
GitLab是一家开源公司,为超过100,000个组织使用的软件开发生命周期开发软件,并拥有超过2200名贡献者的活跃社区。 Gitlab.com是我们的托管解决方案,每天处理25M git pull操作,每秒请求超过3K。 6个月前,我们在一家名为OnGres的PostgreSQL公司的帮助下,将gitlab.com的基础架构从使用repmgr转换为使用Patroni实现高可用性。最小的停机时间取得了巨大的成功。
大多数DBA都会谨慎地避免任何类型的云产品,并且更愿意在专用硬件上运行他们的数据库。与此同时,不断增长的行业和社区需求在Kubernetes上运行有状态的工作负载。两年多前,Zalando的数据库团队开始在Kubernetes上运行高度可用的PostgreSQL集群。本次演讲分享了我们如何自动化所有日常操作,为开发人员提供易于使用的工具来创建,管理和监控他们的数据库,避免商业解决方案锁定并节省成本,展示我们拥有的开源工具,通过编写描述结果的一些基本属性的简短清单来构建和管理Kubernetes上的PostgreSQL集群。
Gartner预测到2020年全球将有超过210亿台连接设备最重要的是,这个数字驱动所有3个大数据:速度,音量,多样性。物联网(IoT)对任何数据库系统都带来了一些挑战:安全性,资源消耗,摄取率,复制以及处理从事务系统到复杂分析的各种访问模式。本演讲讨论了PostgreSQL当前的功能集,即将发布的PostgreSQL和Postgres-BDR版本中的新功能将如何为物联网提供所需的功能集。
PostgreSQL现在在规模生产中得到了广泛的应用。在许多情况下,数据库维护和迁移变得越来越重要和关键。用户必须继续为业务运行数据库应用程序,并且允许长维护时间是不切实际的。我们有各种各样的数据库维护机会,例如:
将非常旧的PostgreSQL(例如9.0或更早版本)升级到最新版本
迁移数十万个表。 pg_dump太慢而且不实用
将大单表迁移到分区
更改数据类型以适应业务开发,例如,整数到bigint,扩展数字类型的位数,将JSON迁移到JSONB。
如果使用传统的INSERT和/或ALTER TABLE完成,可能需要数天,或者在最坏的情况下需要数周。我们需要更实用的方法来执行这些数据库转换,而不会干扰正在进行的应用程序/业务,并介绍如何在短期维护窗口内完成。该方案包括1)使用FDW进行表传输和迁移,以及2)这种迁移的作业调度以避免长维护窗口。还提出了用于帮助数据库迁移和维护的PostgreSQL功能。
现代的PostgreSQL服务器由几个复杂的子系统组成,每个子系统都需要进行监控和调整,以保持最佳的健康和性能。本次演讲展示了监控PostgreSQL部署的所有重要方面:
逻辑和流复制
锁定以及阻止查询
后台写
后端活动
wal文件:归档,
vacuum增长进度和影响
表空间以及磁盘使用情况
索引:效率,大小,膨胀
表:增长,修改
关键任务生产系统应该符合高可用性,因此PostgreSQL应该具有支持HA的机制,具有非常低的延迟和最小的停机时间以及自动故障转移机制。 HA是一种避免SPOF并尽可能保持服务可用性的方法。 SPOF的可能性包括硬件,设施和支持故障,不包括不可抗力,这应该是业务延续计划中DR的一部分。在本次演讲中,介绍了PostgreSQL中真正的高可用性,故障转移时间不到10秒。通过结合Pacemaker和Heartbeat管理器来维护VIP分配,监控和其他故障转移机制,故障转移将在10秒内执行,维持服务可用性达到:99.9%甚至更高。还演示了如何在PostgreSQL实例对中实现HA,具有故障可能性以及缓解案例的机制。应该减轻的故障可能性,例如:主机主机关闭,备用主机关闭,主实例故障,网络问题,裂脑,同步复制中的性能问题,待机有可能停止服务及其回滚过程。任何问题故障转移将通过警报机制通知DBA,无需密切监控。我们对此HA解决方案的要求是至少2台服务器连接直接电缆以维持心跳。我们的解决方案是生产就绪,并在许多公司中得到充分证明,包括银行,电信公司,金融机构等。