暂无图片
暂无图片
1
暂无图片
暂无图片
暂无图片

[译] 一个TOAST 适合所有人

原创 上善若水 2022-05-11
646

原文地址: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的扩展问题。
image.png

我们使用提议的TOAST API实现了自定义的JSONB TOASTER(作为一个扩展),并展示了不同的优化结果,包括JSONB的大小(内联,压缩内联)和关键位置。我们看到(第一张图片),所有的优化(+所有)都导致了两个数量级的性能提升。

image.png

其他图片显示了不同钥匙和jsonb大小的钥匙访问性能。
image.png
image.png
image.png

注意:TOAST API是postgres可扩展性的进一步扩展,它允许每个数据类型自定义存储长值。
我们的计划是在PG15中拥有这个API,加上GSON–通用JSON API(http://www.sai.msu.su/~megera/postgres/talks/json-build-2020.pdf),所以我们可以在以后发布jsonb_toaster作为一个扩展。由于我们决定只专注于JSONB,我们已经删除了GSON中的JSON支持(以后可以恢复)以使补丁更小。

「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论