この記事では、オブジェクトが大きくなりすぎた場合に、オブジェクトを分割する方法とその理由について説明します。
一般的に、オブジェクトが大きくなりすぎた場合、行が多すぎることを意味します。
それほど一般的ではありませんが、行数が多いだけでなく、列数も多い場合もあります。
非常に幅の広いテーブルでは、行数が多いという理由だけで、そのオブジェクトのレポート作成が遅くなることがあります。
このような状況での解決策の1つは、オブジェクトを2つに分割することです。

このような状況はどのような場合に発生するのでしょうか。
オブジェクトが大きくなりすぎた場合、以下のようなことが起こります。
- ルールがタイムアウトし、失敗します。(これはオブジェクトの量ではなく、ルールに問題があることが原因である可能性もあります。
- レポートの実行が遅い、またはタイムアウトします。
分割する目的
目的は、オブジェクトを2つの別々のオブジェクトに分割することです。オブジェクトは、行または列によって分割することができます。
オブジェクトを行で分割する理由は?
- 行の数が非常に多く、論理的に分割できる場合
または
- オブジェクトに、他のデータよりもはるかに頻繁にレポートされるデータサブセットが含まれている場合。例えば、今年度のデータと過去のデータなど。
オブジェクトを列で分割する理由は?
- オブジェクトに列の数が非常に多い場合
- 列の一部にリッチテキストがあり、多くのデータを格納している場合
- 一部の列は、データが入力される頻度が低い、または参照される頻度が低い
基本的な手順とは?
列による分割:
- 社内で話し合い、CS Opsにとって最も重要性の低い列を特定します。また、Count関数を使用してレポートを作成し、値が入力される頻度が高い列を特定します。
- データ管理] で [依存関係] タブを使用して、オブジェクト内の列が使用されている場所を確認します。変更後に必要となる更新については、メモを取っておくことをお勧めします。
- 元のオブジェクトから削除する列を新しいオブジェクトに追加するルールを作成します。
- 削除する列の依存関係を解除します。その後、元のオブジェクトからそれらの列を削除します。
- この変更の影響を受けるレポートやルールを更新します。
行による分割:
- データ管理で「依存関係」タブを使用して、このオブジェクトのデータが使用されている場所を確認します。オブジェクトを分割することによる影響を考慮する必要があります。
- 元のオブジェクトから削除する行を新しいオブジェクトに追加するルールを作成します。
- 元のオブジェクトからそれらの行を削除します。
- この変更の影響を受けるレポートやルールを更新します。
- オブジェクトが現在オブジェクトと履歴オブジェクトに分割された場合、このプロセスを定期的に繰り返す必要があります。
このアプローチにはどのような考慮事項が必要ですか?
- 軽微な変更ではパフォーマンスに影響を与える可能性は低いでしょう。結果を確認するには、大規模な変更を行う必要があります。
- 大規模な更新/削除には、Gainsightエンジニアリングチームの支援や監視が必要になる場合があります。サポートチケットを開いて確認することができます。
- 件数の少ないオブジェクトは件数の少ないオブジェクトのみ、件数の多いオブジェクトは件数の多いオブジェクトのみ参照できます。