製品情報をご覧ください

製品情報や無償評価版を製品ページにてご確認いただけます。

製品ページへ

JSON データ のPostgreSQL インターフェースを作成

JSON JDBC Driver のリモート機能を使用し、データアクセス用のPostgreSQL エントリポイントを作成します。

インターネット上には、多くのPostgreSQL クライアントがあります。標準のドライバーからBI、アナリティクスツールまで、PostgreSQL はデータアクセスのための一般的なインターフェースです。 JDBC ドライバーを使用することで、簡単に任意の標準クライアントから接続できるPostgreSQL エントリポイントを作成できます。

JSON にPostgreSQL データベースとしてアクセスするには、CData JDBC Driver for JSON とJDBC foreign data wrapper (FDW) を使用します。ここでは、FDW をコンパイルしてインストールし、PostgreSQL サーバーからJSON にクエリを実行します。

JDBC データソースとしてJSON データに接続する

JDBC データソースとしてJSON に接続するには、以下が必要です。

  • Driver JAR path:
  • JAR は、インストールディレクトリのlib サブフォルダにあります。
  • Driver class: cdata.jdbc.json.JSONDriver

  • JDBC URL: URL は、"jdbc:json:" で始まり、セミコロンで区切られた名前と値の組み合わせで任意の接続プロパティを含めることができます。

    データソースへの認証については、ヘルプドキュメントの「はじめに」を参照してください。本製品は、JSON API を双方向データベーステーブルとして、JSON ファイルを読み取り専用ビュー(ローカル ファイル、一般的なクラウドサービスに保存されているファイル、FTP サーバー)としてモデル化します。HTTP Basic、Digest、NTLM、OAuth、FTP などの主要な認証スキームがサポートされています。詳細はヘルプドキュメントの「はじめに」を参照してください。

    URI を設定して認証値を入力したら、DataModel を設定してデータ表現とデータ構造をより厳密に一致させます。

    DataModel プロパティは、データをどのようにテーブルに表現するかを制御するプロパティで、次の基本設定を切り替えます。

    • Document(デフォルト):JSON データのトップレベルのドキュメントビューをモデル化します。本製品 は、ネストされたオブジェクト配列を集約されたJSON オブジェクトとして返します。
    • FlattenedDocuments:ネストされた配列オブジェクトと親オブジェクトを、単一テーブルに暗黙的に結合します。
    • Relational:階層データから個々の関連テーブルを返します。テーブルには、親ドキュメントにリンクする主キーと外部キーが含まれています。

    リレーショナル表現の設定についての詳細は、ヘルプドキュメントの「JSON データのモデリング」を参照してください。また、以下の例で使用されているサンプルデータも確認できます。データには人や所有する車、それらの車に行われたさまざまなメンテナンスサービスのエントリが含まれています。

    ビルトイン接続文字列デザイナ

    JDBC URL の構成については、JSON JDBC Driver に組み込まれている接続文字列デザイナを使用してください。JAR ファイルのダブルクリック、またはコマンドラインからJAR ファイルを実行します。

    java -jar cdata.jdbc.json.jar

    接続プロパティを入力し、接続文字列をクリップボードにコピーします。

    以下は一般的なJDBC URL です。

    jdbc:json:URI=C:\people.json;DataModel=Relational;

JDBC FDW を構築する

FDW は、PostgreSQL を再コンパイルせずに、PostgreSQL の拡張機能としてインストールできます。例としてjdbc2_fdw 拡張子を使用します。

  1. ご使用のバージョンのJRE 共有オブジェクトから、/usr/lib/libjvm.so にシンボリックリンクを追加します。例: ln -s /usr/lib/jvm/java-6-openjdk/jre/lib/amd64/server/libjvm.so /usr/lib/libjvm.so
  2. ビルドを開始する: make install USE_PGXS=1

JSON データをPostgreSQL データベースとしてクエリする

拡張機能をインストールした後、以下のステップに従ってJSON へのクエリの実行を開始します。

  1. データベースにログインします。
  2. データベースの拡張機能をロードする: CREATE EXTENSION jdbc2_fdw;
  3. JSON のオブジェクトを作成する: CREATE SERVER JSON FOREIGN DATA WRAPPER jdbc2_fdw OPTIONS ( drivername 'cdata.jdbc.json.JSONDriver', url 'jdbc:json:URI=C:\people.json;DataModel=Relational;', querytimeout '15', jarfile '/home/MyUser/CData/CData\ JDBC\ Driver\ for\ Salesforce MyDriverEdition/lib/cdata.jdbc.json.jar');
  4. MySQL デーモンに認識されているユーザーのユーザー名とパスワードのユーザーマッピングを作成します。 CREATE USER MAPPING for postgres SERVER JSON OPTIONS ( username 'admin', password 'test');
  5. ローカルデータベースに外部テーブルを作成する: postgres=# CREATE FOREIGN TABLE people ( people_id text, people_[ personal.name.first ] text, people_[ personal.name.last ] numeric) SERVER JSON OPTIONS ( table_name 'people');
JSON に対して 読み取り/書き込みコマンドを実行可能にする: postgres=# SELECT * FROM people;
 
 
ダウンロード