LoginSignup
0
0

はじめに

実際に使用したことはないものの、要件定義の段階で話に挙がったBig Objectについて、今回はまとめたいと思います。

Big Objectとは

Big Objectとは、Salesforce上で10億件以上のデータを保存、管理することができる機能のこと(通常のオブジェクトとは異なるストレージに保存されている)。
一般的なオブジェクトと同様に、①標準Big Object(項目監査履歴など)と②カスタムBig Objectに大別される。

Big Objectの使用用途

  • 顧客の360度View
    • 顧客に関するすべてのデータ。
  • 監査と追跡
    • ユーザのSalesforce利用状況の追跡。
  • 履歴アーカイブ
    • データの履歴管理。

ざっくり言うと、1つのオブジェクトに大量のレコードが作成されるような環境で、一定時間経過したレコードをアーカイブとして保存するような用途に適している。

Big Objectの制約事項

  • 入力規則を使用することができない。
    • データの品質を担保する場合は、Apexクラスなどを用いる必要がある。
  • 項目変更履歴を使用することができない。
  • リストビューで表示することができない。
    • SalesforceのUI上に、レコード情報を表示することができないため、画面表示したい場合はVisualforceやLWCを使用する必要がある。
  • Apexトリガを使用することができない
    • Big Object の作成/更新/削除を起点としたトリガを実装することができない。
  • プロセスビルダー、フローでBig Objectのデータを扱うことができない。
  • レポート、ダッシュボードでBig Objectのデータを表示することができない。

カスタムBig Objectの作成手順

  1. 「設定」メニューの「Big Object」から新規作成ボタンをクリックし、オブジェクト名とAPI名を入力する。
  2. カスタム項目を作成する。
    1. 選択リスト、主従関係のリレーション項目、数式項目は作成することができない。
    2. Big Objectのサフィックスは「__b」になっていて、項目は「__c」となる。
  3. インデックスを作成する。
    1. インデックスとは、データベース内のテーブルの行を高速に検索するためのデータ構造のこと。
    2. インデックスに使用する項目は入力必須にする必要がある。

データの取得

Big ObjectへのアクセスにはSOQLクエリを使用する。1つは通常のSOQLで、もう1つは非同期SOQLである。
通常のSOQL文において、以下のルールが存在する。

  • WHERE句はインデックスの位置順通りに指定する必要がある。
  • WHERE句の最後以外は=とする必要がある。
  • !=、LIKE、NOT IN、EXCLUDES、INCLUDESを使用することができない。

非同期SOQLは処理時間に制限なく、大量データの集計に活用可能である。

0
0
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
0
0