見出し画像

データスキューについてまとめる ②取引先データスキュー

みなさん、こんにちは!
データスキューについてのブログ、前回は 所有者スキューについて書きました。今回は、取引先データスキューについてです。
全然関係ない話ですけど、「スキュー」って響き、なんかかわいいですよね。アザラシの赤ちゃんの鳴き声みたいで。


① 取引先データスキューとは

ひとつの取引先に10,000件以上取引先責任者や商談、ケースレコードなどの子レコードが紐付いている状態を指します。

② まずは「暗黙的な共有」の説明をさせてくれないか

ところで、「暗黙的な共有」って聞いたことありますか?
例えば商談にアクセス権を持つ場合、親である取引先の情報も見たいですよね?もちろん、逆もまた然りですよね?
・ 子レコードにアクセス権を持つユーザーは、親である取引先を参照することができる
・ 親取引先にアクセス権を持つユーザーは、ロールでのアクセス設定の内容により子レコードにアクセスすることができる
など、わざわざ設定しなくってもあらかじめアクセス権が付与される共有設定のことを「暗黙的な共有」といいます
ネーミングがかっこいいよね、なんか、暗黙的な共有って。椎名林檎が唄ゐそう。って思ったら、以前こんなことも言ってました。

③ 取引先の親子関係でデータが偏るとどうなるのか

【共有設定編】

取引先に関連しているデータが偏っていた場合、共有設定の変更に伴う再計算に時間がかかってしまいます。それはなぜかと言いますと、親である取引先と取引先の子レコードには、暗黙的な共有関係が存在しているためです。
例えば、株式会社ABCに300,000件取引先責任者が紐付いているとします。その中のひとつの取引先責任者に関するアクセス権を何かしら変更します。そうすると、株式会社ABCに紐付く299,999件の取引先責任者でも再計算が行われます。想像してみてください。299,999件、「ヨシ!」「ヨシ!」と指さし確認をして回るさまを。それはそれは時間がかかるでしょう ということは、想像に難くありませんよね。

【レコードロック編】

UNABLE_TO_LOCK_ROW
あなたは、このエラーに見覚えはありませんか。私はあります。何度も何度もあります。このエラー、他に原因がある場合もいくつかありますが、取引先データスキューも原因のひとつなんです。
株式会社ABCの子レコードを編集する毎に、親レコードをロックします。ロックしている間に親レコードや同じ親を持つ子レコードを編集しようとすると、上記のエラーが発生する というわけです。子だくさんな程、親の負担が多くなる。現実社会といっしょですね(知らんけど)。

④ 取引先データスキューが起こりがちなパターンと解決策

【個人事業主の扱い】

あー、個人事業主いっぱいいるけど、個人取引先機能って考慮事項多くてめんどくさいなー。しかも個人取引先って、たった1人なのに、取引先と取引先責任者分のデータ量消費するんでしょ?とりあえずいっこダミー取引先作っちゃって、取引先責任者としてみんな紐付けちゃえ。
こんなこと、考えたことはありませんか?
少なくとも、私はあります。
個人事業主先が相当数いる場合は、素直に個人取引先を使いましょう。

【支店や支社の扱い】

あと、支店とか支社が無数にある会社って意外と世の中たくさんありますよね。取引先を分けずに、ひとつの取引先として扱っていると、商談やケースの数が10,000件をさらっと超えてしまうことは、往々にしてあると思います。
支店や支社は、それぞれの取引先に分けることが理想かと思われます。

上記はあくまで机上論です。そうじゃないぞ ということもあるよね実際。

⑥ 今日のまとめ

  • 取引先データスキューとは、ひとつの取引先に10,000件以上の子レコードが紐付いている状態を指す

  • 取引先データスキューが起こると、共有設定の再計算やレコードロックの際に非常に時間がかかる

  • 個人事業主が多い場合は、個人取引先を使用する、支店や支社は、別々の取引先として扱うことで、取引先データスキューを避けることができる

最後までお読みいただき、ありがとうございます。
次回は、参照スキューについてまとめてみようと思っています。

参考リンク

動画
【機能紹介】Salesforceの共有設定をマスターしよう!~Sharing & Visibility

Salesforce Developers
親子データスキュー
暗黙的な共有

ヘルプ
プロアクティブモニタリング:レコードロックエラー

Trailhead
大量データ



いいなと思ったら応援しよう!