企業が扱うデータは増加しつつあります。そして、経営部門、財務部門、営業部門、販売部門など、社内のビッグデータを統合する必要が生じるようになりました。
ところで、データの統合において重視されている3つのプロセスがあります。それが「Extract(データの抽出)」「Transform(データの変換と加工)」「Load(データの格納)」です。
かつてはそれぞれの頭文字から、ETL(抽出・変換・格納)という順序でデータベースに格納する前に変換処理をしていました。しかし、現在はELT(抽出・格納・変換)として、データベース内にロードした後で変換処理を行うことが主流になっています。ELTはデータベースに格納後に変換するため、膨大な容量やリソースが必要になりますが、クラウドを使えば柔軟にスケーリングが可能で、ビッグデータの有効活用に向いています。
「Azure Data Factory」はエンタープライズ向けの大規模なETLもしくはELTを実現し、コードによる記述はもちろん視覚的にも操作できるツールです。ここではビッグデータを統合するメリットから、Azure Data Factoryの概要、初めて利用するときの方法を解説します。
データサイロを統合してデータを分析
大企業では、財務会計の情報、勤怠情報、顧客管理の情報、販売情報、物流システムの在庫情報など、さまざまなデータが部門ごとに点在している場合があります。
部門ごとに分断されたデータは「データサイロ」と呼ばれます。もともとサイロは、農畜産業で小麦や飼料などを蓄えておく倉庫のことです。各部門や特定の管理者が壁を作って情報を囲い込むと、他の部署から隔離されたデータサイロが林立した状態になります。これは情報の共有、業務効率化、経営の可視化の障壁となります。
点在したデータから、経営情報を俯瞰(ふかん)して読み解くためには、データの統合が必要です。経営会議で、各部門の幹部が膨大な印刷物の資料に情報をまとめて持ち寄らなければならないようであれば、スマートな経営ができません。
したがって、この点在化したデータサイロを統合する必要があります。統合のメリットは、経営分析の効率化です。データサイロを統合するひとつの方法としては、DWH(Data Ware House:データの倉庫)の構築があります。
DWHにあらゆる情報を集約し、グラフィカル・ユーザー・インターフェース(GUI)によるコックピットやダッシュボードで視覚的に確認できるようにすれば、経営者は必要な情報を抽出して直感的に把握できます。これがいわゆる「BI(Business Intelligence)」のソリューションであり、ELTとETLはその基盤を支えるフローといえるでしょう。
しかしながら、包括的なデータを蓄積して分析するDWHとBIの構築は、企業の業務プロセスや内容を理解して、あらゆるデータの特性に合わせたプログラミングが必要です。したがって開発工数が膨大になり、コストが増加し、構築が困難でした。
Azure Data Factoryでは、このような大規模なデータによるETLおよびELTを簡単に行えるようにします。
Azure Data Factoryとは
Azure Data Factoryでは、ビジュアル環境によってデータの構造化や組織化が可能です。データの格納、移動、準備、変換、処理は数回のクリックで行うことができ、シンプルかつ包括的なETLまたはELTのプロセスを実現できます。
コードの生成とメンテナンスはマネージドApache Sparkによって行われ、利用者はコーディングやメンテナンスを必要としません。オンプレミスとクラウドによるハイブリッド なデータ統合や、ビルドとデプロイを自動化するパイプラインを使うこともできます。
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の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はコーディングによる操作だけでなく、視覚的なインターフェースを備えているため、さまざまなレベルのユーザーにデータ活用の統合フローを設計する機会をもたらします。