BigObjectsで大量データの
チャンピオンになる
2017年11月29日
株式会社テラスカイ 鍬田 利康
自己紹介
Copyright © 2015 TerraSky Co., Ltd. All Rights Reserved. 2
 名前 鍬田 利康(Kuwada Toshiyasu)
 所属 (株)テラスカイ 金融ソリューション部
 略歴 Salesforce歴 5年
 興味 API連携・サーバレスアーキテクチャ
目次
Copyright © 2015 TerraSky Co., Ltd. All Rights Reserved. 3
1. 大量データにマツワル課題
2. 大量データの課題に対するアプローチ
3. BigObjectsとは
4. データアーカイブ使用例
5. 使用方法サンプル
6. 考慮事項
1. 大量データにマツワル課題
Copyright © TerraSky Co., Ltd. All Rights Reserved. 4
• 費用
– Salesforceのデータストレージは なかなかのお値段
• パフォーマンス
– slowレスポンス(レポートやViewなど標準機能にも影響)
– query タイムアウト
– 更新時のロック
• ガバナ制限への抵触
– Trigger内でのノンセレクティブなクエリ(over 20万件)
– 同期同時実行数
2. 大量データの課題に対するアプローチ
Copyright © TerraSky Co., Ltd. All Rights Reserved. 5
No 手段 データ退避場所 参照方法 費用 使いやすさ
1
データストレージ
追加購入
- 従来通り × 〇
2 安価な外部ストレージへの退避
外部DB
・参照用アプリ開発 + Canvas
・Salesforce Connect
・BI(MotionBoard/Domo) △ △
ファイルサーバ
(csvファイル)
ファイルを開く 〇 ×
3 BigObjectsへ退避 Salesforce内
・Visualforce/Lightning画面開発
・BI(MotionBoard/Domo)
・AppExchangeアプリ
〇 △
• 費用課題
New!!
お金で解決
DWH/AWS RDS/社内DB
今回フォーカス
2. 大量データの課題に対するアプローチ
Copyright © TerraSky Co., Ltd. All Rights Reserved. 6
– 安価な外部ストレージへの退避
– 閲覧機能を開発する
API GateWay Lambda アーカイブ
データ格納DB
アーカイブデータ
表示画面
例
2. 大量データの課題に対するアプローチ
Copyright © TerraSky Co., Ltd. All Rights Reserved. 7
• パフォーマンス課題
– インデックス付与
• 標準インデックス
• カスタムインデックス
– スキーニーテーブル
– ディビジョン
– クエリオプティマイザによる評価・改善
– データアーカイブ戦略
– 共有設定・ロールの見直し 今回の主題
2. 大量データの課題に対するアプローチ
Copyright © TerraSky Co., Ltd. All Rights Reserved. 8
• ガバナ制限への抵触
– 制限として受け入れる
– コードレビューやテストでリスクを軽減
3.BigObjectsとは
Copyright © TerraSky Co., Ltd. All Rights Reserved. 9
• 特徴
– デフォルトで100万件のデータを作成可能(追加購入可能)
– 使用可能なデータ型
• 日付時間, 参照関係, 数値, テキスト, ロングテキストエリア
– 主キーの定義必須
– MetaDataAPIで定義する
– 価格:comming soon
• 種類
– 標準BigObjects
• 項目監査履歴で使用されている
– カスタムBigObjects
• 独自にオブジェクトが定義可能
3.BigObjectsとは
Copyright © TerraSky Co., Ltd. All Rights Reserved. 10
• ユースケース
– 顧客の行動データの収集
• AIで分析しスコアリング/行動レコメンドなど
– 履歴データの退避
• 履歴データをBigObjectsにアーカイブする事で
データストレージ費用削減
– 監査と追跡
• コンプライアンス目的でSalesforceユーザのログを保管
4.データアーカイブ使用例
Copyright © TerraSky Co., Ltd. All Rights Reserved. 11
• 開発物
– データアーカイブApexバッチ
• BigObjectsにデータのアーカイブを実行
• アーカイブしたデータの削除
– アーカイブデータ参照画面
• Visualforce/Lightning
• BI(MotionBoard/Domo)
実際にBigObjectsにデータを退避するとしたら
どのような開発が発生するか?
5.使用方法サンプル
Copyright © TerraSky Co., Ltd. All Rights Reserved. 12
- 古いCaseレコードをBigObjectsへ退避
- 取引先の標準参照画面に、BigObjectsの閲覧画面
を表示する
5.使用方法サンプル
Copyright © TerraSky Co., Ltd. All Rights Reserved. 13
- BigObjectsの作成(オブジェクトの定義を作成しデプロイ)
主キーの定義
ソート方式
5.使用方法サンプル
Copyright © TerraSky Co., Ltd. All Rights Reserved. 14
• BigObjects デプロイ後のオブジェクト設定画面
GUIから項目の追加不可
5.使用方法サンプル
Copyright © TerraSky Co., Ltd. All Rights Reserved. 15
画面から項目型の操作不可
Index項目は必須解除出来ない
• BigObjects 項目変種画面
5.使用方法サンプル
Copyright © TerraSky Co., Ltd. All Rights Reserved. 16
Visualforce × BigObjects
- 取引先の標準参照画面に開発した
BigObjectsの閲覧画面を表示する
5.使用方法サンプル
Copyright © TerraSky Co., Ltd. All Rights Reserved. 17
- ApexControllerサンプル
5.使用方法サンプル
Copyright © TerraSky Co., Ltd. All Rights Reserved. 18
- Visualforceサンプル
6.BigObjects考慮事項
Copyright © TerraSky Co., Ltd. All Rights Reserved. 19
– 100オブジェクトまで作成可能
– 作成したオブジェクトの項目削除は不可(Win18時点)
– 範囲検索をする場合はIndexの順番による制限あり
– 標準レポートでは使用不可
– Apexトリガー、フロー、プロセスで使用不可
– データ削除不可
– 使用可能なデータ型が制限されるので、アーカイブで使用する場
合は型変換の考慮が必要
6.BigObjects考慮事項 | まとめ
Copyright © TerraSky Co., Ltd. All Rights Reserved. 20
カスタムオブジェクト Big Objects
サフィックス __c __b
レポート 可能 不可
データ作り方 すべて対応
Apex
API
Async SOQL
タブ 可能 不可
標準画面 あり なし
View あり なし
項目型 すべて対応 制限あり
項目の編集 可能 可能(条件付き)
項目の削除 可能 不可
項目履歴管理 可能 不可
レコードの編集 可能 可能(条件付き)
お値段 ライセンスに依存
デフォルト100万件
追加はSalesforceに相談
Copyright © TerraSky Co., Ltd. All Rights Reserved. 21
Enjoy BigObjects
Life!!

