製品をチェック

Neo4J ODBC Driver の30日間無償トライアルをダウンロード

 ダウンロードはこちら

製品の詳細

Neo4J アイコン Neo4J ODBC Driver 相談したい

Neo4j ODBC ドライバーは、ODBC 接続をサポートする任意のアプリケーションからリアルタイムなNeo4j アカウントデータに直接接続できるパワフルなツールです。標準のODBC ドライバーインタフェースを使用して、データベースのようにNeo4j データにアクセスし、読み、書き、更新を実行できます。

Neo4J データをSQL Server に連携して利用する4つの方法を比較

ODBC Driver、SQL Gateway、SSIS Components、Sync を通したSQL Server とNeo4J の連携について、それぞれの特徴を解説します。

古川えりか
コンテンツスペシャリスト

最終更新日:2021-09-27

こんにちは!ドライバー周りのヘルプドキュメントを担当している古川です。

この記事では、SQL Server でNeo4J データを使うというシナリオにフォーカスして実現方法やメリット&デメリットを解説します。

1. ODBC Driver からCACHE クエリでNeo4J データをSQL Server に同期

一番簡単な方法として、CData ODBC Driver for Neo4j でCACHE クエリを実行する方法があります。CData ODBC Driver はCACHE をサポートしており、メタデータのみのキャッシュから明示的にデータを含むCACHE を発行可能です。

詳細はこちら: Neo4J データをPowerShell script でSQL Server にレプリケートする方法

ODBC Driver for Neo4j のDSN 設定でCACHE 設定を行います。以下のようにCACHE SELECT というSQL を発行することで、選択したテーブルのデータをコピーできます。

CACHE SELECT * FROM テーブル名
  • 設定の簡単さ:★★

  • 環境の簡単さ:★★★

  • ライセンスコスト:★★★

  • リアルタイム性:★

  • 連携はNeo4J → SQL Server の片方向のみ

  • 柔軟性:★★

簡単な.NET デスクトップアプリでCACHE クエリを定期的に発行することもできますし、記事のようにPowerShell からスクリプトで実行することもできます。PowerShell ですとWindows マシンからアプリのデプロイなどをしなくても使えますし、定期実行ができるのでお手軽です。

必要なCData 製品のライセンスはODBC Driver 1本のみなので、低価格でNeo4J → SQL Server の実装が可能です。とはいえバッチ連携ですので、リアルタイムなNeo4J データを扱えない点は少し残念です。またSQL やPowerShell スクリプトを書いたり、バッチ処理を行うアプリを作成する必要があります。

CData では、Neo4J PowerShell Cmdlets も提供しています。Cmdlets を使えば、中継用のアプリケーションを作成せずにPowerShell だけでNeo4J からSQL Server にデータをコピーすることが可能です。PowerShell Cmdlets については こちらを参照してください。

2. SQL Gateway でSQL Server のリンクサーバーとしてNeo4J データにアクセス

SQL Server には、リンクサーバーという他のDB をSQL Server から呼び出せる統合機能があります。CData ODBC Driver for Neo4j に付属しているSQL Gateway を使えば、Neo4J データをSQL Server のリンクサーバーとして扱うことができます。Neo4J データがSQL Server 保存されるわけではありませんが、SQL Server のインターフェースでNeo4J データをSQL を使って呼び出すことができます。

設定方法はこちら:Neo4J データにSQL Server のリンクサーバーとして接続

通常のODBC Driver for Neo4j のDSN 設定の後にSQL Gateway を立ち上げ、Neo4J DSN をSQL Server のサービスとして設定します。SQL Server Management Studio でこのサービスをリンクサーバーとして登録すると、SQL クエリでNeo4J データをリンクサーバー経由で使用することができます。 複数の.NET クライアントアプリからのNeo4J データ参照や、SQL Server データとのJOIN などに最適です。

SELECT * from リンクサーバー名.CData Neo4J Source Sys(ODBC DSN 名).Neo4J.テーブル名
  • 設定の簡単さ:★

  • 環境の簡単さ:★

  • ライセンスコスト:★★

  • リアルタイム性:★★★

  • 連携はNeo4J → SQL Server および、SQL Server → Neo4J の双方向が可能

  • 柔軟性:★★

SQL Server のリンクサーバーに慣れ親しんだ方には一番使いやすい利用方法です。常に最新のNeo4J データをリアルタイムにクエリできる点も優れています。SQL Server 側からSQL で双方向連携(書き込みを含む)できる点が大変便利です。

手間としてはSQL Gateway をホスティングして稼働させなければならない点があります。またSQL Gateway は、ODBC Driver for Neo4j のサーバーライセンスに同梱されています。

そして、SQL Server のリンクサーバーを使えば、SQL Server → Neo4J の方向の連携も可能になります。SQL Server 側のストアドプロシージャでNeo4J へのSQL Server データの書き込みができます。

3. SSIS でkintone データをSQL Server にインポート

SQL Server ユーザーの中には、データ統合・ワークフローにSSIS(SQL Server Integration Services)を使っている方も多いのではないでしょうか。CData では、SSIS 向けにNeo4J への連携が可能なSSIS Components for Neo4j を提供しています。

技術記事: SSIS を使ってNeo4J データをSQL Server にインポート

  • 設定の簡単さ:★★

  • 環境の簡単さ:★★

  • ライセンスコスト:★★

  • リアルタイム性:★★

  • 連携はNeo4J → SQL Server および、SQL Server → Neo4J の双方向が可能

  • 柔軟性:★★★

SSIS ユーザーであれば、Neo4J Components さえあれば、簡単にSQL Server へのインポートフローを組むことができます。コンポーネントもドライバーと同程度の価格でありリーズナブルです。

SSIS 以外でもすでにETL / EAI ツールをお持ちであれば、CData Drivers をETL / EAI ツールで使うだけで簡単にデータ連携が可能です。

4. CData Sync でNeo4J データをSQL Server に反復同期

最後はCData Sync というSaaS データをRDB に同期する専用のアプリケーションを使う方法です。CData Sync はサーバーアプリケーションになっており、ブラウザコンソールからノーコードで3ステップで同期ジョブが設定できます。

定期実行や細かいレプリケーションの項目設定までをGUI 操作だけで実行可能です。

設定方法はこちら:SQL Server へのNeo4J データのETL/ELT パイプラインを作ってデータを統合する方法

  • 設定の簡単さ:★★★

  • 環境の簡単さ:★★

  • ライセンスコスト:★

  • リアルタイム性:★

  • 連携はNeo4J → SQL Server の片方向のみ

  • 柔軟性:★★★

DB への同期専用のノーコードツールであり、使いやすさや拡張性は高いです。サーバーツールですので、価格は#2 と同程度になります。

無償トライアルでNeo4J をSQL Server に連携

Neo4J → SQL Server の連携の4つの実装方法を紹介しました。利用の規模や技術的な制約によっていろいろな方法があります。ぜひ、自分のケースに合った連携方法を選んでください。 記事で紹介した4つの方法の実行に必要な製品は以下になります。どの製品も30日間の無償トライアルが利用できますので、ぜひお試しください。

関連コンテンツ

トライアル・お問い合わせ

30日間無償トライアルで、CData のリアルタイムデータ連携をフルにお試しいただけます。記事や製品についてのご質問があればお気軽にお問い合わせください。