AmazonのAWS Glueは、「抽出、変換、ロード (ETL) を行う完全マネージド型のサービスで、お客様の分析用データの準備とロードを簡単にします。」ということです。

なぜAmazonはAWS Glueをリリースしたのでしょうか?また、エンタープライズユーザーをどのようにサポートしてくれるのでしょうか?

顧客により良いサービスを提供し、競合他社よりも優れたビジネス価値のあるインサイトを求めている先進的な企業にとって、ビッグデータは必要不可欠なものです。残念ながら、あまりにも多くの企業が、保有している豊富なデータを活用しきれていません。 プライスウォーターハウスクーパース(PwC)の調査によれば、企業の3分の2は、企業データからは「実質利益をほとんど享受できていない」または「まったく享受できていない」と考えています。

エンタープライズデータの分析とレポート作成のタスクをシンプルにするため、多くの企業は、データウェアハウス(企業内のさまざまなソースから情報を収集するデータストレージシステム)を導入しています。もちろん、広範囲にわたるたデータベースから集約されたデータウェアハウスにデータをどのように取得してくるかについてはまだ疑問の余地があります。 

ETLプロセスは、特にソースとなるデータベースからデータウェアハウスにデータを転送するために設計されています。ただし、ETLの課題と複雑さにより、すべてのエンタープライズデータを問題なく実装することが難しい場合もあります。

こうした理由から、AmazonはAWS Glueを提供しています。この記事では、AWS Glueについて知りたいこと、つまり、それがどのようなもので、どう機能するか、AWS Glueサービスのレビュー、AWS Glueの競合製品との比較に関して解説します。

Table of Contents

ETLとは?

AWS Glueとは?

AWS Glue : 特徴と機能

AWS Glue: レビューおよびそれ以外の選択肢

まとめ

ETLとは?

抽出、変換、ロード(ETL)は、1つ以上のソースデータベースからターゲットデータベースまたはデータウェアハウスに情報をロードするための主要なデータ統合プロセスです。名前が示すように、3つのステージまたは機能で構成されています。

  • 抽出:データが読み込まれ、ソースデータベースからステージング領域に抽出されます。
  • 変換:Rawデータは検証され、データの整合性の問題がチェックされ、ターゲットデータベーススキーマと一致するように変換されます。
  • ロード:変換されたデータは、ターゲットデータベースまたはデータウェアハウスにロードされます。


データウェアハウスがデータベースに内在するインサイトを解放するためには、適切に設計されたETLシステムが不可欠です。 ETLツールは、ソースとターゲット間でデータを正しく変換する、さまざまなデータソースを処理する、大量のデータを処理するためにスケーリングするなどの課題に対応しなければなりません。

残念なことに、多くの企業はこれらの課題に対処できず、ETLを最大限に活用できていません。

たとえば、行動分析会社Interanaの調査によると、「企業のほぼ70%」が、現在のツールでは答えることができない顧客エンゲージメントに関する課題に定期的に直面しています。 Xplentyによる別の調査においては、ビジネスインテリジェンスプロフェッショナルの30%が、データ準備のためだけに50〜90%の時間を費やしていることがわかりました。

こういったニーズを目の当たりにし、AWS Glueのようなサービスがギャップを埋めるために登場しました。では、AWS Glueとは正確にはどのようなもので、企業のETLの課題にどのように役立つのでしょうか?

AWS Glueとは?

前述のように、AWS Glueは、ビッグデータをさらに活用したい企業のために、ETLプロセスでの困難を取り除くことを目的としたフルマネージドETLサービスです。 AWS Glueの最初の公開リリースは2017年8月でした。それ以降、Amazonは新しい機能を備えたAWS Glueのアップデートを積極的にリリースし続けています。最新のAWS Glueアップでデートの一部は次のとおりです。

  • PythonシェルジョブでのPython 3.6のサポート(2019年6月)。
  • 仮想プライベートクラウド(VPC)エンドポイントを介したAWS Glueへの直接接続のサポート(2019年5月)。
  • Apache Sparkを使用したAWS Glueジョブのリアルタイムの連続ロギングのサポート(2019年5月)。
  • CSVデータのスキーマを推測するためのカスタムCSV Classifierのサポート(2019年3月)。

