原文地址: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進行舉報,并提供相關證據,一經查實,墨天輪將立刻刪除相關內容。




