Salesforce 認定 Platform Data アーキテクト 無料問題 10 / 10 ・ 分野6: データ移行
旧システムから Bulk API 2.0 で取引先責任者を移す。CSV には必須項目が空の行や、選択リストに無い値の行が混ざっている。担当者は「エラーの行は後で拾えばよい」と考えてそのまま流したところ、想定よりずっと遅かった。LDV のベストプラクティスの説明に合うものはどれか。
- エラーの行はその場で外され、残りの行は同じ速さで進むので、遅さの原因は件数だけである
- エラーが1件あるとジョブ全体が最初からやり直しになるので、件数を減らして何度かに分ける
- エラーの行は Salesforce が値を直してから保存するので、品質は流したあとで気にしなくてよい
- バッチにエラーがあるとそのバッチは1行ずつの処理になり遅くなるので、流す前に直しておく
正解と解説を見る
正解: D
正解の理由
LDV のベストプラクティス(Loading Data from the API)は、最も効率のよい操作の項で「Bulk API 2.0 で読み込むときは、読み込む前にデータがきれいであることを確かめる」と書き、その理由を「バッチの中のエラーはそのバッチを1行ずつの処理に切り替え、その処理が性能に大きく響く」としている。エラーの行を後で拾う考え方では、品質だけでなく速さも落ちる。
違う選択肢
「エラーの行はその場で外され、残りの行は同じ速さで進むので、遅さの原因は件数だけである」… ガイドは、バッチの中のエラーがそのバッチを1行ずつの処理に切り替え、その処理が性能を大きく落とすと書く。エラーの行が速さに関係しないのではない。
「エラーの行は Salesforce が値を直してから保存するので、品質は流したあとで気にしなくてよい」… ガイドは、Bulk API 2.0 で読み込むときは前もってデータをきれいにしておくよう求めている。Salesforce が値を直して保存する仕組みは書かれていない。
「エラーが1件あるとジョブ全体が最初からやり直しになるので、件数を減らして何度かに分ける」… ガイドが書くのは、エラーのあるバッチが1行ずつの処理になることで、ジョブ全体を最初からやり直すことではない。件数を減らしても、エラーの行が残れば同じことが起きる。
押さえどころ
ロード時の品質の確保は、正しさだけでなく速さの話でもある。必須項目・選択リストの値・型を、流す前に検査して直しておくと、バッチが1行ずつの処理に落ちるのを防げる。