AWS Glueの登場は、Amazonのクラウドデータ処理サービスで欠けていたものを埋めてくれます。以前は、AWSにはデータの取得、保存、分析のためのサービスがありましたが、データ変換のためのソリューションはありませんでした。

AWS Glue内の機能群:

  • AWS Glue DataCatalog:ETLプロセスの一部となるデータソースとターゲットへの参照を含むメタデータリポジトリ。
  • ETLエンジン:ETLプロセス全体で使用するスクリプトをPythonおよびScalaで自動的に生成。
  • スケジューラ:時間ベースおよびその他の基準に基づいてジョブを実行し、イベントをトリガーすることが可能。

AWS Glueの目的は、エンタープライズクラスのデータウェアハウスの構築を容易にすることです。データは、トランザクションデータベースやAmazonクラウドなど、さまざまなソースからデータウェアハウスに移動することができます。

Amazonによると、次のようなETLタスクをシンプルにするために、AWS Glueには多くの実現可能なユースケースがあります。

  • さまざまなデータベースとデータストアに関するメタデータを検出し、AWS Glueデータカタログにアーカイブ。
  • ソースからターゲットへの転送中にデータを変換、非正規化、および強化するためのETLスクリプトの作成。
  • データベーススキーマの変更を自動的に検出し、それらに一致するようにサービスを調整します。
  • 特定のトリガー、スケジュール、またはイベントに基づいてETLジョブを起動。
  • ETL操作のログ、メトリック、およびKPIを収集して、監視およびレポートに使用。
  • 処理中のパイプラインのストールを防ぐためのエラー処理と再試行。
  • その時点でのニーズに合わせて、リソースを自動的にスケーリングします。

次のセクションでは、AWS Glueが提供しなければならない機能の一部を検討します。 

AWS Glue : 特徴と機能

AWS Glueの主な機能は次のとおりです。

  • サーバーレスコンピューティング:AWS Glueはサーバーレスのサービスです。つまり、サーバーを実行するために手動でサーバーを用意する必要はありません。 AWS Glueの機能を使用するごとに、Amazonはサーバーを起動し、使用されなくなったらシャットダウンします。この自動プロビジョニングにより、自分でインフラストラクチャを管理またはスケーリングするタスクから解放されます。
  • Apache Spark:AWS Glueは、ビッグデータ処理用のApache Spark分析エンジンに基づいたサービスです。また、このサービスではユーザーはPythonおよびScalaでスクリプトを作成することもできます。
  • 開発が容易:AWS GlueでETLのコードを手動で書くユーザーは、「開発者エンドポイント」(AWS Glueスクリプトを開発およびテストできる環境)にアクセスできます。
  • AWS Glueデータカタログ:AWS Glueデータカタログは、すべてのデータストアとソースに関する情報を格納するメタデータリポジトリで、保存場所に関係なくデータ資産をより詳細に可視化することができます。
  • ジョブスケジューリング:AWS Glueは、イベントまたはスケジュールに基づいて、または完全にオンデマンドでジョブを開始できるようにすることで、スケジューリングを容易にします。

AWS Glue: レビューおよびそれ以外の選択肢

2017年8月のGAリリース以来、AWS Glueはかなり好評なようです。ビジネスソフトウェアレビュープラットフォームG2 Crowdで、AWS Glueは30件のレビューに対して、4.0 / 5星の平均評価を受けています。

G2 Crowdのレビューによると、AWS Glueの優れた機能には、データ統合プロセスを簡素化する機能が含まれています。レビューアーのAlkesh G.は次のように述べています

AWS Glueを2〜3年ほど使用しています。これにより、ビジネス全体ですべてのデータセットを検索、移動、変換できます。 AWS Glueの最も興味深い点は、サーバーレスであるということです。Glueをポイントするだけで、すべてのETLジョブを実行できます。サーバーを構成、プロビジョニング、またはスピンアップする必要はありません。また、サーバーのライフサイクルを管理する必要もありません。

