- 未経験歓迎|システムエンジニア
- 業種未経験OK|SES営業
- 未経験歓迎
- Other occupations (18)
- Development
- Business
今回取り上げるテーマはSalesforceのBig Objectです。Big Objectは比較的新しい機能ではありますので、特徴から性能面、そして使い方まで何回かに分けて記事にしていこうと思います。
本記事については、Big Objectとは何ぞやといった概要的な説明となります。具体的な使い方については、以降の記事にて詳細を記載したいと思います。
【目次】
Big Objectとは何か?
- 大容量のレコードが登録できる
- SOQLの検索の仕方に制限がある
- 扱えるデータ型に限りがある
Big Objectとカスタムオブジェクトの使い分け
- Big Objectを使った方がいいもの
Big Objectの冪等性
最後に
Big Objectとは何か?
Big Object は、Salesforce上で大量データを保存可能な、通常のオブジェクトとは異なるストレージとなります。厳密にはLightning プラットフォームの異なる部分で保存されていますが、カスタムオブジェクトなどを扱う感覚で標準の API セットを使用して Big Object データにアクセスすることができます。オブジェクトとは似て非なるモノになりますが、主な特徴としては以下のものが挙げられます。
❚大容量のレコードが登録できる
Big Objectの一番の特徴でありメリットです。Bigと名前がついているだけあって、大量のレコードを登録可能です。どれくらい大量かというと、ライセンスによっては10億レコードといった桁違いの容量を格納することが可能です。
ストレージの上限については、組織のディスク使用量から確認ができます。デフォルトでは100万レコードまで上限があります。データストレージは容量による上限ですが、Big Objectストレージはレコード数による上限管理となっています。追加購入することで、レコード数を拡張することもできます。
❚SOQLの検索の仕方に制限がある
前述した通り、Big Objectには大容量のレコード数が登録できる反面、それを取り出す際には検索効率を求められます。Big ObjectにもSOQLを適用することはできますが、検索にはいくつかのルールがあり、検索効率を重視するためインデックスとなる項目を中心に絞り込みをかけることになります。SOQLでのBig Objectの検索の仕方については、別記事にて具体例を述べながら掲載予定です。
❚扱えるデータ型に限りがある
前述した通り、Big Objectには億単位のレコードが登録できることが想定されており、それらのレコードを効率よく検索できるようにする必要があります。そのため、カスタムオブジェクトで扱える一部のデータ型(チェックボックス・選択リスト・日付など)がBig Objectでは使用できません。
これらに共通して言えることは、絞り込みが難しい、いわゆる検索効率の悪いデータ型が取り扱えないことになります。詳細はBig Objectの定義のところで別記事として掲載予定です。
Big Objectとカスタムオブジェクトの使い分け
Big Objectの特徴が分かった上ところで、カスタムオブジェクトとの使い分けについて考えてみましょう。
❚Big Objectを使った方がいいもの
Big Objectの特徴を活かして、カスタムオブジェクトよりBig Objectを使用したほうが良いものとして以下のものが挙げられます。
- 大量のレコードのデータが見込まれるもの
- 比較的簡素な情報管理ができるもの
- 非同期で動かすことを見越して、リアルタイム性が求められないもの
上記に当てはまる事例としては、履歴管理や監査や追跡などを行うための細かいデータ収集、マーケティング目的の顧客情報管理(ロイヤルティプログラム、フィード、クリック、請求、プロビジョニング情報)といったものなどがあります。近年のビッグデータの普及から、分析や情報収集で使われる場面が多くなりそうです。
重ねて言うことになりますが、Big Objectはカスタムオブジェクトに比べて検索の効率はどうしても劣ってしまうため、同期処理には不向きになります。Big Objectは非同期処理での扱いが推奨となります。
Big Objectの冪等性
SalesforceのBig Objectとして覚えておくべき性質として冪等性(べきとうせい)というものがあります。なかなか聞きなれない言葉ではありますが、数学的には「同じ操作を1回実施しても、複数回実施しても結果は同じ」という意味を持っています。
これをSalesforceのBig Objectに当てはめていくと、Big Objectで管理するレコードには必ずインデックスとなる項目が存在します。インデックスはBig Objectのレコードを一意に特定するためのキー情報のようなものです。このインデックスとなる項目が同一であればBig Objectでは同一のレコードとして見なされ、1回Insertしても100回InsertしてもBig Objectのレコードとして登録できるのは1レコードとなります。
最後に
記事を見ていただきありがとうございました。Big Objectについて簡単ですが概要や特徴について説明しました。
次回以降、Salesforce上でどのように使用するか具体的に手順や注意点について以下テーマごとに述べたいと思います。
- Big Objectのオブジェクト定義
- SOQLを使用したBig Object検索方法
- ApexによるBig Objectの操作方法
- Big Objectと各標準機能の使用可否について
カスタムオブジェクトとは違い、扱い方にクセがある分、使いこなせれば便利な機能ではあるので是非マスターしておきましょう。
■お知らせ
テックブログではSalesforceに関する有益な情報を発信しています。ぜひチェックしてみてください!