現代社会において、データはあらゆる組織にとって不可欠な存在となっています。そこで、ビッグデータ統合を容易にするために設計されたデータ統合サービスであるAzure Data Factoryが注目されています。
また、データの統合において重視されている3つのプロセスが「Extract(データの抽出)」「Transform(データの変換と加工)」「Load(データの格納)」です。
「Azure Data Factory」はエンタープライズ向けの大規模なETLもしくはELTを実現し、コードによる記述はもちろん視覚的にも操作できるツールです。ここではビッグデータを統合するメリットから、Azure Data Factoryの概要、初めて利用するときの方法やData Flowの使い方についても解説します。
Azure Data Factoryとは
Azure Data Factoryは、Microsoftが提供するクラウド型のデータ統合サービスで、オンプレミスにあるデータやクラウド上にあるデータを一元管理できます。
このサービスを利用することで、組織内で部署ごとにそれぞれ管理されており、独立した状態にあるデータの統合が可能です。さらに結合・加工といった処理を実施し、効率よくデータ分析ができます。
Azure Data Factoryでは、ビジュアル環境によってデータの構造化や組織化が可能です。データの格納、移動、準備、変換、処理は数回のクリックで行うことができ、シンプルかつ包括的なETLまたはELTのプロセスを実現できます。
コードの生成とメンテナンスはマネージドApache Sparkによって行われ、利用者はコーディングやメンテナンスを必要としません。オンプレミスとクラウドによるハイブリッド なデータ統合や、ビルドとデプロイを自動化するパイプラインを使うこともできます。
ETL・ELTとは?
企業におけるデータ活用がますます重要になっています。しかし、異なるシステムや形式で存在するデータを分析するには、データの処理や統合が不可欠です。ETLとELTは、どちらもデータを収集、処理、分析するためのデータ統合手法ですが、処理の順番が異なります。
ETLはExtract・Transform・ Loadの頭文字を取ったものです。
- 抽出 (Extract)
各種データソースから必要なデータを収集 - 変換 (Transform)
収集したデータを分析しやすい形に変換、データのクリーニング、結合、集計、マッピングなども行う - 格納 (Load)
データをデータウェアハウスやデータベースに格納
ETLは、分析するためのデータを抽出し、扱いやすい形に変換してから格納します。
一方で、ELTは抽出して格納をしてから扱いやすいデータに変換しています。データの質を求める場合はETL、処理速度を求める場合はELTを選択することが一般的です。それぞれの特徴を理解して用途に合わせて使い分けましょう。
Azure Data Factoryの4つの概念
Azure Data Factoryは、データ統合、変換、オーケストレーションを可能にするクラウドベースのサービスです。さまざまなソースからデータを収集し、処理、分析するためのワークフローを構築できます。
この章では、Azure Data Factoryの4つの主要な概念について解説します。
1.リンクサービス
リンクサービスは、Azure Data Factoryが外部データソースやサービスに接続するために必要な情報を定義するものです。接続先の種類、認証情報、アクセス許可などを設定します。
主な設定項目は、以下の4項目です。
- データソースの種類 (SQL Server、Azure Blob Storage、Salesforce など)
- 接続先URL
- 認証情報 (ユーザー名、パスワード、アクセスキーなど)
- アクセス方法 (オンプレミス接続、クラウド接続など)
リンクサービスを作成することで、Azure Data Factoryが外部システムと安全かつ効率的に連携可能です。
2.データセット
データセットは、Azure Data Factoryで処理するデータの定義を記述するものです。データソース、スキーマ、取得方法、スケジュールなどを設定します。
- データソース (リンクサービスで定義したもの)
- スキーマ (データの構造)
- 取得方法 (コピー、実行など)
- スケジュール (データを取得するタイミング)
データセットを作成することで、Azure Data Factoryが処理するデータの内容と構造を明確に定義できます。
3.アクティビティ
アクティビティは、データ処理を実行する個々の操作を定義するものです。データのコピー、変換、ロード、制御フローなどを実行するアクティビティがあります。アクティビティを組み合わせることで、複雑なデータ処理ワークフローを構築できます。
Azure Data Factoryでは、以下の4つのアクティビティがサポートされています。
- コピー
- データ移動
- データ変換
- 制御
4.パイプライン
パイプラインとは、アクティビティを組み合わせて作成される、実行順序を制御するためのワークフローです。
アクティビティ単体ではなく、複数アクティビティをセットで管理できることがメリットです。パイプライン内のアクティビティは、順番に処理させることも可能です。また、複数のアクティビティを並列処理で同時に動かすこともできます。
データ統合サービスが必要な背景
大企業では、財務会計の情報、勤怠情報、顧客管理の情報、販売情報、物流システムの在庫情報など、さまざまなデータが部門ごとに点在している場合があります。
部門ごとに分断されたデータは「データサイロ」と呼ばれます。もともとサイロは、農畜産業で小麦や飼料などを蓄えておく倉庫のことです。各部門や特定の管理者が壁を作って情報を囲い込むと、他の部署から隔離されたデータサイロが林立した状態になります。これは情報の共有、業務効率化、経営の可視化の障壁となります。
点在したデータから、経営情報を俯瞰(ふかん)して読み解くためには、データの統合が必要です。経営会議で、各部門の幹部が膨大な印刷物の資料に情報をまとめて持ち寄らなければならないようであれば、スマートな経営ができません。
したがって、この点在化したデータサイロを統合する必要があります。統合のメリットは、経営分析の効率化です。データサイロを統合する1つの方法としては、DWH(Data Ware House:データの倉庫)の構築があります。
DWHにあらゆる情報を集約し、グラフィカル・ユーザー・インターフェース(GUI)によるコックピットやダッシュボードで視覚的に確認できるようにすれば、経営者は必要な情報を抽出して直感的に把握できます。これがいわゆる「BI(Business Intelligence)」のソリューションであり、ELTとETLはその基盤を支えるフローといえるでしょう。
しかしながら、包括的なデータを蓄積して分析するDWHとBIの構築は、企業の業務プロセスや内容を理解して、あらゆるデータの特性に合わせたプログラミングが必要です。したがって開発工数が膨大になり、コストが増加し、構築が困難でした。
この工数削減と環境構築の課題を解決できるサービスが、Azure Data Factoryです。サーバーレスなためサーバーの費用を削減可能で、フルマネージドなため環境構築が容易になります。
Azure Data Factoryのメリット
Azure Data Factoryには次のようなメリットがあります。
Azure Data Factoryによる運用コスト削減、柔軟なスケーリング
Azure Data Factoryは、Azureのサービスを利用していれば初期費用は不要です。システムが稼働した時間だけ課金されるサーバーレスの自動化されたツールで、統合するデータを格納するインフラストラクチャや互換性を保持して、必要なパフォーマンスの分だけ課金されます。データが増加した場合は、エラスティック機能で必要に応じて自動的にスケーリングされるため、コスト効率に優れています。
ビッグデータの分析では、「Azure Data Share」で分析したいデータセットをAzure分析環境に追加した後、Azure Data Factoryでパイプラインを使って統合し、データの格納、変換により分析情報の抽出が可能になります。
グローバルな利用環境も整備され、25を超える国とリージョンで利用可能です。コンプライアンスを重視しつつネットワーク送信コスト削減して、データを移行できます。
Azure SSIS 統合ランタイムでデータ移行の煩雑さを回避
オンプレミスのデータをクラウドに移行する場合は、煩雑な作業が必要です。しかし、Azure Data Factoryを使えば、データ抽出・変換・格納のプロセスを保持したまま、SQL Server DBをクラウドに移行可能です。
Azure Data Factoryには、異なるネットワーク環境におけるデータ統合を実現する機能として「SSIS(SQL Server Integration Services)」専用のAzureのパッケージを提供しています。 Azure Data Factory統合ランタイムを使用すれば、作業負荷を軽減して既存のオンプレミスのSSISワークロードをクラウドに再ホストできます。
これまでオンプレミスでSSISを使用していた場合は、使い慣れたSQL Server Data Tools (SSDT) や SQL Server Management Studio (SSMS) などによって、ほとんど変更を加えずに既存のSSISパッケージをデプロイして管理できます。したがって、OSとサーバーやソフトウェアなどシステム全体にかかる負荷削減にも効果があります。
GUIとコードによる自由度の高い環境
Azure Data Factoryは、あらゆるレベルの利用者を対象としています。したがって、GUIで直感的な操作ができるとともに、開発者はPython、.NET、ARMなど得意なコードを使ってパイプラインを記述できます。選択した処理をパイプラインに入力、カスタムコードを記述して任意のパイプラインの処理として挿入するなど、自由度が高い環境を備えています。
Azure Data Factoryの機能
Azure Data Factoryには、データを抽出、変換、格納し、分析しやすくするためのさまざまな機能が備わっています。ここからは、Azure Data Factoryの主な機能を紹介します。
各種システムからのデータ収集
Azure Data Factoryは、100以上の組み込みコネクタを利用して、さまざまなデータを統合できます。
例えば、AWSで提供されているAmazon RedshiftやGoogle Cloudが提供するBigQueryといったサービスにあるビッグデータも統合可能です。さらに、slackやAdobeといったSaaSサービスのデータも統合して分析できます。
組み込みコネクタの利用には、料金がかかりません。メリット紹介でも触れましたが、コストが抑えられるという特徴があります。
格納データの変換・強化
Azure Data Factoryは、収集したデータを分析しやすい形に変換・強化する機能を備えています。
データ欠損が見受けられる場合の補完、重複データがある場合の削除など、データクリーニング機能を利用可能です。また、データの結合、集計、異なるデータ構造を統一するデータマッピングの機能を活用しながら分析しやすい形に変換できます。
変換・強化に関しては、Azure Data Factoryのアクティビティを組み合わせてワークフローを作成し自動化が可能です。
成功率・失敗率のモニタリング
Azure Data Factoryは、ワークフローの実行状況を詳細に監視し、成功率や失敗率を分析する機能を備えています。
各パイプラインやアクティビティを実行した日時、成功数、失敗数をリアルタイムで監視・把握できます。Azure Portal画面やPowerShellでAzure Monitorを表示し、それぞれの値の確認が可能です。
Azure Data Factoryのリアルタイム監視機能により、ワークフローの安定稼働を実現できるでしょう。モニタリングで異常が起きた場合は、アラートを設定し異常検知に役立てるといった使い方もできます。
Azure Data Factoryの料金体系・費用目安
Azure Data Factoryの料金体系は、Version1とVersion2があります。Data Factory は従量課金制となっているため、初期費用は発生しません。
まずは、Version1の料金を解説します。
|
低頻度アクティビティ |
高頻度アクティビティ |
クラウドで実行 |
0.48ドル/月 |
1.00ドル/月 |
オンプレミスで実行 |
1.20ドル/月 |
2.50ドル/月 |
1日1回以下の頻度で実行するアクティビティは低頻度アクティビティ、1日に2回以上実行するアクティビティを高頻度と分類します。また、1日に1回もアクティブにならなかった場合、アクティビティとパイプラインは、非アクティブとしてカウントされます。
上記表は、1カ月間全てアクティブな状態で稼働した場合の料金です。非アクティブなパイプラインについては、月額 0.80ドルです。また、スケジュールされたアクティビティが実行されないなど、アクティビティの再実行が必要な場合があります。クラウドでのアクティビティ再実行の場合は、1,000 回の再実行あたり 1.37ドルが発生します。
Version2は、Version1に加えてより多くのクラウドのデータ統合が可能です。基本的な料金については以下の表のとおりです。
アクティビティのタイプ |
料金 |
オーケストレーション |
1000実行で1ドル |
データ移動アクティビティ |
1DIU(※)を1時間かけて移動して0.25ドル |
パイプライン アクティビティ |
1時間あたり0.005ドル |
外部パイプライン アクティビティ |
1時間あたり0.00025ドル |
※DIUは、データ統合の単位
Version2では、アクティビティの種類と実行時間によって料金が変わります。また、Data Flow、Data Factoryを扱う際に追加で料金が発生します。具体的な料金については下記の表のとおりです。
データフローの実行・デバッグ(大規模データを変換するときに使用する) |
|
タイプ |
料金 |
汎用 |
1時間あたり0.303ドル |
最適化 |
1時間あたり0.365ドル |
※1年継続、3年継続の割引プランも用意されています。
Data Factoryの操作 |
|
タイプ |
料金 |
読み取り・書き取り(作成、読み取り、更新、削除) |
50,000エンティティごとに0.50ドル |
監視 |
50,000件ごとに0.25ドル |
※2024年4月現在の金額
Azure Data FactoryのData Flow
Azure Data Factoryの特徴であるGUIを解説しましたが、具体的には「マッピングデータフロー」によって視覚的な表示と操作を実現します。マッピングデータフローを使うことによって、コードを使わずに、視覚的な操作によってデータ統合を進めることが可能です。
マッピングデータフローはAzure Data Factoryパイプラインのアクティビティとして実行され、フロー、制御、スケジュールの設定、監視機能などの運用を設計できます。実行は独自のクラスターで行われ、データ処理をするサーバー台数を増加させるスケールアウトで処理能力を高めます。Azure Data Factoryにおいてコードの翻訳、パスの最適化、ジョブの実行はすべて処理されます。
Data Flowの使い方
Data Flowを使い始めるためには、まず「Factory Resources」の下に配置された「+」でメニューを表示させ 「Data Flow」を選択します。選択すると、データフローキャンパスが表示されます。データフローキャンパスの画面は上から、上部バー、最も広い領域としてグラフ、構成パネルの3つに分かれています。
初めてData Flowを使用する場合は、ブラウザ上部の「Data Flow Debug」のスイッチを右側に切り替えてオンにします。この操作によって、対話型のデバッグ、データプレビュー、パイプラインのデバッグを実行するためのAzure Databricksクラスターが起動します。デバッグセッションの有効期限は、最後のデータプレビューもしくはデバッグパイプライン実行から最長60分間になります。
Azure Integration Runtime(IR)の初期値は、コア数4、ワーカーノード数1で、最小限のコストでデータプレビューを行い、短時間でデバッグパイプラインを実行する小規模クラスターの設定になっています。 大規模のデータを扱う場合には、Azure IRの構成を変更する必要があります。
画面中央部のグラフが視覚的にフローを作成する画面で、ソースデータの系列が表示されます。「Add Source」をクリックすることで、新しいデータソースを追加できます。既存のデータソースに新しい変換を追加する場合は、表示されているデータソースの右下にある「+」をクリックして表示されるメニューから選択します。
Azure Data Factoryの活用例
Azure Data Factoryを活用することで、部署ごとに場所も形式もバラバラで管理されていたデータの統合管理が可能です。Azure Data Factoryでデータの抽出や加工、分析を自動化できるため、各部署でのデータ管理の手間を省くことにも繋がります。
また、ノーコードでデータフローの実装ができるため、非エンジニアでもデータ変換の効率化を実現できます。Azure Data Factoryを導入することで、画面操作のみでデータ変換が可能です。
従来は、データ変換のためのコードを書いて実装していました。エラーが起きた場合のメンテナンスや管理の手間がかかっていましたが、これらの作業負担を減らすことができます。
まとめ
企業のデータ資産は増加傾向にありますが、ビッグデータを部門別に格納しただけで、実際にデータ統合および分析して、経営活動に生かしている企業は少ないのではないでしょうか。データ資産そのものに価値がありますが、ビッグデータを分析して経営に反映してこそ、大きな効果が生まれます。
Azure Data Factoryはコーディングによる操作だけでなく、視覚的なインターフェースを備えているため、さまざまなレベルのユーザーにデータ活用の統合フローを設計する機会をもたらします。