本文主要是介绍让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/
这篇关于让PG停摆一周的大会?2024 PGConf.dev 技术大盘点(下)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!