GCP(Google Cloud Platform)は、コンピューティング、データ保存、ネットワーキング、ビッグデータ分析、API 管理、AI(人工知能)の探求のためのツールなど、大規模なクラウドベースのスイートのことです。このスイートには、Cloud Data、Fusion、Dataflow、Dataproc の少なくとも3つの GCP ETLツールが含まれていますが、サードパーティのノーコード/ローコード ETL プラットフォームからメリットを感じるユーザーもいるかもしれません。

本記事における主なポイント5つ:

  • ベストな ETL ソリューションには、経験豊富なコーダーやデータサイエンティストは必要ない。
  • GCP には、データ収集と分析プロセスに追加できる SaaS (サービスとしてのソフトウェア)と PaaS(サービスとしてのプラットフォーム)ソリューションの多様なエコシステムがある。
  • GCP には、よく使われている100以上のソースからデータを抽出、変換、格納できるようになる ETL ツールが含まれている。
  • GCP の ETL ツールを使うためのベストプラクティスには、簡単なものもあれば、慎重な検討が必要なものもある。
  • Google のエコシステム以外のソリューションと連携するには、サードパーティの ETL プラットフォームを使う方がいい可能性がある。

本記事では、GCP の ETL ツールと、データのニーズに対応するサードパーティの代替ツールについて見ていきます。また、GCP の ETL ツールを使う際のベストプラクティスや、サードパーティのプラットフォームを選択する際に留意すべき重要な点についても見ていきましょう。

ETL とは

ETLとは、抽出(Extract)、変換(Transform)、格納(Load)の頭文字をとったものであり、複数のソースからデータを抽出して使用可能な形式に変換し、ターゲットシステムやデータベースに格納するプロセスを指します。ETL プロセスは、対応するデスティネーションにデータをソースから移動するために以下の3つのステップを踏みます。

1.抽出

ETL パイプラインは、データソースに接続してそのソースから情報を引き出すことから始まります。例えば、EC 企業は、オンライン販売プラットフォーム、CRM(顧客関係管理)ソリューション、ERP(企業資源計画)システムのすべてからデータを取得したいと考えるかもしれません。そしてそれには、JSON や CSV ファイルなど、さまざまなデータタイプを含むリレーショナル・データベースや非リレーショナル・データベースからデータを引き出すことが含まれます。

データ 抽出のプロセスは、バッチまたはリアルタイムで行われます。「ストリーミング ETL」とも呼ばれる リアルタイム ETL が、常にソースからデータを取得するため、企業は新たなトレンドに速やかに対応することができます。

バッチデータ処理は、スケジュールされた時間に情報を取得します。例えば、企業はネットワークが他のタスクを実行する必要のない時間帯に、大量のデータを集めるかもしれません。

多くの ETL プラットフォームは、オンデマンドのデータ処理にも対応しており、オンデマンド ETL では、いつでもデータを集めて格納することができます。また、ETL プロセスの完了にかかる時間は、集めたデータ量、データの質、ETL ツールの効率によって変わります。

Integrate.io には、数百ものコネクタを備えたライブラリがあります。このノーコード/ローコードのSaaSプラットフォームには、Snowflake、Salesforce、Amazon Redshift、Shopify、HubSpot といった広く使われているソースや接続先のためのコネクタがあり、マーケティング、セールス、データサイエンスの専門家など、どんな人でもこれまで以上にデータをサッと移動しやすくなっています。

2.変換

ETL プロセスには複数のデータソースが含まれるため、さまざまなデータタイプに遭遇する可能性が高く、データ変換プロセスでは、データは共通のフォーマットに再フォーマットおよびクレンジングされ、それによって分析がしやすくなります。

例えば、複数のソースに接続されたデータパイプラインだと、重複した情報がそのソースに含まれていることがありますが、ETL ツールはそのような重複を削除してデータをクリーンにすることができます。

データ変換の他の例としては、以下のようなものがあります:

  • Microsoft Word ファイル を PDF へ変換する。
  • 重複の発生やエラーの繰り返し、ファイルの破損を起こさずに構造化データテーブルを結合する。
  • 顧客レビューのような非構造化データを、顧客レビューの数値スコアのような構造化フォーマットに再フォーマットする。

ノーコードやローコードの ETL ソリューションでは、技術的なバックグラウンドがない人でも簡単にこのような作業を実行できます。データパイプラインをプログラムするために Python や SQL の使い方を学ぶ代わりに、ほとんどの作業を代わりにしてくれるコネクタにドラッグ&ドロップで委ねることができます。

3.格納

ソースデータがクリーニングされて標準的なフォーマットになると、ETL ツールはデータセットをデータベース、データレイク、データウェアハウスなどに格納します。

GCP のクライアントは、おそらく Google のエコシステム内のデスティネーションにデータを格納したいと考えるでしょう。そしてそのデスティネーションには以下のようなものがあります:

ただし、Google エコシステム内のデスティネーションに限定されるわけではなく、ユースケースによっては、Apache Derby、Microsoft Azure、Oracle Database、AWS RDS などの他のデスティネーションへのデータの格納が必要である可能性があります。

thumbnail image

GCP (Google Cloud Platform) とは

GCP は、Google が提供する SaaS および PaaS のソリューションのスイートです。

GCP の価格設定

Google は、毎月の使用量に制限がない限り、20以上のオンライン製品を無料で利用できます。中小企業やデータサイエンスについて学んでいる専門家にとって、無料枠は魅力的なサービスかもしれません。

