ETLをはじめる4つの方法 [独自ETL開発、OSS利用、オンプレETLサービス利用、クラウドETLサービス利用]

データドリブンな組織作りに向けて、データ分析の基盤構築に取り組む企業が多いでしょう。データ基盤の構築には、ETLの活用が欠かせません。この記事では、これからETLをはじめたい方向けに、ETLをはじめる4つの方法について解説します。

目次

1.独自ETL開発

ETLは、「データの取得」「データの加工・変換」、そして「データのロード」をおこなうプログラムです。データの扱いに精通しているエンジニアであれば、ETLの開発は可能です。

実際、10年ほど前までは独自ETLの開発をおこなう企業も多くありました。しかし、現在では独自ETLを開発する企業は激減しています。

その理由としては、以下のものが考えられます。

  1. 接続先増加による開発工数の増加
  2. 運用工数の増加
  3. 処理量増加への対応

1つ目はクラウドの浸透により、接続先が増加して開発工数がかかってしまうことです。オンプレミスの自社システム、ならびに自社DBのみを接続先としていた頃と違い、現在では多くのSaaSとの接続が必須とされています。ほかにも、IaaSで構築されたシステムとの接続が必要なため、どちらにしてもクラウドへの接続に対応しなければなりません。独自ETLは接続先が増えるたびにプログラムの修正が必要なため、開発工数が増加してしまいます。

2つ目は、SaaS側の仕様変更にともなう運用工数の増加です。SaaSは、提供する企業側が管理する一方で、急な仕様変更が発生するケースも考えられます。そのとき、独自ETLも仕様変更にともなう修正をしなければならないため、運用コストが増加します。

3つ目は、データ処理が増え続けることへの対応が必要なことです。プログラムの稼働環境が、将来的なデータ量増加に対応できる設計でない場合、処理量の増加に対応できず、処理の遅延を引き起こす場合があります。

ほかにも、独自ETL開発にはさまざまなデメリットがあります。

2.OSS利用

ETLには、OSSとして提供されているものもあります。例えば、Apache Kafka, Apache CamelのようなApacheライセンスで提供されているものもあれば、商用ETLの機能制限版がOSSとして提供されている場合もあります。

OSSのETLは「コストがかからずに、高機能のETLが利用できる」「接続先のコネクタが準備されている」などのメリットがある反面、下記のようなデメリットもあります。

  • サポートがない
  • バージョンアップ対応が必要
  • 処理量増加への対応が求められる

OSSのETLは、サポートが提供されません。このため、問題発生時の対応はすべて利用者側で行う必要があります。

次に、OSSの機能追加や接続先の仕様変更などのタイミングで、自社でプログラムのバージョンアップをおこなう必要があります。バージョンアップに関するサポートも受けられないため、トラブルが発生した場合は対応工数が急増します。

そして、OSSの利用時は自社で稼働環境を準備する必要があるため、データ処理量が増加した場合は、処理の遅延が発生します。特に、物理的なハードウェアをオンプレミスで準備する場合、メモリの増設やCPUの変更がしにくいため、将来的な処理量を見通したうえでスペック選定をしなければなりません。

3.オンプレミスETL製品

ETLは息の長いカテゴリなため、20年以上前から続いている製品も存在します。こうした製品の多くはオンプレミスでの稼働を前提としています。

これらの製品は、オンプレミスで膨大な量のバッチ処理をおこなうためのデータ変換などの用途には適していますが、以下のデメリットが考えられるでしょう。

  • SaaS対応していない製品が多い
  • GUIが提供されていない(エンジニアしか操作できない)
  • 高額な費用体系

オンプレミスETL製品は、社内システムやオンプレミスで稼働するDBの接続を前提としているものが多く、主要SaaSへの接続すら提供されていないものが多くあります。SaaSに直接接続できない場合は、SaaSからCSV形式でエクスポートをし、オンプレミスのDBに取り込むなどの対応が必要です。

また、基本設計が古いものが多く、エンジニアでないと操作できない、エンドユーザー向けのGUIが提供されていないものも多数あります。そのため、現場での活用が難しく、情報システム部門などのエンジニアがデータマネジメントをしなければなりません。

さらに、オンプレミスETL製品は月額課金ではなく、高額な買い切り型のライセンスとして提供されているものが多いことも特徴です。製品の機能やパフォーマンスに確信が持てない段階で高額なライセンスを購入してしまい、のちにトラブルとなるリスクがあります。

4.クラウドETLサービス

​​ここ数年で一般化したのがクラウドETLサービスです。これまでお伝えしたETLのデメリットをすべて補っているサービスともいえます。クラウドETLサービスには、以下の特徴があります。

  • 優れたUI/UX
  • 無駄のない料金体系
  • データ量増加に対応した設計

基本設計が新しいため、エンジニアでなくても操作できるUI/UXが提供されています。エンドユーザーは好きなときにデータ操作ができるため、エンジニアはデータ管理をする工数が削減できるでしょう。

また、クラウドETLは使った処理量に応じて課金されるためコストに無駄がありません。月額課金なため、最初に高額なライセンスの購入を迫られることもありません。

多くのクラウドETLサービスは、AWSやGoogle Cloudなどの大手クラウド基盤で稼働させています。そのため、サービスを利用する1社でデータ量が増加しても、サービス運営側でクラウドのリソースを多く割り当てることで処理の遅延が起こらないスケーラビリティな設計になっています。

まとめ

これまでETLを利用する4つのパターンについて解説しました。結論からいうと、最後発の「クラウドETLサービス」の利用が最もおすすめです。手軽かつコストが低いことに加えて、新しい設計のサービスが多いため、エンドユーザーでも利用できるわかりやすいUI/UXが特徴です。

弊社で提供するクラウド型のETLツールの「Reckoner」は、プログラミングが不要、GUI上ですべてを完結できるため、データフローの構築をスムーズに実現できます。さらに、SaaSでの提供となるため、インフラ構築が不要でサーバーなどの管理も必要ありません。

現在Reckonerでは無料トライアルを受け付けているため、今後ETLを新たに導入検討する企業はぜひご参考にしていただければ幸いです。

また、ETLツールについて詳しく知りたい、ETLツールの選び方を知りたいという方はこちらの「ETLツールとは?選び方やメリットを解説」をぜひご覧ください。

ブログ一覧へ戻る