首页 > 其他分享 >让PG停摆一周的大会?2024 PGConf.dev 技术大盘点(下)

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

时间:2024-06-21 16:31:34浏览次数:11  
标签:社区 PostgreSQL PGConf dev 2024 PG https multiple

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/

标签:社区,PostgreSQL,PGConf,dev,2024,PG,https,multiple
From: https://blog.csdn.net/IvorySQL/article/details/139863555

相关文章

  • #26. 2024.6.21
    929.qoj1961Postman930.loj3085「GXOI/GZOI2019」特技飞行931.loj3086「GXOI/GZOI2019」逼死强迫症932.loj3087「GXOI/GZOI2019」旅行者933.loj3088「GXOI/GZOI2019」旧词934.The3rdUniversalCup.Stage0:TrialContestL又名:hos_lyric代码......
  • 2024-06-21 如何在React中使用ECharts
    要安装两个插件echarts和echarts-for-react,前者是一个js图标库,后者是对前者在react的封装,想要在react用echarts,就得装echarts-for-react这类的转换库。yarnaddechartsecharts-for-react例子:importReact,{Component}from"react";importReactEChartsfrom"echarts......
  • 台州市2024青少年信息学奥赛复赛初中组
    初中组第一题【题目概述】用数字\(4,5,6\)去组合出一个给定的数字\(n\)(\(8\len\le10^5\)),用的数字尽可能多,在满足前者的条件下,数越大越好,分别输出\(4,5,6\)的数目。【题目解析】第一要求:用的数字越多越好。和相等的情况下,每一个选择的数要尽可能小,所以数量最多\(\le......
  • 2024年史上最难就业季,该如何逆风翻盘?
    前言【2024年被称为最难就业年,1158万大学生面临难题】IT互联网依然是大学生最向往行业,制造业受欢迎度升高智联招聘调研数据显示,2024届求职毕业生期望行业中,IT/通信/电子/互联网、政府/非盈利机构、文化/传媒/娱乐/体育行业位列前三,占比分别为26.4%、9.4%、8.9%。IT互联网......
  • 2024最新AI大模型-LLm八股合集(十二)-Transformer模型
    更多2024最新AI大模型-LLm八股合集可以拉到文末!!!相对位置编码相对位置并没有完整建模每个输入的位置信息,而是在算Attention的时候考虑当前位置与被Attention的位置的相对距离,由于自然语言一般更依赖于相对位置,所以相对位置编码通常也有着优秀的表现。对于相对位置编码来说,......
  • 2024最新最全【网络安全/渗透测试】面试题汇总
    思路流程信息收集漏洞挖掘漏洞利用&权限提升清除测试数据&输出报告复测问题深信服一面:SQL注入防护为什么参数化查询可以防止sql注入SQL头注入点盲注是什么?怎么盲注?宽字节注入产生原理以及根本原因产生原理在哪里编码根本原因解决办法sql里面只有update怎么利用sql如何......
  • IntelliJ IDEA 2024 mac/win版:编程利器,智慧之选
    IntelliJIDEA2024是一款由JetBrains精心打造的集成开发环境(IDE),专为Java等编程语言量身打造,同时支持多种其他语言,为开发者提供了卓越的开发体验。IntelliJIDEA2024mac/win版获取这款IDE凭借其出色的智能化和高效性,赢得了广大开发者的喜爱。IDEA2024不仅提供了丰富的功能......
  • JetBrains GoLand 2024 mac/win版:高效开发,Go无止境
    JetBrainsGoLand2024是一款专为Go语言开发者设计的集成开发环境(IDE),为开发者带来了更加高效、智能和便捷的编程体验。GoLand2024mac/win版获取在代码编辑方面,GoLand2024提供了全行代码补全功能,通过利用先进的深度学习模型,能够智能预测并自动补全整行代码,大大提高了编码速......
  • 牛客网最强Java面试八股文(2024年6月持续更新)
    一、Java基础1.JDK和JRE有什么区别?JDK:JavaDevelopmentKit的简称,java开发工具包,提供了java的开发环境和运行环境。JRE:JavaRuntimeEnvironment的简称,java运行环境,为java的运行提供了所需环境。具体来说JDK其实包含了JRE,同时还包含了编译java源码的编译......
  • Java面试题及答案整理( 2024年 6 月最新版,持续更新)
    秋招金九银十快到了,发现网上很多Java面试题都没有答案,所以花了很长时间搜集整理出来了这套Java面试题大全~这套互联网Java工程师面试题包括了:MyBatis、ZK、Dubbo、EL、Redis、MySQL、并发编程、Java面试、Spring、微服务、Linux、Springboot、SpringCloud、MQ、Kafka面试专......