16.20 - JSON列でのアルゴリズム圧縮の使用 - Teradata Vantage NewSQL Engine

Teradata Vantage™ JSONデータ型

prodname
Teradata Database
Teradata Vantage NewSQL Engine
vrm_release
16.20
created_date
2019年3月
category
プログラミング リファレンス
featnum
B035-1150-162K-JPN
次の圧縮関数を使用して、JSON型の列でアルゴリズム圧縮(ALC)を実行できます。
  • JSON_COMPRESS
  • JSON_DECOMPRESS
  • TD_LZ_COMPRESS
  • TD_LZ_DECOMPRESS

TD_LZ_COMPRESSを使用してJSONデータを圧縮できます。ただし、JSON_COMPRESS関数はJSONデータの圧縮用に最適化されているので、代わりにJSON_COMPRESSを使用することを推奨します。

JSON_COMPRESSとJSON_DECOMPRESSは、JSON型の列を圧縮するためにのみ使用できます。これらの関数を使って他のデータ型の列を圧縮することはできません。

独自の圧縮および圧縮解除のユーザー定義関数を作成して、JSON型の列にアルゴリズム圧縮を実行することはできません。上記の関数を使用する必要があります。

ALCを使用して、バイナリ ストレージ形式(BSONまたはUBJSON)のいずれかでJSON データを格納する列を圧縮できます。

ALCをブロック レベル圧縮(BLC)と一緒に使用するとパフォーマンスが低下することがあるため、この方法は推奨しません。圧縮の使用例とサンプルの詳細については、https://access.teradata.comにログインし、Teradataオレンジ ブックの<Teradataのブロック レベル圧縮>を参照してください。

圧縮関数についての詳細は、<Teradata Vantage™ SQL演算子とユーザー定義関数、B035-1210>を参照してください。

COMPRESS句とDECOMPRESS句についての詳細は、<Teradata Vantage™データ型およびリテラル、B035-1143>を参照してください。

例: JSON_COMPRESS関数とJSON_DECOMPRESS関数

この例では、JSON_COMPRESS関数を使って"json_col"列のJSONデータを圧縮します。圧縮されたデータは、JSON_DECOMPRESS関数を使って圧縮解除されます。

CREATE TABLE temp (
  id       INTEGER, 
  json_col JSON(1000) 
           CHARACTER SET LATIN 
           COMPRESS USING JSON_COMPRESS 
           DECOMPRESS USING JSON_DECOMPRESS);