JSON列でのアルゴリズム圧縮の使用

Teradata® Database JSONデータ型

brand
Software
prodname
Teradata Database
vrm_release
16.20
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)と一緒に使用するとパフォーマンスが低下することがあるため、この方法はお勧めしません。圧縮の使用例とサンプルの詳細については、Teradataオレンジ ブックの<Teradataのブロック レベル圧縮>を参照してください 。オレンジ ブックにはTeradata @ Your Service:https://access.teradata.comからアクセスしてください。

圧縮関数についての詳細は、<SQL関数、演算子、式および述部、B035-1145>を参照してください。

COMPRESS句とDECOMPRESS句についての詳細は、<SQLデータ型およびリテラル、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);