メインコンテンツまでスキップ
バージョン: 3.15

ScalarDB FDW

注記

このページは英語版のページが機械翻訳されたものです。英語版との間に矛盾または不一致がある場合は、英語版を正としてください。

ScalarDB FDW は、ScalarDB の外部データラッパー (FDW) を実装する PostgreSQL 拡張機能です。

ScalarDB FDW は、Java Native Interface を使用して、FDW 内のライブラリとして ScalarDB を直接利用し、ScalarDB のスキャン操作を介して外部データベースからデータを読み取ります。

前提条件

環境に次の前提条件が設定されている必要があります。

JDK

ScalarDB と互換性のあるバージョンの Java Development Kit (JDK) をインストールする必要があります。さらに、JDK インストールディレクトリを指す JAVA_HOME 環境変数を設定する必要があります。

これらの拡張機能は内部で Java Native Interface (JNI) を使用するため、ライブラリ検索パスに libjvm.so などの Java 仮想マシン (JVM) の動的ライブラリを含める必要があることに注意してください。

PostgreSQL

この拡張機能は PostgreSQL 13以降をサポートしています。PostgreSQL のインストール方法の詳細については、サーバー管理の公式ドキュメントを参照してください。

ビルドとインストール

以下のコマンドを実行すると、この拡張機能をビルドしてインストールできます。

make install

一般的なビルドエラー

このセクションでは、発生する可能性のある一般的なビルドエラーについて説明します。

ld: -ljvm のライブラリが見つかりません

通常、ビルドスクリプトは libjvm.so のパスを見つけ、それをライブラリ検索パスとして適切に設定しています。ただし、ld: library not found for -ljvm というエラーが発生した場合は、libjvm.so ファイルをデフォルトのライブラリ検索パスにコピーしてください。例:

ln -s /<PATH_TO_YOUR_LIBJVM_FILE>/libjvm.so /usr/lib64/libjvm.so

使用方法

このセクションでは、ScalarDB の FDW の使用例と利用可能なオプションについて説明します。

次の例では、必要なコンポーネントをインストールして作成し、FDW 拡張機能を使用してクエリを実行する方法を示します。

1. 拡張機能をインストールする

拡張機能のインストール方法の詳細については、ビルドとインストールセクションを参照してください。

2. 拡張機能を作成する

拡張機能を作成するには、次のコマンドを実行します。

CREATE EXTENSION scalardb_fdw;

3. 外部サーバーを作成する

外部サーバーを作成するには、次のコマンドを実行します。

CREATE SERVER scalardb FOREIGN DATA WRAPPER scalardb_fdw OPTIONS (
config_file_path '/path/to/scalardb.properties'
);

4. ユーザーマッピングを作成する

ユーザーマッピングを作成するには、次のコマンドを実行します。

CREATE USER MAPPING FOR PUBLIC SERVER scalardb;

5. 外部テーブルを作成する

外部テーブルを作成するには、次のコマンドを実行します。

CREATE FOREIGN TABLE sample_table (
pk int,
ck1 int,
ck2 int,
boolean_col boolean,
bigint_col bigint,
float_col double precision,
double_col double precision,
text_col text,
blob_col bytea
) SERVER scalardb OPTIONS (
namespace 'ns',
table_name 'sample_table'
);

6. クエリを実行する

クエリを実行するには、次のコマンドを実行します。

select * from sample_table;

使用可能なオプション

ScalarDB FDW オブジェクトには次のオプションを設定できます。

CREATE SERVER

ScalarDB 外部サーバーオブジェクトには次のオプションを設定できます。

名前必須タイプ説明
config_file_pathはいstringScalarDB 設定ファイルへのパス。
max_heap_sizeいいえstringJVM の最大ヒープサイズ。形式は -Xmx と同じです。

CREATE USER MAPPING

現在、CREATE USER MAPPING のオプションはありません。

CREATE FOREIGN SERVER

ScalarDB 外部テーブルオブジェクトには次のオプションを設定できます。

名前必須タイプ説明
namespaceはいstringScalarDB インスタンス内のテーブルの名前空間の名前。
table_nameはいstringScalarDB インスタンス内のテーブルの名前。

データ型のマッピング

ScalarDBPostgreSQL
BOOLEANboolean
INTint
BIGINTbigint
FLOATfloat
DOUBLEdouble precision
TEXTtext
BLOBbytea

テスト

このセクションでは、ScalarDB の FDW をテストする方法について説明します。

テスト用の ScalarDB インスタンスの設定

ScalarDB の FDW をテストする前に、テストデータを含む実行中の ScalarDB インスタンスが必要です。次のコマンドを実行して、インスタンスを設定し、テストデータをロードできます。

./test/setup.sh

インスタンスをリセットする場合は、次のコマンドを実行してから、上記のセットアップコマンドを再度実行します。

./test/cleanup.sh

回帰テストを実行する

FDW 拡張機能をインストールした後、次のコマンドを実行すると、回帰テストを実行できます。

make installcheck

制限事項

  • この拡張機能は、ScalarDB 管理データベースでの分析クエリ処理を可能にすることを目的としています。したがって、この拡張機能は ScalarDB からのデータの読み取りのみをサポートします。
This website uses cookies to enhance the visitor experience. By continuing to use this website, you acknowledge that you have read and understood our privacy policy and consent to the use of cookies to help improve your browsing experience and provide you with personalized content.