この文章は Salesforce 機械翻訳システムを使用して翻訳されました。詳細はこちらをご参照ください。
英語に切り替える

ロック競合を最小限に抑えるためのデータ編成

ロック競合の可能性を最小限に抑えるには、Bulk API 2.0 データ読み込みの計画時に、データを事前に編成することを検討してください。

Salesforce Platform は、リレーショナルデータベース上に構築されたアプリケーションと同様、データの参照整合性を保証するためにロックを使用します。ほとんどのトランザクションデータベース操作の場合、ロックが保持されるのは短時間にすぎず、ボリュームは競合を引き起こすほど大きくありません。しかし、データボリュームが大きいオブジェクトを操作するときや大規模なジョブを処理するときは、レコードがロックされ、競合が問題になる可能性があります。

データ読み込みを行う場合は、事前に必ず Sandbox 組織でテストを実行します。本番組織では、処理時間が異なる場合があります。

ヒント

Bulk API 2.0 ではロック競合を引き起こしやすい処理に注意する

次に示すのは、ロック競合を引き起こしやすい操作です。

  • ユーザの作成
  • 非公開で共有されているレコードの所有者の更新
  • ユーザロールの更新
  • テリトリー階層の更新

ロック競合を最小限に抑えるための Bulk API 2.0 データの編成

大規模なデータを読み込む場合は、主レコードをその親レコードに基づいて並び替え、(親が同じ) 異なるレコードが別々のバッチに含まれないようにします。

  • : AccountTeamMember レコードの作成や更新を行う場合、このレコードに対応する取引先は、トランザクションが完了するまでロックされます。AccountTeamMember レコードを含む別々のジョブをアップロードする場合、これらのすべてのレコードに同一取引先への参照が含まれていると、すべてのジョブで同じ取引先のロックが試みられるため、ロックのタイムアウトが発生する可能性があります。AccountTeamMember レコードを処理するときは、AccountId で CSV データファイルを編成します。

データモデルは組織ごとに異なるため、ロック競合が発生する条件は、上記で説明したものと一致しない場合があります。

メモ

Bulk API 2.0 の自動レコードロック処理 (PILOT)

人気のある Salesforce ideaexchange の提案に基づき、当社は Bulk API 2.0 のロックエラーがないかを自動的に検査し、エラーがあった場合は処理して、ジョブが正常に完了する確率を高めるパイロット機能を提供しています。

ロック競合を自動的に最小限に抑えるパイロットに関心がある場合は、取引先チームに連絡し、「Bulk API 2.0 の自動レコードロック処理パイロット」への参加を依頼してください��

この機能は正式リリースではなく、追加の契約条件に従って特定のお客様にパイロット版として提供されています。そのため、お客様が購入したサービスには含まれていません。この機能は変更されることがあり、SFDC の裁量独自の判断でいつでも予告なしに廃止される可能性があります。また、SFDC はこの機能を正式にリリースしない可能性があります。現在正式にリリースされている製品および機能に基づいて購入をご決定ください。この機能は現状有姿のままで提供されており、この機能の使用はお客様ご自身の責任となります。

メモ