让PG停摆一周的大会?2024 PGConf.dev 技术大盘点(下)

PGCon.Dev 的前身是 PGCon —— 最知名的 PostgreSQL Hacker 年度聚会,也可以说是决定 PostgreSQL 未来的会议。从 2007 年成立以来,一直都是在加拿大渥太华举办至今。

有多隆重呢?PG 核心组的 Peter Eisentraut 在会后做了一个统计,在这次 PGCon.Dev 期间 PostgreSQL 代码库没有一次 Commit 发生,出现了二十年来持续时间最长的停摆[1] —— 整整六天半!为啥,因为开发者全都来参会啦!”

......

现场更多互动的交流可移步 @冯若航 老师这篇文章

《让PG停摆一周的大会:PGCon.Dev参会记

以下内容集结了各位大咖对 PG(PostgreSQL)的独到见解与深刻思考,由IvorySQL社区精心整理,与大家一起分享。欢迎大家积极转发分享,点亮“在看”,让更多人领略 PG 的魅力与力量!

Streaming I/O and vectored I/O

Thomas Munro

图片

Thomas 来自微软,是PG社区的主要 committers之一。Thomas 阐述了目前PostgreSQL 每次读和写入数据文件的大小为 8KB。这是因为PG每次调用 ReadBuffer 仅处理一个数据块,而底层无法优化超出这一限制。社区在探讨一种新“流式”编程模型:使用回调函数提前指明下一个需要的块,然后从“流”中提取缓冲区。这样,流基础设施可以尽可能地预见未来的需求,从而:

  • 系统性地对随机访问使用 POSIX_FADV_WILLNEED,替代零散的临时建议。

  • 构建更大的向量化 I/O;例如,一个 preadv() 调用可以替代 16 个 pread() 调用。

同时介绍了目前 streaming 的开发状态。

This corresponds to commitfest entry https://commitfest.postgresql.org/46/4532/ (and earlier related work).

Advice is seldom welcome but efficacious

Tatsuro Yamada

图片

Yamada 来自日本的 NTT OSS,是PG代码的一位 contributor,同时是pg_plan_advsr的作者 。Yamada 主要讲解了 PostgreSQL 中一些为用户提供建议的辅助功能,例如,与配置参数、分区和执行计划相关的功能。同时介绍了其本人开发的执行计划建议器(pg_plan_advsr)的一些主要功能及相关实现。此外还给PG社区提出一些反馈意见,包括扩展 stats 的应用范围,比如 joins;提高 stats 的可用性,在 EXPLAIN 时显示stats等。

How Autovacuum Goes Wrong: And Can We Please Make It Stop Doing That?

Robert Haas

图片

来自 EDB 的 PG 核心成员 Robert 主要解释了 autovacuum 如何决定哪些表需要进行 vacuum 和 analyze 以及何时执行这些操作,重点是这些算法可能出错的情况。Robert 也讲述了autovacuum 一些主要的错误,包括vacuum速度慢,vacuum被卡住,反复vacuum或者自行跳过vacuum等问题,同时还讨论了改进 autovacuum 以避免这些问题的可行性。

Postgres and the Artificial Intelligence Landscape

Bruce Momjian

课件下载:https://momjian.us/main/writings/pgsql/AI.pdf

图片

Bruce 此次的主题是 PG 与人工智能领域。Bruce 简述了 人工智能,机器学习的基本知识,然后通过一个为PG 创建一个基于 plperl 的扩展来阐述如何选取attributes,为每个 attribute 创建机器学习所需的 neurons,创建 training data,通过调整 weight 等操作对机器学习提供反馈。演讲多次被问题打断,未完成。

Building Petabyte-Scale PostgreSQL Deployments

Chistopher Travers

课件下载:

https://www.pgevents.ca/events/pgconfdev2024/sessions/session/135/slides/30/Bagger_Talk (3).pdf

图片

Christopher 来自 Delivery Hero APAC 有多年的 DBA 经验。Christopher 讲述了用基于 PostgreSQL 的内部解决方案替换了 ElasticSearch 的原因,早期在 Adjust 的设计,及现在的开源 Bagger。同时讲述了基本架构,数据流,当前项目的状态,及未来的计划。Christopher 还分享了一些心得,比如清晰的了解需求,不同架构适应于不同的需求,读写扩展的困难等等。

When Hardware and Databases Collide

Margo Seltzer

图片

来自 UBC 大学的教授 Margo Seltzer 为大家奉献了精彩的主题,当硬件与数据库碰撞。Margo 阐述了硬件发展对数据库的影响,使用 GPU 处理数据库的不同策略。

Multi-threaded PostgreSQL?

Heikki Linnakangas

图片

来自 Neon 的 Heikki 此次主要是向社区阐述实现 multiple threads 的愿景,multiple threads 和 multiple process 的架构,优缺点,应该如何正确使用 multiple threads,之前的一些尝试,以及 PG 切换到 multiple threads 的挑战等。后续,有针对 multiple threads 的专题讨论及任务调研的初步分工。

Enhancing PostgreSQL Plasticity: New Frontiers in Memory Management

