ノーコードでクラウド上のデータとの連携を実現。
詳細はこちら →CData
こんにちは!ウェブ担当の加藤です。マーケ関連のデータ分析や整備もやっています。
CData の幅広い製品ラインアップを使えば、いろいろな方法でPhoenix とSQL Server のデータ連携を実現できます。
など、多様なニーズに応じて最適な製品を用意しています。すべての製品に30日間無償トライアルを用意していますので、気軽にお試しいただけます。この記事では、ODBC Driver とPowershell(またはカスタムアプリ)の合わせ技、SQL Gateway(リンクサーバー)、SSIS、CData Sync の4種類の方法をそのメリット・デメリットと共に紹介します。
PowerShell や.NET での開発経験がある方に一番簡単な方法として、CData ODBC Driver for ApachePhoenix でCACHE クエリを実行する方法があります。CData ODBC Driver はCACHE をサポートしており、メタデータのみのキャッシュから明示的にデータを含むCACEH までを発行可能です。
詳細記事:PhoenixデータをPowerShell script でSQL Server にレプリケートする方法
ODBC Driver for ApachePhoenix のDSN 設定でCACHE 設定を行います。以下のようにCACHE SELECT というSQL を発行することで、選択したテーブルのデータをコピーできます。
CACHE SELECT * FROM テーブル名
簡単な.NET デスクトップアプリでCACHE クエリを定期的に発行することもできますし、記事のようにPowerShell からスクリプトで実行することもできます。PowerShell ですとWindows マシンからアプリのデプロイなどをしなくても使えますし、定期実行ができるのでお手軽です。
ODBC Driver は比較的低コストで利用できるため、手軽にPhoenix -> SQL Server の実装が可能です。とはいえバッチ連携のため、リアルタイムなPhoenix データを扱えない点は少し残念です。また、SQL を書かなければならないこと、バッチ処理を行うアプリやPowerShell スクリプトを書く必要があります。
SQL Server にはリンクサーバーといって、他のDB をSQL Server から呼び出せる統合機能があります。CData ODBC Driver for ApachePhoenix に付属しているSQL Gateway を使えば、Phoenix データをSQL Server のリンクサーバーとして扱うことができます。物理的にPhoenix データがSQL Server に保存されるわけではありませんが、SQL Server のインターフェースでPhoenix データがSQL を使って呼び出すことができます。
詳細記事:PhoenixデータにSQL Server のリンクサーバーとして接続
通常のODBC Driver for ApachePhoenix のDSN 設定の後にSQL Gateway を立ち上げ、Phoenix DSN をSQL Server のサービスとして設定します。SSMS でこのサービスをリンクサーバーとして登録すると、SQL クエリでPhoenix データをリンクサーバー経由で使用することができます。 複数の.NET クライアントアプリからのPhoenix データ参照や、SQL Server データとのJOIN などに最適です。
SELECT * from リンクサーバー名.CData ApachePhoenix Source Sys(ODBC DSN 名).ApachePhoenix.テーブル名
SQL Server のリンクサーバーに慣れ親しんだ方には一番使いやすい利用方法です。常に最新のPhoenix データをリアルタイムにクエリできる点も優れています。SQL Server 側からのSQL で双方向連携(書き込みを含む)ができる点が大変便利です。
手間としては、SQL Gateway をサーバーにホスティングして稼働させなければならない点があります。またサーバーホスティングのため、コストは高めです。
SQL Server ユーザーでは、データ統合・ワークフローにSSIS(SQL Server Integration Services)を使っている方も多いのではないでしょうか?CData では、SSIS 向けにPhoenix への連携が可能なSSIS Component for ApachePhoenixを提供しています。
詳細記事:PhoenixデータをSSIS を使ってSQL Server にインポート
SSIS ユーザーであれば、Phoenix Component さえあれば簡単にSQL Server へのインポートフローを組むことができます。コンポーネントはドライバーと同程度の価格で、リーズナブルです。
SSIS 以外のETL / EAI ツールをご利用であれば、CData Drivers をETL / EAI ツールで使うだけで簡単にデータ連携が可能です。ASTERIA Warp、DataSpider、Informatica、Waha! Transformer、RACCOON、Talend など多様なETL ツールから利用できます。Phoenix とETL の連携記事は、こちらに一覧としてまとまっています(Phoenix のETL、レプリケーション & DWH 接続ガイド)。すでに利用しているツールにPhoenix Driver をアドオンするだけで連携が組めるので、ETL ツールを使っているユーザーはこちらのオプションがコスト・技術の両面で使いやすいでしょう。
以上の方法に馴染みがなく、ノーコードでPhoenix とSQL Server を連携したい場合には、CData Sync というSaaS データをDB / DWH に同期する専用のアプリケーションを使う方法がおすすめです。CData Sync はサーバーアプリケーションになっており、インストール後3ステップで手軽にレプリケーションジョブが設定できます。定期実行や細かいレプリケーションの項目設定までをGUI 操作だけで実行可能です。
詳細記事:SQL Server へのPhoenix データのETL/ELT パイプラインを作ってデータを統合する方法
DB への同期専用のノーコードツールであり、他の方法に比べて使いやすさや拡張性の高さが特徴です。他の方法に比べると、コスト面は高めになります。
CData では、Phoenix とSQL Server のデータ連携を実現するための幅広い製品を用意しています。まとめると:
どの製品も日本語オンラインドキュメントおよびテクニカルサポートを用意していますので、安心してご利用いただけます。製品選定について記事だけではわからない部分がありましたら、お気軽にお問い合わせください。