2015-10-27 9 views
5

私は、Azure SQLデータウェアハウスを使用してデータウェアハウスを構築する必要があります。これは、単一のAzure SQLデータベースからのデータをソースとしています。マイAzureのSQLデータベースは正規化されているが、私はで私のAzure SQLデータウェアハウスを構築したいと思いますAzure SQLデータベースからAzure SQLデータウェアハウスへのETLデータへの推奨ツール

  • SSIS
  • Azureのデータファクトリー

this articleを見ると、私が2つのオプションがありそうですスターやスノーフレークのスキーマ形式なので、それはテーブルの真っ直ぐなコピーではありません。間違いなく変換が必要です。

SSISはAzure SQLデータベースではサポートされていないため、SQL ServerでVMを実行してプロセスを完全にAzureにする必要があります。Azure Data Factoryは、Azure SQLデータベースとAzure間のETLデータSQLデータウェアハウス?このような状況では、一方の選択肢と他方の選択肢がより完全に機能するだろうか?

ありがとうございました!

答えて

4

プロセスを完全にクラウドに保ち、VMをスピンアップさせたくない場合、Azure Data Factoryは現在、データ移動に最適なオプションです。しかし、現時点では、ETLアプローチよりELTアプローチを推奨するかもしれません。まずデータをロードしてからSQLデータウェアハウス内で変換を完了することで、負荷がより速くなり、データを変換するときに追加のコンピューティング能力を活用することができます。さらに、SQLに精通しているように聞こえるので、データファクトリのJSONを使用するのではなく、SQLデータウェアハウス内で変換を記述する方が簡単かもしれません。

+0

から

は、応答をありがとう!マイナーなフォローアップ - SQLデータウェアハウス内で変換を実行するにはどのツールが最適でしょうか?挿入、更新するディメンションデータだけでなく、更新することも、更新しないスナップショットスタイルの表を使用して履歴データを取得することも検討しています。これは、ADFアクティビティの完了によってトリガされ、ADW上でいくつかのsprocsを実行して、スター/スノーフレーク・スキーマ・テーブルに移入することのできる何らかのプロセスですか? – tarun713

+1

Data Factoryでは、[SQLServerStoredProcedure](https://azure.microsoft.com/en-us/documentation/articles/data-factory-stored-proc-activity/)アクティビティを使用してパイプラインでの変換をスケジュールすることもできます。これにより、トリガーを必要とせずにデータの移動とsprocsをスケジュールすることができます。 –

+0

@ tarun713 ADFアクティビティでは、アクティビティの完了時に「クリーンアップ」ストアド・プロシージャを実行できます。これは、スター・スキーマに移入するすべての作業を行うマスター・ストアド・プロシージャです。 –

0

Azure SQLデータベースを指すように外部テーブルを作成する(DWで)かどうかを確認してください。これにより、テーブルを作成してスター/スノーフレークに変更するためのいくつかのテーブル作成コマンド(CTAS)を発行することができます。 https://msdn.microsoft.com/en-us/library/dn935022.aspx

--Create an external data source for a remote database on Azure SQL Database 
CREATE EXTERNAL DATA SOURCE data_source_name 
    WITH ( 
     TYPE = RDBMS, 
     LOCATION = '<server_name>.database.windows.net', 
     DATABASE_NAME = 'Remote_Database_Name', 
     CREDENTIAL = SQL_Credential 
    ) 
[;] 
+0

この記事では、その仕組みを詳しく説明しています。 https://azure.microsoft.com/en-us/documentation/articles/sql-database-elastic-query-getting-started-vertical/ – fchukoskie

+0

応答に感謝します!これは非常に興味深いものですが、わかりませんでしたが、私たちの目標の1つは、実行する分析がリレーショナルデータベースに負荷をかけないようにデータウェアハウスdbを構築することです。これを実装すると、一部のディメンション表のデータをコピーする必要がなくなりますが、負荷はリレーショナル・データベースに残っているため、これはオプションではないと思います。 – tarun713

+0

どのようにデータを移動しても、データを移動するたびにリレーショナルデータベースには負荷がかかります。私はこの考え方が、データプッシュ(SSISまたはデータファクトリを使用)ロジックとデータプル(CTASコマンドで保存している間に外部テーブルをクエリする)の違いであると考えています。その新しいテーブルがロードされると、リレーショナルDBに対する負荷が終了し、ロードした新しいテーブルに対して残りの作業を行います。したがって、外部表は、ロード中に使用される暫定的なステップであり、照会する最後の表ではありません。 – fchukoskie

関連する問題