BigObjectsで大量データのチャンピオンになる

  • 1.
  • 2.
    自己紹介 Copyright © 2015TerraSky Co., Ltd. All Rights Reserved. 2  名前 鍬田 利康(Kuwada Toshiyasu)  所属 (株)テラスカイ 金融ソリューション部  略歴 Salesforce歴 5年  興味 API連携・サーバレスアーキテクチャ
  • 3.
    目次 Copyright © 2015TerraSky Co., Ltd. All Rights Reserved. 3 1. 大量データにマツワル課題 2. 大量データの課題に対するアプローチ 3. BigObjectsとは 4. データアーカイブ使用例 5. 使用方法サンプル 6. 考慮事項
  • 4.
    1. 大量データにマツワル課題 Copyright ©TerraSky Co., Ltd. All Rights Reserved. 4 • 費用 – Salesforceのデータストレージは なかなかのお値段 • パフォーマンス – slowレスポンス(レポートやViewなど標準機能にも影響) – query タイムアウト – 更新時のロック • ガバナ制限への抵触 – Trigger内でのノンセレクティブなクエリ(over 20万件) – 同期同時実行数
  • 5.
    2. 大量データの課題に対するアプローチ Copyright ©TerraSky Co., Ltd. All Rights Reserved. 5 No 手段 データ退避場所 参照方法 費用 使いやすさ 1 データストレージ 追加購入 - 従来通り × 〇 2 安価な外部ストレージへの退避 外部DB ・参照用アプリ開発 + Canvas ・Salesforce Connect ・BI(MotionBoard/Domo) △ △ ファイルサーバ (csvファイル) ファイルを開く 〇 × 3 BigObjectsへ退避 Salesforce内 ・Visualforce/Lightning画面開発 ・BI(MotionBoard/Domo) ・AppExchangeアプリ 〇 △ • 費用課題 New!! お金で解決 DWH/AWS RDS/社内DB 今回フォーカス
  • 6.
    2. 大量データの課題に対するアプローチ Copyright ©TerraSky Co., Ltd. All Rights Reserved. 6 – 安価な外部ストレージへの退避 – 閲覧機能を開発する API GateWay Lambda アーカイブ データ格納DB アーカイブデータ 表示画面 例
  • 7.
    2. 大量データの課題に対するアプローチ Copyright ©TerraSky Co., Ltd. All Rights Reserved. 7 • パフォーマンス課題 – インデックス付与 • 標準インデックス • カスタムインデックス – スキーニーテーブル – ディビジョン – クエリオプティマイザによる評価・改善 – データアーカイブ戦略 – 共有設定・ロールの見直し 今回の主題
  • 8.
    2. 大量データの課題に対するアプローチ Copyright ©TerraSky Co., Ltd. All Rights Reserved. 8 • ガバナ制限への抵触 – 制限として受け入れる – コードレビューやテストでリスクを軽減
  • 9.
    3.BigObjectsとは Copyright © TerraSkyCo., Ltd. All Rights Reserved. 9 • 特徴 – デフォルトで100万件のデータを作成可能(追加購入可能) – 使用可能なデータ型 • 日付時間, 参照関係, 数値, テキスト, ロングテキストエリア – 主キーの定義必須 – MetaDataAPIで定義する – 価格:comming soon • 種類 – 標準BigObjects • 項目監査履歴で使用されている – カスタムBigObjects • 独自にオブジェクトが定義可能
  • 10.
    3.BigObjectsとは Copyright © TerraSkyCo., Ltd. All Rights Reserved. 10 • ユースケース – 顧客の行動データの収集 • AIで分析しスコアリング/行動レコメンドなど – 履歴データの退避 • 履歴データをBigObjectsにアーカイブする事で データストレージ費用削減 – 監査と追跡 • コンプライアンス目的でSalesforceユーザのログを保管
  • 11.
    4.データアーカイブ使用例 Copyright © TerraSkyCo., Ltd. All Rights Reserved. 11 • 開発物 – データアーカイブApexバッチ • BigObjectsにデータのアーカイブを実行 • アーカイブしたデータの削除 – アーカイブデータ参照画面 • Visualforce/Lightning • BI(MotionBoard/Domo) 実際にBigObjectsにデータを退避するとしたら どのような開発が発生するか?
  • 12.
    5.使用方法サンプル Copyright © TerraSkyCo., Ltd. All Rights Reserved. 12 - 古いCaseレコードをBigObjectsへ退避 - 取引先の標準参照画面に、BigObjectsの閲覧画面 を表示する
  • 13.
    5.使用方法サンプル Copyright © TerraSkyCo., Ltd. All Rights Reserved. 13 - BigObjectsの作成(オブジェクトの定義を作成しデプロイ) 主キーの定義 ソート方式
  • 14.
    5.使用方法サンプル Copyright © TerraSkyCo., Ltd. All Rights Reserved. 14 • BigObjects デプロイ後のオブジェクト設定画面 GUIから項目の追加不可
  • 15.
    5.使用方法サンプル Copyright © TerraSkyCo., Ltd. All Rights Reserved. 15 画面から項目型の操作不可 Index項目は必須解除出来ない • BigObjects 項目変種画面
  • 16.
    5.使用方法サンプル Copyright © TerraSkyCo., Ltd. All Rights Reserved. 16 Visualforce × BigObjects - 取引先の標準参照画面に開発した BigObjectsの閲覧画面を表示する
  • 17.
    5.使用方法サンプル Copyright © TerraSkyCo., Ltd. All Rights Reserved. 17 - ApexControllerサンプル
  • 18.
    5.使用方法サンプル Copyright © TerraSkyCo., Ltd. All Rights Reserved. 18 - Visualforceサンプル
  • 19.
    6.BigObjects考慮事項 Copyright © TerraSkyCo., Ltd. All Rights Reserved. 19 – 100オブジェクトまで作成可能 – 作成したオブジェクトの項目削除は不可(Win18時点) – 範囲検索をする場合はIndexの順番による制限あり – 標準レポートでは使用不可 – Apexトリガー、フロー、プロセスで使用不可 – データ削除不可 – 使用可能なデータ型が制限されるので、アーカイブで使用する場 合は型変換の考慮が必要
  • 20.
    6.BigObjects考慮事項 | まとめ Copyright© TerraSky Co., Ltd. All Rights Reserved. 20 カスタムオブジェクト Big Objects サフィックス __c __b レポート 可能 不可 データ作り方 すべて対応 Apex API Async SOQL タブ 可能 不可 標準画面 あり なし View あり なし 項目型 すべて対応 制限あり 項目の編集 可能 可能(条件付き) 項目の削除 可能 不可 項目履歴管理 可能 不可 レコードの編集 可能 可能(条件付き) お値段 ライセンスに依存 デフォルト100万件 追加はSalesforceに相談
  • 21.
    Copyright © TerraSkyCo., Ltd. All Rights Reserved. 21 Enjoy BigObjects Life!!