8
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

インフォマティカ・ジャパン株式会社Advent Calendar 2024

Day 17

Tier有りメーターのIPU (Informatica Processing Unit) 換算早見表(データ統合編)

Last updated at Posted at 2025-01-03

こんにちはMitzです。IPU (Informatica Processing Unit) の計算に関してインフォマティカが公開しているドキュメントは二つあって、私の日々の業務でバイブルとなっています。

オンラインマニュアルには各サービスでの利用量に応じた具体的な消費IPU数の記載が無いため、IPUの計算について理解を得るにはこれら二つの資料に目を通す事が近道になります。今後の価格改定によって見直しが入る可能性もありますが、自分自身の作業効率化のためにも代表的なメーターについて換算早見表を作成してみました。

IPU消費の基本的な考え方

IDMCの各サービスにはそれぞれメーターが定義されており、対応するスカラの測定単位に応じて消費するIPU数が決まっています。このメーターとかスカラとか測定単位に加えて、さらにメーターにはTier(層)が設定されているものがいくつも存在します。Tier(層)は単一請求期間内で使えば使うほど割安に使えるようになるというCloudのサブスクリプションにおいては一般的な仕組みだと思いますが、この存在がIPUの計算を複雑化させています。

因みに、到達した上位Tier(層)のIPU消費レートは当該請求期間のみ有効であり、翌請求期間は最下位のTier(層)から開始する事になります。

データ統合(CDI : Cloud Data Integration)

データ統合についてはとりあえずこの3つを押さえておけば十分かと思います。

  • Data Integration
  • SQL ELT (旧 Advanced Pushdown Optimization)
  • Data Integration - Change Data Capture

Data Integration

おそらく一番接する事が多いメーターなのですが、スカラがCompute Unitsのためビギナーにはとっつきにくいメーターでもあります。Informatica Cloud and Product Description Scheduleには下記の通り記載されています。

  • Scalar: Compute Units
  • Metric: Per Hour
  • IPU Per Metric Unit:
    • 0.16 for the first 2,000 Hours
    • 0.025 for > 2,000 Hours

これは、2000時間以内は1時間毎に0.16 IPUを消費し、2000時間を超えた場合は1時間毎に0.025 IPUを消費するという意味です。

Compute Units
Per Hour
必要IPU数
1000 160
2000 320
3000 345
4000 370
5000 395
6000 420

最初のTierでは2000時間処理するのに320 IPU必要だったのが、次のTierでは同じ2000時間処理するのに必要なのは50 IPUになっています。これをグラフ化すると下記の通りです。

image.png

Data Integrationにおける、Compute Unitsの計算について

因みに、Data Integrationにおける、Compute Unitsの計算は下記の通りです。

  • 使用された論理コア数が4より大きい場合 : ジョブの実行時間 * 使用された論理コア数 ÷ 4
  • 使用された論理コア数が4以下の場合 : ジョブの実行時間 * 1

誤解を招くポイントにもなっていますが、セキュアエージェントに搭載された論理コア数ではなく、ジョブの実行時に使用された論理コア数が計算時に採用されます。実行前に使用される論理コア数を見積もることは出来ませんし、コア数を指定してジョブを実行する事もできません。

SQL ELT (旧 Advanced Pushdown Optimization)

Informatica Cloud and Product Description Scheduleには下記の通り記載されています。100万行処理する毎に消費するIPUが定義されているのですが、換算する単位が日米で異なるため必要IPU数を算出するのはなかなか面倒です。

  • Scalar: Rows Processed
  • Metric: Per Million Rows
  • IPU Per Metric Unit:
    • 0.048 for the first 100M Rows
    • 0.010 for 100M - 10B Rows
    • 0.002 for > 10B Rows

これは、1億行以内は100万行毎に0.048 IPUを消費し、1億行を超えて100億行以内は100万行毎に0.010 IPUを消費し、100億行を超えた場合は100万行毎に0.002 IPUを消費するという意味です。

Rows
Per Million Rows
必要IPU数
1M 0.048
10M 0.48
100M 4.8
200M 5.8
1000M(1B) 13.8
10B 103.8
20B 121.8

10B行処理するのに最初と次のTierで103.8 IPU必要だったのが、最上位のTierでは同じ10B行処理するのに必要なのは18 IPUになっています。これをグラフ化すると下記の通りです。

image.png

SQL ELT (旧 Advanced Pushdown Optimization)における、Rowsの計算について

ターゲット書き込まれた行数で決まります。ソースから読み込まれた行数は影響しません。

Data Integration - Change Data Capture

PowerExchangeとの併用が必須なCDIでの変更データキャプチャについて、Informatica Cloud and Product Description Scheduleには下記の通り記載されています。

  • Scalar: Rows
  • Metric: Per Million Rows
  • IPU Per Metric Unit:
    • 4.88 for the first 15M Rows
    • 0.41 for 15M - 750M Rows
    • 0.04 for > 750M Rows

これは、1千5百万行以内は100万行毎に4.88 IPUを消費し、1千5百万行を超えて7億5千万行以内は100万行毎に0.041 IPUを消費し、7億5千万行を超えた場合は100万行毎に0.04 IPUを消費するという意味です。

Rows
Per Million Rows
必要IPU数
1M 4.88
5M 24.4
10M 48.8
15M 73.2
30M 79.35
150M 128.55
300M 190.05
750M 374.55
765M 375.15
780M 375.75

15M行処理するのに最初のTierでは73.2 IPU必要だったのが、次のTierでは6.15 IPU、最上位のTierでは必要なのは0.6 IPUになっています。これをグラフ化すると下記の通りです。

image.png

Data Integration - Change Data CaptureにおけるRowsの計算について

ソースの変更ログから読み込まれた行数で決まるのですが、同一行に対して複数の変更が発生している場合には、1行としてカウントされるようです。

おわりに

書き始めたときは他のサービスのメーターも合わせて記載つもりだったのですが、意外と時間がかかってしまった関係で、サービス毎に分割してしまいました。

8
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
8
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?