Nieuwe SQL-functies zstd_compress en zstd_decompress

De functies zstd_compress en zstd_decompress comprimeren en decomprimeren een blob met het Zstandard-algoritme.

De functies zijn vergelijkbaar met zlib_compress en zlib_decompress. Voor teksten is Zstandard doorgaans effectiever dan Zlib of GZip terwijl de snelheid vergelijkbaar of hoger is.

Werking

zstd_compress neemt een blob en levert het Zstandard-gecomprimeerde resultaat als blob. zstd_decompress doet het omgekeerde: een Zstandard-gecomprimeerde blob levert de oorspronkelijke inhoud terug. Beide functies accepteren precies één parameter.

Voorbeeld: Comprimeren

Het volgende voorbeeld comprimeert een tekst en toont het resultaat in base64:

select base64_encode(zstd_compress(ascii_to_blob('Deze tekst laat zien hoe de functie zstd_compress herhaalde patronen herkent en tot een klein resultaat comprimeert.')))

Met als resultaat:

KLUv/SB0rQIAQkcUFbClOee0JH6L7J1kWCbS5rCUuYxZBICjjQomdKKv+hHSWCs+pmb395p7s0GTmu3wlepxqgiaNNOY0AnBeA51uTBhUI/6SM1l6KtOn8avBwcCAA==

Voorbeeld: Decomprimeren

Het volgende voorbeeld decomprimeert de blob uit het vorige voorbeeld en levert de oorspronkelijke tekst terug:

select to_char(zstd_decompress('KLUv/SB0rQIAQkcUFbClOee0JH6L7J1kWCbS5rCUuYxZBICjjQomdKKv+hHSWCs+pmb395p7s0GTmu3wlepxqgiaNNOY0AnBeA51uTBhUI/6SM1l6KtOn8avBwcCAA=='))

Met als resultaat:

Deze tekst laat zien hoe de functie zstd_compress herhaalde patronen herkent en tot een klein resultaat comprimeert.

Beschikbaarheid

De SQL-functies zstd_compress en zstd_decompress zijn beschikbaar vanaf release 27.0.