ただし、一部のユーザーは、AWS Glueについて不満を述べいます。これは、ドキュメントとリソースが不足していることにあります。 1人のレビュアーは、躊躇することなく次のように述べています。

AWS Glueに関するドキュメントとサンプルコードはひどい、問題を解決するためにサポートチケットを作成しています

別のユーザーは、AWS Glueは

新しすぎるため、まだチュートリアルやユースケースがWebで言及されいるものが多くなく、本番環境で使用するには時間がかかるでしょう。

AWS Glue以外の選択肢: Xplenty

AWS Glueサービスをまだ購入されていない人にとって、朗報は、ETLサービスとはほど遠いことです。 Xplentyのような企業は、データ統合プロセスの管理と簡素化のためにAWS Glueの代替機能を提供しています。

Xplentyプラットフォームは、最初から最後までデータパイプラインを構築するための完全なツールキットを提供します。 Xplentyの使いやすいポイントアンドクリックのユーザーインターフェイスにより、単純なレプリケーションタスクから高度なデータの準備と変換まで、すべてが可能です。

Xplentyプラットフォームには、MongoDB、MySQL、Amazon Redshift、PostgreSQL、Google Cloud Platform、Facebook、Salesforce、Jira、Magento、HubSpot、Slack、QuickBooksなど、それ以外にも100を超えるよく利用されているデータストアおよびSaaSアプリケーションとの統合が揃っています。

AWS Glueと同様に、Xplentyはデータ統合インフラストラクチャを柔軟にスケーリングするためのタスクを大幅にシンプルにしてくれます。アクティブなノードの数を増やしたり減らしたりするには、スライダーを左右に調整するだけです。

G2 Crowdウェブサイトで、Xplentyは80件のレビューに基づいて、平均4.4 / 5星を獲得しています。この強力なユーザーフィードバックのおかげで、XplentyはG2 Crowd 2019年春シーズンにおいてハイパフォーマンス企業の1つにランクされました。

多くのXplentyユーザーは、Xplentyを使用するときの使いやすさとサポートについて前向きなコメントを残しています。これは複雑なETLプロセスにうまく対照していく際の鍵です。

レビュアーのNick Gによると、

Xplentyは、必要なソースと送信先のほとんどにつながります。ネイティブコネクタがない場合、REST APIコネクタで実現可能です。サポートチームは、必要に応じてすぐに支援する準備ができています。また、サポートチームと包括的なドキュメントは、多くの場合、あなたのために仕事をするのではなく、あなた自身が望む結果を実現するための学習をサポートすることに焦点を当てているという点も気に入っています。これは、他の用途での学習に役立ちました。

XplentyユーザーのLally B.は同じく次のように書いています。

Xplentyは優れた顧客サービスを提供しています。チームは私たちと協力してデータフローを開発し、リアルタイムチャットシステムで製品に関する質問に答えてくれます。

別のユーザーはこう言ってます。:

Xplentyを使用する以前は、一般的なETLプロセスやデータに関してほとんど経験がありませんでした。幸いなことに、彼らのサポートチームは素晴らしく、データ管理という複雑な難題を一歩ずつ順を追って説明してくれました。

まとめ

多くの開発者とITプロフェッショナルにとって、AWS Glueは、2017年8月のリリース以来、ETL処理に関連した複雑さやマニュアル作業を軽減することに成功しています。

ただし、AWS Glueがまだ新しいサービスである点や難しい学習曲線といった欠点は、あらゆる状況に最適な選択肢とは言えないことを意味しています。すでに確立された、使いやすい、完全に管理された、強力なカスタマーサポートを備えたETLソリューションをお探しであれば、Xplentyをチェックしてみてください。

Xplentyが自社に適しているかどうかをより詳細に知りたい場合は、Xplentyブログで最新のニュースと情報を確認していただくか、オンラインデモを予約しXplentyチームに相談してみてください。

(本ブログは、2019年6月に投稿された記事を翻訳したものです。)