- コンピューティング・リソースの不足。(クラウドの共有リソースを使っているため、データ変換処理が遅く、データ提供に遅延が生じている)
- 複雑な変換処理はSQLを利用しなければならない。
- スケジュール実行やワークフローといった機能がないため、タスク間の依存関係を設定することができない。(データの不整合や最新データの一部が欠落するなどの問題が発生し、データ活用に支障をきたすことがある。)
- BIから別のデータベースやウェアハウスへデータを連携する処理は、APIなどを活用し、コーディングしなければならない。
Business Intelligence(BI)製品の活用を推進する上で、そのベースとなるデータは非常に重要です。データを活用するためには、従来、データウェアハウスのような構造化データレポジトリが主流でしたが、近年HadoopやS3を利用し、非構造化データも管理できるデータレイクが多くの企業で活用されています。今後は、データウェアハウスやデータレイクといった二者択一論ではなく、両者の特徴を組み合わせたより柔軟なデータアーキテクチャを検討する企業も増えてくると思われます。
こうした背景の中でデータウエアハウスやデータレイクにデータを統合するためのプラットフォームとして、ETL製品への注目が非常に高まっています。今回のブログではETL製品をBIと組み合わせることでどういったメリットを享受することができるかについて解説したいと思います。
BIにおけるETLの重要性
BI製品で提供されているETL機能について
クラウドETLプラットフォームを利用するメリット
最後に
BIにおけるETLの重要性
BIにおけるETLの重要性について一言でいうと、BIでのデータ活用に必要なすべてのことを支援してくれるツールだと言えます。なぜそれが重要かを理解するには、最近人気のBI製品を見てみるとよく分かります。
例えば、Domoのような製品は、これまで別々に提供されていたBIとETL、BIのためのデータレポジトリ(DWH)を統合し、単一のプラットフォーム上で提供することにより、ワンストップでのソリューション提供を売りにしています。特に様々なクラウド上のデータソースをサポートするためのコネクター群は、さまざまなクラウド上のアプリケーションとの統合を容易に実現することができ、Domoのプラットフォームの売りの1つです。またDomoではETLプロセスのうち最もコンピューティングコストを必要とするETLのTransform(変換)を実現するためにSQLおよびGUIによるETL機能を提供しています。
こうしたデータを活用するまでに必要なプロセスがオールインワンで提供されていることで、ユーザーはETLやBI用のデータウェアハウスをどうすべきかといった問題から解放され、すぐにやりたいことを実現することができます。
同じく人気のクラウドネイティブのBI製品であるSisenseも豊富なデータコネクタとSQL、PythonおよびRを使うことでBIのデータ準備に必要なETL機能を提供しているベンダーの1社です。
BIベンダーが提供しているこうしたETL機能でやりたいことをすべて実現できいるのであれば、あえて別途ETL製品を検討する必要はないでしょう。しかし、BI製品で提供されているETL機能だけでは、運用面や膨大なデータ量、処理時間の面において、必ずしも十分とは言えないケースもあります。そこで、次の章では、こうしたETLの問題について取り上げたいと思います。
BI製品で提供されているETL機能について
BI製品で提供されているETL機能とETL専業ベンダーが提供しているETL機能にはどういった違いがあるのでしょうか?それを理解する最も簡単な方法は、実際にBI製品で提供されているETLを使用してデータ準備を行っている場合に直面する課題をみていくことでわかります。
実際に使用したことのあるユーザーであれば、以下のような困難な問題に直面した方も多いのではないでしょうか?
こうした問題は、Integrate.ioのようなETL専業のプラットフォームを利用することで解決することが可能です。
- ETLジョブを実行する際のコンピューティング能力を柔軟に設定。
- 複雑なパイプラインもドラッグ&ドロップで作成可能。
- Cron Expressionにもとづいたスケジュール設定。ジョブ同士の依存関係やジョブの実行結果にもとづいた分岐処理が設定可能なワークフロー機能。
- Rest APIコネクタやCurlを使用することでBIからクラウドデータウェアハウスやクラウドアプリケーションへのデータ連携が可能
ETLプラットフォームの機能を活用することで、BI製品に付属のETL機能の課題を解決することができますが、ETLプラットフォームを利用するメリットはそれだけではありません。次の章ではクラウドETLプラットフォームを利用することで享受できるメリットについて解説します。
クラウドETLプラットフォームを利用するメリット
1. 並列処理でのデータ取得
クラウドETLのほとんどは、サーバーのクラスタ上にコンピューティングタスクを分散させるため、(メモリやディスクの制約によって)単一のサーバーでは処理できない大規模なデータセットのETL処理に理想的な製品です。これにより、ペタバイト級データの並列処理が可能になります。
2. ロードおよびパワフルな変換機能
クラウドETLが提供する豊富な変換機能はSQLで実現できる変換はもちろんのこと、プラスアルファの変換処理を実現します。
3. コンプライアンス遵守
Integrate.ioのようなクラウドETLは、セキュリティを最優先事項としています。卓越したセキュリティ基準へのコミットメントは、プラットフォームの機能に見ることができます。
Integrate.ioのセキュリティには、すべてのウェブサイトとマイクロサービスのSSL/TLS暗号化、パイプラインを通過する際にデータを保護するフィールドレベルの暗号化、情報、アプリ、ネットワークへの不正アクセスをブロックするファイアウォール、Amazonデータセンターによってホストされ管理されている物理的なインフラストラクチャによって実現される物理的なセキュリティが含まれています。
多くの国や、専門機関がより厳しい規則を施行するようになれば、データセキュリティの重要性はますます高まってきています。政府や専門家の監督がなくても、企業がセキュリティに真剣に取り組んでいるプラットフォームを選ぶことは理にかなっています。
また、BIのコネクターを使用しそのままデータを取り込んだ場合、機能の制約上、自動的に個人情報が取り込まれてしまうケースがあります。こうした問題もETL製品を使うことで、個人情報などのコンプライアンスに関する情報をパイプライン内でマスキング、暗号化、削除のいずれかを実施することで、データを保護することができるため、データセキュリティを柔軟に担保することがです。
4. 柔軟なスケジューリングとワークフロー機能による複数のジョブの制御
クラウドETLは、ETLのジョブやワークフロー(複数のジョブの依存関係を定義したもの)に対して、柔軟なスケジューリングが設定可能です。
Integrate.ioではノーコードのワークフロー作成画面を提供しており、ドロップダウンメニューを使用して、複数のジョブに対して依存関係を設定することができ、ジョブの順序とその実行をトリガーする条件を指定することができます。
5. 属人化の排除
BIのためのデータ準備プロセスが複雑であればあるほど、そのデータ処理プロセスは、それを作成した人に依存したものとなり、属人化しやすい傾向にあります。設計書などのドキュメントである程度は詳細を補足できますが、BIは常にビジネスニーズに即してアップデートされていくため、設計書やドキュメントの内容と実際のモノが違うという経験は、誰しもが直面したことがあるかと思います。
メンテナンスや仕様変更の際、処理内容の解読や仕様変更による影響範囲の洗い出しなどの工数は、無視できないほど大きな負担となります。また、「作り直した方が早いかも?」といったケースも多く見られます。
Integrate.ioのようなビジュアル化されたETLツールであれば、処理内容の把握や影響範囲の調査にかかる時間、およびその後のメンテナンスや変更にかかる時間を削減できます。ドラッグ&ドロップベースで開発されたパイプラインを使って開発を行うことで、複雑なSQLやプラグラミングを解読しなくても、処理概要の把握とメンテナンスが楽にでき、エンジニアリソースの負荷を減らすことができます。
6. 障害対応
クラウドETLのシンプルでビジュアル化されたパイプラインは、日々の障害対応時にも大きなメリットを発揮してくれます。
- パイプラインがビジュアルで管理されているため、問題の要因調査、特定が容易である
- 問題が起こることを事前に想定し、リトライ処理やエラーになった場合の分岐処理を実装できるワークフローがある
- 障害によるデータ更新エラーをその時点で初めて把握するのではなく、ジョブ実行結果のメール通知機能やSlackとの連携、さらにはインシデント管理システムと連携することでリアルタイムでのジョブ監視が可能となる。
- データリカバリにかかる時間を短縮するために、スケーラブルにデータ処理能力を上げることができる。
上記以外にも、別のデータベースやストレージへのバックアップ処理を設定しておくことで、柔軟なバックアップシステムおよび障害時のデータリカバリ手順をテイラーメードで設定しておくことが可能です。
最後に
さまざまな企業において、自社が保有している様々なデータをいかに活用していくかが重要なテーマとなっています。そのためBIツールなどへの注目度は以前にも増して高まっています。
しかしながら、その根幹となるデータ統合プラットフォームについてはどうでしょうか?
実際にBIを導入した企業が直面する最も難しい問題の1つがデータ統合プラットフォームに関わる問題です。それはBIを活用していく中で、データ提供までのスピードだったり、データ処理プロセスのブラックボックス化であったり、新しいデータソースへの対応やデータエンジニア不足などといったさまざまな形で現れてきます。
Integrate.ioはデータエンジニアの抱える様々な問題を支援する、パワフルなデータ統合プラットフォームです。企業内でデータ準備に多大な労力をかけているデータエンジニアは、パイプライン作成の効率化や自動化により労力を削減することができます。簡単なパイプラインであれば、ビジネスユーザーでもドラッグ&ドロップで作成することができるため、エンジニアのリソース不足という課題に対しても1つの解決策となります。
また、Integrate.ioは、データ統合に関するお客様の課題を解決するためにプラットフォームだけを提供しているだけではありません。Integrate.ioはカスタマーサポートにも力を入れており、Integrate.ioのユーザーは、電話、チャット、オンライン会議により自社のデータ統合における課題を相談し、支援を受けることができます。
クラウドネイティブETLツール「Integrate.io」に興味を持った方は、ぜひオンラインデモをお申し込みください。