Krishnakumar Ravi

图片

来自微软的 Krishnakumar (KK) 阐述了由于 PG 对共享内存采取了非常静态的管理方法,因此无法在运行时收缩或者扩展共享内存。KK 分享了一些社区正在进行的增强内存管理可插拔性的一些想法。

Vectors: how to better support a nasty data type in PostgreSQL

Jonathan Katz

图片

来自亚马逊的 Jonathan 是 PG 的核心成员,也是此次活动的主要组织者。Jonathan 阐述了向量对数据库高效存储和索引的重要性和挑战。同时由于人工智能过去一年的快速发展也导致 pg_vector 的快速迭代发布。Jonathan 讲述了当向量维度增加时对对数据库存储和索引带来的快速膨胀,以及通过多维度找到邻居节点的挑战。

Scaling past RDS PostgreSQL's vertical scaling limits: Lessons and guidance on the largest PostgreSQL workloads

Alisdair Owens, Andrei Dukhounik

图片

来自亚马逊的 Alisdair 和 Andrei 共同分享了多年来亚马逊在管理大型,高吞吐量的 PG 所面临的性能和可用性的挑战,以及在维护大型 PG 方面的经验,包括垂直扩展,数据库迁移,升级等方面。

Performance Improvements of Partitioning: Past and Future

Yuya Watari

图片

Yuya 是日本 NTT 开源软件的工程师。Yuya 在演讲中阐述了过去 PG 对高度分区表 Join 处理不当的地方导致 O(n^2)计算时间量,通过 hack planner 可以将计算量调节为 O(n)。同时分享了这个做法的优缺点,测试案例,以及一些 profile 的分析过程。

SQL standard WG update

Peter Eisentraut

图片

PG 核心成员 Peter Eisentraut 分享了目前 SQL 标准的更新情况和近期的 SQL 标准化会议。

Multithreading (31日 Unconference)

社区核心成员

图片

社区普遍对参与 PG multiple threads 讨论比较感兴趣。目前几位资深的 PG 核心成员主要讨论了,signal 在multiple threading 情况先如何处理,全局变量的管理,插件管理,如何取代当前的 pid ,整体refactor,thread safe API 等话题。最后初步确定了对这些关键 topics 负责调研的人选。

Table AM API (31日 Unconference)

Oriole dbds

图片

关于 Table AM API 的讨论主要由 Oriole 主导。Oriole 建议为 pg_am 增加 wrapper  pg_am_impl 从而更容易引进其他关于 table 访问的优化和改进。但通过讨论后,社区成员人为意义不大,不足以让更多的 PG 使用者受益。对此没有进一步的计划。

至此,2024 PGCon.Dev 就告一段落了。瀚高作为亚太地区PostgreSQL国际社区顶级贡献者之一,长期深度参与PostgreSQL国际社区发展与建设。

多年来,瀚高积极组织和参加pgconf.dev、PostgresConf、PostgresConf.CN、PGConf.Asia 等国内外会议及活动,与全球顶尖的PostgreSQL开发者、行业权威共同探讨PG最前沿技术与未来战略。

与此同时,瀚高积极传播大会的核心技术、创新理念及最佳实践,不仅彰显了其在开源领域的专业实力与前瞻视野,更为PostgreSQL国际社区的持续繁荣和全球推广注入了强劲动力。

*以下内容来自 @冯若航 整理

一些 PGCon.Dev 相关的博客与文章:

[1] 二十年来持续时间最长的停摆: https://peter.eisentraut.org/blog/2024/06/04/how-engaging-was-pgconfdev-really
[2] Jonathan Katz: https://jkatz05.com/
[3] Melanie Plageman: https://postgresql.life/post/melanie_plageman/
[4] 数据库管理系统可扩展性的调查与评估: https://abigalekim.github.io/assets/pdf/Anarchy_in_the_Database_PGConfDev2024.pdf
[5] 索引建议不受待见,但很管用: https://www.pgevents.ca/events/pgconfdev2024/sessions/session/62-advice-is-seldom-welcome-but-efficacious/
[6] 推给你的那个人莫不是我: https://github.com/pgvector/pgvector/issues/76
[7] 写过一篇文章研究过这个问题: https://pigsty.cc/zh/blog/admin/collate/
[8] Andreas Scherbaum PostgreSQL Development Conference 2024 - Review: https://andreas.scherbaum.la/post/2024-06-14_postgresql-development-conference-2024-review/
[9] PgCon 2024 Developer Meeting: https://wiki.postgresql.org/wiki/PgCon_2024_Developer_Meeting
[10] Robert Haas: 2024.pgconf.dev and Growing the Community: https://rhaas.blogspot.com/2024/06/2024pgconfdev-and-growing-community.html
[11] How engaging was PGConf.dev really?: https://peter.eisentraut.org/blog/2024/06/04/how-engaging-was-pgconfdev-really
[12] Cary Huang: PGConf.dev 2024:在温哥华塑造 PostgreSQL 的未来: https://www.highgo.ca/2024/06/11/pgconf-dev-2024-shaping-the-future-of-postgresql-in-vancouver/

  • 14
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值