みなさんこんにちは。 Dreamforce2016始まりました。
今年は午前中小雨でしたが、来場者数は約17万に上り大いに盛り上がっておりました。
私が参加した数あるセッションの中から今回は「BigObjectsとAsync SOQL」に
ついて現地よりレポートいたします。
昨今SalseforceにはSFAやCRMのデータだけでなく、
様々なデータがカスタマーにより登録され、内部のシステムデータや
外部システムからの連携データ、またその履歴データなどにより
Salesforce上には大量のデータが蓄積されるようになっています。
大量に蓄積されたデータに対応する一つのソリューションとして
「BigObjectsとAsync SOQL」が効果を発揮するかもしれません。
BigObjectsとは
セッションではBigObjectsで扱うデータ件数は10億件を想定されていました。
標準機能としては「項目監査履歴(FieldHistoryArchive)」がBigObjects扱いとなります。
※項目監査履歴を有効化するにはサポートへの連絡が必要みたいです。
また、PilotではありますがカスタムでBigObjectsを
作成することも可能ですが、下図の制限があります。
Async SOQL(Pilot)
Async SOQLはRestAPIを使用し、BigObjectsからデータを抽出し、
sObjectにデータを投入することができます。
実行方法は下記URLに対して、JSON形式でRequestを投げる形となります
https://<<yourInstance>>.salesforce.com/services/data/v38.0/async-queries/
Request
query | BigObjectsからデータを抽出するSOQL |
targetObject | 結果を投入するsObject |
targetFieldMap | queryとtargetObjectの項目をマッピング |
カスタマーはAsync SOQLによって投入されたsObjectの
データを画面、レポート/ダッシュボードで確認することができます
セッションでWorkBenchを使用したDemoをがありましたので載せておきます。
targetObjectの項目をマッピング
Async SOQLには使える日付関数や集計関数に制限があります。
Spring17以降に増えていくみたいなので楽しみにしておきましょう。
【Spring17】
・CALENDAR_MONTH()、CALENDAR_YEAR() の追加
・UpsertによるtargetObjectへのデータ投入
最後に
明日もセッション盛りだくさんなので
新しい発見に期待して、残り3日間Dreamforceを満喫したいと思います。
是非、2日目以降のレポートも楽しみにしておいてください。