Informatica Cloudは非常に簡単に使い始めることができるのですが、あまりにも簡単なことから「従来のInformatica PowerCenterのような大量データの処理は苦手なのでは?」と質問を受けることがあります。
今回は1億件のデータを処理したらどれだけ時間がかかるのか、実際にベンチマークをとった結果をご報告します。
Informatica CloudのSecure Agentは、実際にデータを扱う処理エンジンです。このSecure Agentを使ってデータ連携処理を実行していくのですが、クラウド/オンプレミス環境問わず、インターネットに接続可能な環境であれば、どこへでも配置することができます。また、あくまでもエージェントとして動作するため、Informatica Cloudのクラウド環境から常に最新のデータ連携に関わる情報やソフトウェアの更新などを自動で取得してくれる優れものです。
Secure Agentはみなさんが日常業務で利用するラップトップにインストールして小さく始めることもできますし、サーバを用意して大量のデータを処理することももちろん可能です。特にクラウド環境ならなおさら容易にハイスペックのインスタンスを用意することが可能です。
早速、Secure AgentをGoogle Cloud PlatformのCompute Engine(n1-standard-4(vCPU x 4、メモリ 15 GB))にインストールして始めます。ディスクはSSDではなく、「標準の永続ディスク」を利用します。
今回の検証に使うデータは、キー値(num列)が1~100000000まで割り振られた10カラム程度のCSVファイルです。
1. CSVデータを取得→他のディレクトリにCSVデータを出力
まずは、1億件のデータを作成して、単純にCSVデータを取得→他のディレクトリにCSVデータの出力を実施してみました。
入力ファイルのデータサイズ:7.44GB
出力ファイルのデータサイズ:7.44GB
結果:2分40秒
2. CSVデータのソート
次に、1億件のデータをキー値を逆順にソートして、すべてのデータを逆順に並べ替えます。
入力ファイルのデータサイズ:7.44GB
出力ファイルのデータサイズ:7.44GB
結果:5分00秒
なんと、ちょうど5分で処理が終了です、想像以上に早く処理が終わりました。1億件のデータをソート処理してもまったく問題がありません。
3. CSVデータの結合
もう少し、負荷をかけてみましょう。1億件の2つのファイルをキー値で結合(ジョイン)し、他のファイルに出力します。
入力ファイルのデータサイズ:7.44GB ×2
出力ファイルのデータサイズ:15.22GB
結果:10分08秒
少し時間がかかりました。それぞれのデータを結合する前に、事前にデータのソートを行っています。ソート済みとしてマークすることによって、より高速な処理を実現します。
4. CSVデータのBigQueryへのロード
6月14,15日に開催されたGoogle Cloud Next ’17 in Tokyoにおいて、インフォマティカはBigQueryパートナーのデータ統合/ETLのベンダーとして紹介されました。せっかくなので、1億件の全データをGoogle BigQueryにロードしてみましょう。
CSVファイルのデータサイズ:7.44GB
結果:43分55秒
Informatica CloudのBigQueryコネクタはGoogle CloudStorageにデータを一時的に保存し、保存されたデータをBigQueryにロードします。
今回はバッチモードで1億件のデータをロードしました。
ついで、BigQueryに登録したデータを検索してみたところ、なんと5.2秒で検索結果が返ってきました。(まったくのノーチューニングでこのスピード恐るべし…)
Informatica CloudのSecure AgentはPowerCenterと同じアーキテクチャを採用しています。そのためにこのような大量のデータの扱いも問題ありません。またこのSecure Agentを複数インストールしGrid構成を組んで水平スケールすることもできます。
今回は、Informatica Cloudで1億件のデータを扱った場合にどれだけ時間がかかるのかベンチマークをとってみました。爆発的にデータが増加するData3.0時代においてInformatica Cloudは有効に使えるiPaaSと言えるのではないでしょうか。
The post 1億件を5分で処理するInformatica Cloudの底力 appeared first on Informatica Blog Japan.