とは言っても、ML(機械学習)や消費者動向の分析に必要な大量のデータを集め始めたら、有料版に移行したくなるでしょう。例えば、1ヶ月に1TB以上の BigQuery のクエリを使おうとすると、無料版の上限を超えてしまいます。大量なデータのように聞こえるかもしれませんが、競合他社に追いつくために必要なデータをすべて集め始めたら、これくらいの量にはすぐに達してしまいます。

ただ残念ながら、Google Cloud Platform のサービスを使うのにいくらかかるのかはわかりにくいです。Google Cloud Pricing Calculator を使えばコストを見積もることができますが、ユースケースについてよく把握していることが前提です。また、サービスによっては場所によって価格が変わることもあるのでややこしいです。国境を越えて事業を展開する企業や、オフプレミスのツールを使用する企業にとって、所在地がどのように影響するかはすぐにはわかりませんからね。

ちなみに Google では、使用したインスタンスに対してのみ課金されます。必要以上のプランを契約する必要はなく、使った分だけ支払うので、コストを抑えることができます。それでも、テクノロジーが進化するにつれて、コストを計画するのは大変かもしれません。

GCP の ETL ツール

現在、GCP には以下の3つのデータ統合ツールが含まれています。

thumbnail image

Cloud Data Fusion

ETL と ELT パイプラインのデプロイに対応するクラウドデータフュージョンです。

Google Data Fusion には、効果的な GCP ETL ツールとなる特徴が以下のようにあります:

  • オープンソースのコアを採用しているため簡単に携帯でき、Google エコシステム 以外のデータソースや接続先にも使用できる。
  • Salesforce、Oracle、SAP ODP、SQL Server で動作するように事前に設定されたコネクタなど、150以上のコネクタを含むライブラリ。
  • Google Cloud のツールとのネイティブな統合。
  • ポイント&クリックの UI(ユーザーインターフェース)により、コーディングが殆どいらない。

thumbnail image

Dataflow

Dataflow は、GCP内で Apache Bea のデータパイプラインを実行するマネージドサービスです。Apache Beam はバッチ処理に最も有用であり、様々なソースやデータタイプを自動的に分割し、あらゆるワークロードに対応できるよう拡張し、柔軟なスケジュールに従って価格を可能な限り低く抑えることができます。

Dataflow は、データを変換しないことから 技術的にはGCP の ETLツールではありませんが、ソースからデータを集めて好みのデスティネーションに移動させる上で重要な役割を果たすことができます。

thumbnail image

Dataproc

Dataproc は GCP の ETL ツールと連携し、Apache Airflow や Spark などの幅広いツールやフレームワークでデータを管理します。スケーリングの問題に直面することなくオープンソースのデータ分析を実行したい場合、Dataproc がお手伝いできます。また、Google Compute と Kubernetes のクラスタを管理するために、低コストのサーバーレスアプローチを採用しており、Google は「Dataproc はオンプレミスのソリューションと比べて、総所有コストを最大54%削減できる」と言っています。

GCP の ETL ツールのベストプラクティス

GCP の ETL ツールを使うことに決めた場合、データの品質を保証するためのベストプラクティスに必ず従うべきであり、GPC の ETL ツールに不可欠なベストプラクティスには、以下のようなものがあります:

  • 内蔵された統合機能は、よく使われているデータソースやデスティネーションと連携するようにあらかじめ設定されていることから、可能な限り利用する。
  • 必要な場合を除き、GCP のエコシステム内にとどまる。
  • Dataproc のクラスタを再利用してワークフロー効率を上げる。
  • Cloud Data Fusion の自動スケーリングを有効にしてボトルネックを防ぐ。

ベストプラクティスの中には、GCPの ETL ツールの使用方法をよく検討することが求められるものもあります。例えば、パイプラインを使い終わったら通常は Cloud Data Fusion でクラスタを削除しますが、既存のクラスタに対してパイプラインを実行すべき場合もあります。この手法は、ユーザーが中央機関によって強制された厳格なポリシーに従う必要がある場合や、全パイプラインのために新しいクラスタを作成するのに単純に法外な時間がかかる場合に合理的です。

Integrate.io が GCP の ETL ツールのエクスペリエンスを上げる方法

結局のところ、GCP の ETL ツールは Google のエコシステム内で非常にうまく機能しますが、GCP スイート に縛られたくはないと考えるでしょう。CCP の ETL ツールは、Salesforce や Hubspot のような多くに使われるツールのためのコネクタがあるのは確かに有用ですが、ビジネスが成長すればするほど、Google のプラグイン・ライブラリに存在しないコネクタがあればと考える可能性が高くなるでしょう。

Integrate.io には、データの抽出と格納に使用できる、すぐに使えるコネクタが何百もあり、そのコネクタを使うのにコーディングの知識は要りません。適切なものを選んでパイプラインに追加するだけで、ドラッグ&ドロップのユーザーインターフェースにより、誰でも難なく使えます。

また、Integrate.io のプラットフォームは、データ品質やアクセス、可視性の向上のためにデザインされたツールなどにもアクセスでき、ETL や リバース ETL だけでなく、プラットフォームの ELT と CDC(変更データキャプチャ)機能、API 生成データオブザーバビリティデータウェアハウスのインサイトにも頼ることができます。

Integrate.io で GCP エクスペリエンスがどのように上がるか、ご覧になりたい方は、こちらからデモを予約して、ぜひ Integrate.io を実際にご体験ください。