原文地址:https://obartunov.livejournal.com/205362.html
原文作者:obartunov
我们已经为PG15提交了TOAST API。
下面是JSONB的性能分析,它使用了TOAST API实现的JSONB TOASTER。
每个jsonb,诸如:key1, looong key2[], key3, loong key4[]。 关于基准测试中使用的数据和查询的描述,请查看我们在pgvision 2021演讲中的第10张幻灯片。
下图中可以清晰的看出jsonb缩放的问题。
我们使用TOAST API实现了自定义的JSONB TOASTER(作为一个扩展!),并依据JSONB大小(inline, compressed inline, toasted)和关键位置的不同展示了优化结果集。 我们可以看到(第一张图),所有的优化(+all)都会导致两个数量级的性能提升。
其他图片显示了关键访问性能受不同指标和jsonb大小的影响情况。
备注:
TOAST API是基于postgres可扩展性的扩展插件,它允许按自数据类型定制长值存储(以扩展插件形式实现)。我们的计划是将API包含在PG15,以及GSON,一个通用JSON API,这样我们之后可以发布jsonb_toaster
扩展插件。因为我们决定只专注于JSONB,所以我们将移除GSON对JSON的支持(以后可以恢复),以使得补丁更小。
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。