ETL開発ツールは比較するまでもなくTalend一択だと思う。コスト重視なら特に

Youtubeでもレブル250/グラディウス400/GN125の情報を発信してます! (登録してもらえると超喜びます!!)

はじめに

ETL開発ツールは数多く存在します。

個人的にイチオシのTalendをはじめ、有名なツールだとDataSpider, ASTERIA, DataStageなど(ETLというより、EAI色が強いですが…)。

しかし、どの製品紹介ページを見ても、似たような謳い文句が書いてあって(GUIで簡単に開発!とか、多様なデータアダプタ!とか、様々なデータ形式をサポート!とか)、
いまいちどの製品がどう優位なのか分かりにくいです…

ですが、私は声を大にして言いたい。

Talendでよくね?(低コストで開発したいなら特に)

と。
というわけで、優秀なのにいまいち評価されず、ETL開発ツール界で覇権を握り切れていないTalendについて、何故そんなにTalend推しするかを書いていこうと思います。

Why Talend?なんでTalendが良いのか

1. TalendOpenStudioなら無償

Talendのかなり大きなメリットとして挙げられるのは、TalendOpenStudioは無償で使用できる、という点です。
少し前の記事ですが、こちらの記事(無償(OSS)のETLツールについて調べてみた)によると、まともな無償ETLツールは、ほぼTalendのみということです。

「ふーん。無償ね。でもどうせ結構制限あるんでしょ?」

と思われた方。ごもっともな考えだと思います。
が、Talendについては、無償版でほぼ全てのことができます。制限は無いと言っても良いでしょう。
有償版で付属するのは、サポートやより良いデバッグ機能、モデリング機能で(これが全てではないかもしれませんが)、メインのETL開発は無償版と変わりません。

ですので、無償版だからといってそんなにデメリットはないのです。

2. GUI開発環境

これは他のETLツールも推しているので…Talend特有のメリットではありませんが。
GUIでかんたんに開発できます!

1

この画像のように、アイコンを落としていって、繋ぎ合わせて入力⇒変換⇒出力のフローを構築する、という開発方法です。
コンポーネントの種類を覚えておけば、もう本当に、アイコンを落として繋げて終わり、という感じです。

3. 標準付属する数多くのデータ操作コンポーネント

Talendには、デフォルトで数多くのコンポーネント(処理部品)があります。

  • CSVなどの区切り文字入出力
  • その他ファイル入出力
    • XML, JSON, Excelなど
  • DB操作関連
    • Sqlserver, Oracle, MySQL, PostgleSQL, Accessなど
  • データ編集
    • tMap(データ紐づけ、汎用項目変換), tAggregateRow(集計など), tSortRow(ソート), tRepace(置換),など
  • インターネット関連/Webサービス関連
    • tSendMail(メール送信), tRSSInput(RSS読み込み), tSOAP(SOAP通信), tREST(REST通信)など

まだまだまだまだあります。把握しきれません。
とりあえず、基本的にバッチ処理として思いつくようなコンポーネントは、デフォルトコンポーネントとして用意されています。

4. 大手のクラウドサービス, アプリに連携できるコンポーネント

今時は、やはりクラウドサービスと連携できるか否か、というのは大きなポイントだと思います。
Talendは、大手のクラウドサービスとの接続用コンポーネントも提供しています。概ねタダだと思います。

AWS, GoogleStorage, GoogleDrive, Dropbox, Salesforce, SAPなんかは、Talendをインストールした時に一緒に入っていました。
他にも、繋ぎたいサービスやアプリがあったら、「Talend ○○○」とかで検索すると、そのコンポーネントがあるか分かると思います。

もし仮になかった場合でも、最悪サービス側がSOAP, REST等の口が開いているのであれば、tSOAPやtRESTなどのコンポーネントで連携することは可能です。

5. もし必要な機能(コンポーネントなど)がなくても自分で開発できる

Talendには、数多くのコンポーネントが存在しますので、殆どのケースで必要なコンポーネントが足りない、ということは無いでしょう。
しかし、もし仮に、要件を満たすコンポーネントが無い!という場合でも安心です。
Talendは、結局はJavaのプログラムなので、自分でコードを記述して開発することもできます。
tJava, tJavaRow, tJavaFlexなどのJavaコードを記述できるコンポーネントが存在します。

また、コンポーネント自体を自身で開発することもできます。
そうした自由度の高さもありますので、Talendで完全に手詰まりになる、ということはまずないと思います。
(もちろん、開発工数的なところで手詰まりはあり得るかもしれませんが…)

6. そこそこ情報がある

Googleなどで「Talend ○○○」と調べると、多くはありませんが、そこそこ情報が出てきます。
また、入門サイトや使い方に関するサイトなどもありますので、他のマイナーなETLツールと比べたらメリットと言えます。

ちなみに、このブログでも入門やコンポーネントに関する記事を書いています。
(Talend Open Studio でバッチ開発)

 

おわりに

もし、ETLの要件がTalendの持つ機能内で完結できるのであれば、TalendはETL開発ツールとして、とてもおススメです。

現在、私が携わっているプロジェクトでも、ゴリゴリにTalendを使用してバッチプログラムや移行ツールなどを開発しています。
とても開発効率が高く、本当に優秀なツールだと思います。
もっと流行っても良いと思うのですが…
他社製品と違って、あまり売り込んでいないのでしょうか。

Youtubeでもレブル250/グラディウス400/GN125の情報を発信してます! (登録してもらえると超喜びます!!)
最新情報をチェックしよう!