投稿者:常田

NEXT19では、BigQueryへデータ移行を行う方法が色々出てきました。 ツールの区別がつかなくなってきたので簡単に以下表に整理します。利用する際の目安にしてください。(また機能によっては代替が出来るものもありますがGoogle側としては以下の利用を想定している模様です)

各製品の比較

主な対象 構成上の補足 BQに対してのモード
Alooma RDBマイグレーション (AloomaはSaaS型で提供)最近買収が発表されたGUIベースのツール。 現在どのように機能を利用していくか検討されているとのこと。Nextにおいてもスポンサーで展示されていました。
Dataflow ETL マネージドサービス(サーバレス)。任意のワークロード数でジョブを実行可能(分散処理) バッチモードと、ストリーミングモードの2つに対応
DataFusion ETL マネージド・サービス(GCEインスタンスをVPC上に起動) バッチモード
Transfer Service DWHマイグレーション マネージド・サービス(サーバレス)移行対象ソース側(ローカル)側に中継用のサーバが必要(とのこと) バッチモード

Transfer Service についての補足事項

DWHマイグレーションにおいては次の3点が考慮されてコンバージョンされます。

  • Data(データの中身)
  • Schema(テーブル構造などはBigQueryに適応されます)
  • Code

対象製品(現在ベータ版)

  • Cloud Storage
  • Teradata
  • Hadoop
  • これ以外にもDWH製品のサポートが順次計画されている

ETLツールの選択

ツール名 特徴  技術バックグラウンド 所感
Dataflow 難しい / フレキシブル Apache Beam 開発(Java/Python)を伴うがその分柔軟に作ることができる。またGCP以外でもBeamは実行可能
DataFusion 簡単 Datapoc(Hadoop) GUIベースで直感的に利用可能

今回のNEXT19で発表されたDataFusionはGUIベースでできており接続先のドライバも選択肢が多く(プラグイン的に提供)なりそうなので実際の案件で利用可能できるかを検討する機会が増えそうです。この手のツールは案件の状況で使えたり使えなかったりとありますので事前に検証をしてみることをおすすめします。今回、Data Transfer Service と Data Fusionが出たことでDataflowしか選択肢がなかった項目がもう少し柔軟に対応ができそうです。