ETLツールとは:クラウドに適したETLツールの導入とメリット
ETLツールとは、ローデータを実用的なビジネスインテリジェンスのために使用可能な情報に変えるためのプロセスを支援するためのツールです。
ETL(Extract/Transform/Load)は、ローデータを実用的なビジネスインテリジェンスのために使用可能な情報に変えるためのプロセスです。ETLプロセスでは、データはアプリケーション(Salesforce、SAPなど)、データベース(Oracle、Redshiftなど)、ファイル(CSV、XML、JSON、AVROなどの形式)から抽出されます。抽出されたデータは、使用可能な情報に変換された後に新しいアプリケーションやターゲットに読み込まれたり、データレイクやデータウェアハウスに読み込まれた後にELTプロセスで変換されます。
これらのデータ処理は、ハンドコーディングされた接続を介して行うことも、ETLツールを使用して行うことも可能です。しかし、クラウドベースのデータ処理が進化するのに伴い、ETLツールも同様に進化しなければなりません。クラウドソースやセンサーからは大量の企業データが取得されますが、オンプレミスソースから取得される企業データもやはり大量なのです。
ここでは、ETLツールが必要なシナリオ、ETLツールを導入する際に考慮すべき機能、クラウドでETLツールを使用するメリットについて詳しく検討していきます。
クラウドとオンプレミスのETLツールの導入
今日、ITのすべてがクラウドに移行しています。Forresterは、この1年間で全世界のパブリッククラウド市場が400億ドルから1,780億ドルへと増加し、引き続き22%のCAGR(年平均成長率)で成長すると予測しています。この状況は、様々なメリットをもたらすことはもちろんのこと、データ駆動型ビジネスにとって急務となる新たな課題を生み出しています。また、クラウドデータウェアハウスが重要になり、リアルタイムのアナリティクスではそのデータをクラウドで処理することが重要になりつつあります。さらに、クラウドベースのSaaSアプリケーションを使用することで、手頃な価格で効率的に機能を活用できるようになっています。
これらすべてのクラウドベースの機能は、コンピューティングの新しい能力と機能を提供するだけではありません。レガシーシステムにすでに存在しているサイロの上に、さらにクラウドベースのデータサイロを形成しています。クラウド中心の世界では、企業はクラウドアプリケーション、データベース、プラットフォームと、それらが生成するデータを扱う必要があります。しかし、オンプレミスのシステムに格納されているデータのことも忘れてはなりません。ETLツールは、あらゆるソース(クラウド、マルチクラウド、ハイブリッド、オンプレミス)からのデータに対応できる必要があります。また、クラウドにおけるイノベーションが大きく進展していることを踏まえると、任意のクラウドプロバイダーに簡単に移行できるよう、データ管理インフラストラクチャーが柔軟性を備えていることが重要となります。
今日、ETLツールが必要な理由とメリット
多くの場合に、ハンドコーディングでも迅速かつ低コストの作業が可能です。このため、多くのデータ専門家はETLツールを使用する意義を疑問視します。しかし、ハンドコーディングには2つの大きな問題があります。
- ハンドコーディングは共有と再利用を制限します。優れたETLツールはビジュアルなデザインインターフェイスを備えているので、誰が見てもフローチャートを見るだけで何が構築されているかを確認できます。一方、ハンドコーディングでは何が行われたのかを把握するのが難しく、開発者はしばしば同じ作業をやり直すことになります。これは、冗長であるだけなく、時間とリソースの無駄でもあります。
- ハンドコーディングはメンテナンスコストを増大させます。本番で使用され始めた後のコードを複数の担当者が維持管理する場合、ハンドコーディングのアプローチでは習熟に時間がかかります。長年にわたってコードが本番で運用される場合、長期的に見て人材の入れ替わりによるコストがはるかに高くなります。
これらの問題は、ETLツールを導入することで、解消できるメリットがあります。
データ統合プロジェクトは、短期で成果を上げるためにPOCとして小規模で始まることがあります。開発者は特定のタスクを完了するために2つのシステムを接続することが多く、ハンドコーディングで十分であり、リアルタイムのアナリティクスやデータガバナンスのような複雑なプロセスを処理するETLツールを導入するメリットは無いと考えられがちです。しかし問題は、小規模なプロジェクトが小規模なままであり続けることはほとんどないという点です。非常に頻繁に、これらのプロジェクトが企業内で認識され、採用されることがあります。このように、範囲を限定的に始まったプロジェクトが複数部門にわたるプロジェクトへと急速に拡大します。そうなると、ハンドコーディングによる小規模の迅速な統合だったものが、迅速でも小規模でもなくなってしまいます。
また、データソースの数も量も増加し、GDPRなどのデータ保護規制に従う必要が生じている状況においては、データクオリティ機能、データガバナンス機能、メタデータ管理をETLプロセスに組み込む必要があります。ほとんどの組織で必要とされる規模で、これらの機能をハンドコーディングすることは不可能です。
5,000万人以上の加入者を抱える米国の通信会社の例を挙げます。この会社では、広報チームが、カンファレンスへの出席者に対して、パーソナライズされた地域的な広告を販売するための新しい製品を作りたいと考えました。そこで、Hadoopを使って自社ネットワーク上の携帯電話の位置情報を追跡しました。Hadoopによって、このような規模のデータアナリティクスが可能になりました。しかし、このプロジェクトの成功が社内で認識された途端、同様のデータ分析に対して50以上の要求が出されました。ITチームには、さらに50件以上の統合をハンドコーディングで実行する時間もリソースもなく、迅速に拡張できるETLツールを使用する必要がありました。
自社に最適なETLツールを導入するには
- クラウドでもオンプレミスでも、必要なデータソース全体を読み書きできる必要があります。
- ソート、フィルタリング、集約などのデータ変換プロセスを実行できる必要があります。
- 重複排除、マッチング、データプロファイリングなど、データクオリティとデータガバナンスの機能が組み込まれている必要があります。
- コラボレーションツールを備えている必要があります。これにより、過去の開発要素の再利用が容易になり、より効率的なデータ統合フローにつながります。同じことを繰り返す複数のデータ統合フローを使用する代わりに、1つのジョブから複数のターゲットへのフィードが可能になります。
- クラウドシステムへの移行に伴い、CI/CDプロセスに対応する能力を持つ必要があります。
- あらゆる環境で、オンプレミス、クラウド、またはハイブリッドのインフラストラクチャにわたって動作できる必要があります。
- プロバイダーの変更に容易に対応できる必要があります。現在はRedshiftでデータレイクを構築していても、すぐにSnowflakeを使用することになるかもしれません。あるいは、現在はクラウドプロバイダーとしてAWSを使用していても、次の四半期にはAzureを使用しているかもしれません。マルチクラウド環境で動作し、ビジネスロジックと変換ロジックを維持しながら、いくつかのコンポーネントを交換するだけでプロバイダーや展開環境の切り替えに対応できるETLツールを使用することが重要です。
- 最新のイノベーションとスムーズに連携し、最新のテクノロジーに容易に対応できる必要があります。優れたETLツールは、サーバーレステクノロジー、Spark、Snowflake、機械学習などと統合でき、今後登場する新しいテクノロジーにも素早く適応できます。
- スケーラビリティは、ETLツールを選択する際に非常に重要です。安価で使いやすく、簡単なプロセスを処理するだけのツールベンダーを探そうと考えがちです。しかし、そのようなツールはスケーラビリティに乏しく、拡張可能なマシンが制限されるため、RAMの容量やCPUの数を考慮する必要があります。これは、ビジネスが成長するにつれてアナリティクスの拡張に人為的な制限を課すことを意味し、競争の激しい現在のビジネス環境では不利になります。また、複数のプロジェクト間でのコラボレーションや要素の再利用も難しくなり、ETLプロジェクトをゼロから開始して時間とリソースを費やすことになります。
- ETLツールにとって移植性は重要な機能ですが、見過ごされることがあります。たとえば、Apache Hadoopエコシステムは驚くほどのスピードで進化しています。2014年と2015年にはMapReduceが標準でしたが、2016年末までにSparkが新しい標準として登場しました。ハンドコーディングのアプローチを取った場合、MapReduceからSparkにコードを移植することは不可能でした。主要なETLツールを使用することで、このような移植をシームレスに実行できます。
ここでは、適切なETLツールを選択するためのチェックリストを紹介します。
ETLツールの導入を検討する際は、使用目的がSnowflakeにデータウェアハウスを構築するような単一のプロジェクトであっても、多数の機能が必要となります。
クラウド向けETLツールの導入
世界がクラウドに移行していることは明らかです。クラウドに移行する際、多くの場合に企業はインフラストラクチャースタック全体を再評価します。オンプレミスでうまくいくものがクラウドでもうまくいくとは限りません。たとえば、オンプレミスでは、サーバーやハードウェアで実行可能なことを細かく制御できますが、クラウドでは状況が若干異なります。クラウドスタックや自社ネットワークの外のプライベートネットワークをどのように扱うかを理解する必要があります。クラウドによってETLツールの動作やその使い方が変わります。コーディング言語、プロセス、プラットフォームがオンプレミスとは異なるため、双方の間でシームレスに切り替えることができるツールが必要です。
将来の環境の規模を予測することは難しいため、クラウドの拡張能力に対応できるETLツールを選択することが不可欠です。今後のデータソースは50かもしれませんし、500かもしれません。もちろん、まだ市場に登場していない新しいテクノロジーに対応する必要もあります。クラウドベースのETLツールを使用することで、データ管理インフラストラクチャーを簡単に変更できます。
クラウドのETLツール導入を検討するうえでは、価格モデルも重要な要素です。クラウドに移行することの大きなメリットの1つは、実際に使用するリソースだけのコスト負担で済む点です。したがって、ノードごとに課金される製品を購入することは、リソースを自在にスピンアップ/スピンダウンできる(つまり、特定の瞬間だけリソースを増大させ、その後急激に削減できる)というクラウドの精神に反します。ETLツールも同様に動作できなければなりません。使用していないランタイムやアイドル状態の余分なリソースに対して支払う必要はありません。ETLツールの料金体系も、クラウドインフラストラクチャーの他の要素と同じであるべきです。
ETLツールとデータクオリティ
貧弱なデータクオリティには時間とコストが大幅に費やされることから、データクオリティはビジネスにとってますます重要な課題になっています。また、GDPRのようなデータ保護規制の施行に伴い、データクオリティとガバナンスを確保することが企業の重大な要件となります。
クラウドコンピューティングが拡大している今日、ビジネスインテリジェンスの獲得に役立つデータソースが爆発的に増えています。しかし、今存在しているあらゆるデータソースにはデータクオリティの問題があり、ソースを統合することで課題が複雑化します。ETLプロジェクトは、2つのシステムの単純な接続のように考えられるかもしれませんが、最初にデータクオリティに投資することで、大きなコストとリソースを節約できます。データクオリティへの積極的なアプローチにより、実際にコアシステムに到達する前に品質レベルをチェックして測定できます。そのため、ETLツールにデータクオリティツールが組み込まれていることが、ETLツールの導入において非常に重要な要素となります。優れたETLツールを使用して、データがシステムに到達して使用される前にデータクオリティを積極的に確保する方法の詳細については、データクオリティガイド決定版を参照してください。
TalendのETLツール
Talendには、データ統合プロジェクトで使用できる多くのETLツールを提供しています。ETLプロセスのための基本的なツールが必要な場合は、Talendの無償のTalend Open Studio for Data Integrationが最適です。これは、Redshift、Snowflake、Google BigQueryなどの統合に使用でき、データの読み込みと簡単な取り込みプロセスを利用できます。シンプルで強力なオープンソースツールをお探しの場合は、今すぐTalend Open Studioをダウンロードしましょう。
データクオリティ、データガバナンス、機械学習、コラボレーション機能などを備えたTalendのETLツールを使用する準備ができたら、Talend Data Management Platformが最適な選択肢となります。これは動的な価格設定モデルを使用し、無償オープンソース版からシームレスにアップグレードして機能を追加できます。すべてのデータ統合製品の機能を比較できます。
TalendのETLツールは、成長を続けるデータ駆動型ビジネスの複雑なニーズを簡素化するように設計されています。貴社に合ったETLツールを試して、簡単なETLプロセスを実現してください。