SAS Data Sets データからSQL Server に接続する4つの方法をご紹介。あなたにピッタリな方法は?

SAS Data Sets データをSQL Server から使う4種類の方法を、最適なユースケース(開発者、SQL Server 熟練者、SSIS ユーザー、ビジネスユーザー)と併せて紹介します。

加藤龍彦
ウェブデベロッパー


sasdatasets ロゴ

CData

sqlserver ロゴ画像
SQL Server ロゴ

こんにちは!ウェブ担当の加藤です。マーケ関連のデータ分析や整備もやっています。

CData の幅広い製品ラインアップを使えば、いろいろな方法でSAS Data Sets とSQL Server のデータ連携を実現できます。

  • 自分で開発ができるか
  • 実際にデータをSQL Server に書き込むのか
  • リンクサーバーで仮想的にSQL Server で使うのか
  • ノーコードを希望か

など、多様なニーズに応じて最適な製品を用意しています。すべての製品に30日間無償トライアルを用意していますので、気軽にお試しいただけます。この記事では、ODBC Driver とPowershell(またはカスタムアプリ)の合わせ技、SQL Gateway(リンクサーバー)、SSIS、CData Sync の4種類の方法をそのメリット・デメリットと共に紹介します。

開発者なら:ODBC Driver for SASDataSets のCACHE クエリでSAS Data Sets データをSQL Server に同期

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

詳細記事:SAS Data SetsデータをPowerShell script でSQL Server にレプリケートする方法

ODBC Driver for SASDataSets でCACHE クエリを実行する方法

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

CACHE SELECT * FROM テーブル名

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

ODBC Driver は比較的低コストで利用できるため、手軽にSAS Data Sets -> SQL Server の実装が可能です。とはいえバッチ連携のため、リアルタイムなSAS Data Sets データを扱えない点は少し残念です。また、SQL を書かなければならないこと、バッチ処理を行うアプリやPowerShell スクリプトを書く必要があります。

SAS Data Sets ODBC Driver へ

SQL Server が得意なら:SQL Gateway でリンクサーバーとしてSAS Data Sets データにアクセス

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

詳細記事:SAS Data SetsデータにSQL Server のリンクサーバーとして接続

SQL Gateway でリンクサーバーとしてSAS Data Sets データにアクセス

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

SELECT * from リンクサーバー名.CData SASDataSets Source Sys(ODBC DSN 名).SASDataSets.テーブル名

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

手間としては、SQL Gateway をサーバーにホスティングして稼働させなければならない点があります。またサーバーホスティングのため、コストは高めです。

SAS Data Sets ODBC Driver へ

SSIS ユーザーなら:SSIS でSAS Data Sets データをSQL Server にインポート

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

詳細記事:SAS Data SetsデータをSSIS を使ってSQL Server にインポート

SSIS でSAS Data Sets データをSQL Server にインポート

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

SSIS 以外のETL / EAI ツールをご利用であれば、CData Drivers をETL / EAI ツールで使うだけで簡単にデータ連携が可能です。ASTERIA Warp、DataSpider、Informatica、Waha! Transformer、RACCOON、Talend など多様なETL ツールから利用できます。SAS Data Sets とETL の連携記事は、こちらに一覧としてまとまっています(SAS Data Sets のETL、レプリケーション & DWH 接続ガイド)。すでに利用しているツールにSAS Data Sets Driver をアドオンするだけで連携が組めるので、ETL ツールを使っているユーザーはこちらのオプションがコスト・技術の両面で使いやすいでしょう。

SAS Data Sets SSIS Component へ

ノーコードで使うなら:CData Sync でSAS Data Sets データをSQL Server にレプリケーション

以上の方法に馴染みがなく、ノーコードでSAS Data Sets とSQL Server を連携したい場合には、CData Sync というSaaS データをDB / DWH に同期する専用のアプリケーションを使う方法がおすすめです。CData Sync はサーバーアプリケーションになっており、インストール後3ステップで手軽にレプリケーションジョブが設定できます。定期実行や細かいレプリケーションの項目設定までをGUI 操作だけで実行可能です。

詳細記事:SQL Server へのSAS Data Sets データの自動反復レプリケーション

CData Sync でSAS Data Sets データをSQL Server にレプリケーション

DB への同期専用のノーコードツールであり、他の方法に比べて使いやすさや拡張性の高さが特徴です。他の方法に比べると、コスト面は高めになります。

CData Sync へ

おわりに

CData では、SAS Data Sets とSQL Server のデータ連携を実現するための幅広い製品を用意しています。まとめると:

  • ODBC Driver は特に開発経験のあるユーザーにおすすめで、.NET アプリやPowerShell からCACHE クエリでSAS Data Sets データを低コストでSQL Server にコピーできます。
  • SQL Gateway はSQL Server に慣れ親しんだユーザーやリアルタイムデータ必要な方におすすめで、SQL Server のリンクサーバーとしてSAS Data Sets データを扱うことができます。
  • SSIS Component を使った方法はSSIS 経験者におすすめで、SSIS のインポートフローを手軽に作成でき、低コストです。
  • CData Sync は、ノーコードでSAS Data Sets データをSQL Server にレプリケーションすることができるのが特徴です。

どの製品も日本語オンラインドキュメントおよびテクニカルサポートを用意していますので、安心してご利用いただけます。製品選定について記事だけではわからない部分がありましたら、お気軽にお問い合わせください。

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

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