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

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

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

最終更新日:2023-08-03
redshift ロゴ

CData

sqlserver ロゴ画像
SQL Server ロゴ

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

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

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

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

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

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

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

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

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

CACHE SELECT * FROM テーブル名

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

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

Redshift ODBC Driver へ

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

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

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

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

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

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

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

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

Redshift ODBC Driver へ

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

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

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

SSIS でRedshift データをSQL Server にインポート

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

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

Redshift SSIS Component へ

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

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

詳細記事:SQL Server へのRedshift データのETL/ELT パイプラインを作ってデータを統合する方法

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

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

CData Sync へ

おわりに

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

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

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

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

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