『Oracle Database JSON開発者ガイド』の今回のリリースにおける変更点

Oracle Database JSON開発者ガイドは、Oracle Database 12cリリース2 (12.2.0.1)の新しいマニュアルです。

Oracle Database 12cリリース1 (12.1.0.2)でのJSONデータの使用に関する情報は、Oracle XML DB開発者ガイドで説明しています。

トピック:

Oracle Database 12cリリース2 (12.2.0.1)でのJSON開発者ガイド向けの変更

Oracle Database 12cリリース2 (12.2.0.1)での、JSONサポートとOracle Database JSON開発者ガイドの変更点について説明します。

トピック:

新機能

このリリースの新機能は次のとおりです。

トピック:

JSONデータの格納および管理

トピック:

JSONデータのパーティション化

JSON仮想列をパーティション化キーとして使用して、表をパーティション化できるようになりました。

パーティション化された表のJSON検索索引

パーティション化された(レンジ・パーティション化、リスト・パーティション化、ハッシュ・パーティション化またはインターバル・パーティション化を使用)元表に、JSON検索索引を作成できるようになりました。

JSONデータの問合せ

トピック:

パス式の機能拡張

JSONパス式に、データの照合によって満たす必要があるフィルタ式と、データを変換できる変換メソッドを含められるようになりました。

単純なドット表記法構文による配列アクセスのサポート

単純なドット表記法構文を使用して、配列とその要素にアクセスできるようになりました。

データ・ガイド

一連のJSON文書の構造的情報を取得するJSONデータ・ガイドを作成できるようになりました。JSONデータ・ガイドは派生スキーマとして動作し、それが表すJSONデータと一緒に維持されます。また、文書で使用されているスカラー値に関する統計情報の記録も行います。

PL/SQLに追加されたSQL/JSONファンクションおよび条件

json_valuejson_queryjson_objectおよびjson_arrayのSQL/JSONファンクションと、json_existsのSQL/JSON条件が、PL/SQL言語に組込み関数として追加されました(json_existsはPL/SQLのブール型関数)。

追加のデータ型に対するJSON_VALUEおよびJSON_TABLEのサポート

SDO_GEOMETRYDATETIMESTAMPおよびTIMESTAMP WITH TIME ZONEのSQLデータ型を、json_valueおよびjson_tableのSQL/JSONファンクションで使用できるようになりました。

これらのいずれかを、SQL/JSONファンクションjson_valueの戻りデータ型として、また、SQL/JSONファンクションjson_tableの列データ型として指定できます。

SDO_GEOMETRYは、Oracle Spatial and Graphデータに対して使用します。特に、これらの関数をGeoJSONデータと一緒に使用できることを意味します。GeoJSONデータは、JSONの地理データをエンコードするための形式です。

パフォーマンス

トピック:

検索の機能拡張

JSON検索索引の作成に、よりシンプルな構文を使用できるようになりました。組込みの日時データ型としてキャストできる数値およびJSON文字列に、範囲検索を使用できるようになりました。

JSON_TABLEにリライトされたSQL/JSON問合せファンクションおよび条件

多くの場合に、オプティマイザが、json_existsjson_valueおよびjson_queryの複数の呼出し(任意の組合せ)を、より少ないjson_tableの呼出しにリライトするようになりました。これにより、json_tableの呼出しごとにデータが1度だけ解析されるため、通常、パフォーマンスが向上します。

インメモリー列ストアのJSON列

問合せのパフォーマンスを向上させるために、JSON列をインメモリー列ストアに格納できるようになりました。

JSONデータに対するマテリアライズド・ビュー

VARCHAR2またはNUMBER列として投影されたJSONデータに対して、マテリアライズド・ビューを作成できるようになりました。

SQL/JSONファンクションjson_tableは、特定のJSONデータをVARCHAR2またはNUMBER列として投影します。通常、このような列に対してマテリアライズド・ビューを作成することで、問合せのパフォーマンスを向上させることができます。ビューは読取り専用である必要があり、ビューの作成時にFOR UPDATE句は許可されません。ビューの完全リフレッシュと増分リフレッシュの両方がサポートされます。多くの場合、ビュー列に対して索引を作成することで、問合せのパフォーマンスをさらに向上させることができます。

その他

トピック:

JSONデータ生成のためのSQL/JSONファンクション

SQL/JSONファンクションjson_objectjson_arrayjson_objectaggおよびjson_arrayaggを使用して、JSONデータをプログラム的に構成できるようになりました。

関連項目:

JSONデータの生成

JSONデータ用のPL/SQL API

PL/SQL APIを使用して、(1)データ・ガイド操作、(2)インメモリー、階層型、プログラム的表現によってバッキングされたJSONオブジェクト型に対するgetおよびset操作を提供できるようになりました。

シャーディングされた表のJSON列

シャーディングされた表にJSON列を作成し、そのJSONデータを問い合せることができるようになりました。

JSONデータを格納できるのは、シャーディングされた表内の型VARCHAR2 (32,767バイトまで)、CLOBまたはBLOBの列です。VARCHAR2として格納されていないかぎり、複数のシャード間にわたってJSONデータを問い合せることはできません。