はじめに
対象読者
このドキュメントは、大量のデータを含む Salesforce リリースを操作する、経験豊富なアプリケーションアーキテクトを対象としています。
「大量のデータ」というのは不明確で幅広い意味を持つ言葉です。リリースに数万人のユーザ、数千万件のレコード、あるいは合計で数百ギガバイトものレコードストレージが含まれる場合、そのリリースには「大量のデータ」があります。これらのベストプラクティスは小規模のリリースにも役立ちます。
このドキュメントで Salesforce の実装の詳細について説明している部分を理解するには、https://developer.salesforce.com/page/Multi_Tenant_Architecture を参照してください。
概要
Salesforce を使用して、顧客は少量のデータから大量のデータにまで、アプリケーションを簡単に拡張することができます。この拡張は通常自動的に行われますが、データセットが大きくなるにつれ、特定の処理に必要な時間が増えます。アーキテクトがデータ構造と処理をどのように設計および設定するかによって、処理時間が桁違いに増加または減少することがあります。
- 直接またはインテグレーションを使用したいずれかによる多数のレコードの読み込みまたは更新
- レポート、クエリ、またはビューからのデータの抽出
- スキーマ変更およびデータベース対応アプリケーションでの操作に適応するための業界標準プラクティスに従う
- ビジネスルールおよび共有処理を延期または無視する
- タスクを達成するために最も効率的な処理を選択する
このドキュメントの内容
- 大量のデータを使用するアプリケーションのパフォーマンスを向上するための手法
- あまり明白ではない方法でパフォーマンスに影響を及ぼす Salesforce のメカニズムと実装
- 大量のデータを使用するシステムのパフォーマンスをサポートするために設計された Salesforce のメカニズム
Salesforce Big Object
Salesforce では Big Object と呼ばれるビッグデータテクノロジを提供しています。Big Object は、Salesforce プラットフォーム上で大量のデータを保存して管理します。他のオブジェクトのデータをアーカイブしたり、外部システムの膨大なデータセットを Big Object に取り込んで顧客の全容を把握したりできます。Big Object では、100 万レコード、1 億レコード、10 億レコードでも一貫したパフォーマンスが提供されます。このスケールが Big Object を強力なものにして、その特徴を明確にします。
このドキュメントでは、Big Object ではなく、標準オブジェクトおよびカスタムオブジェクトに保存される大量のデータの最適化に焦点を当てています。さらに大きなデータセットのパフォーマンスの最適化および持続可能な長期保存を実現するには、Bulk API または Apex 一括処理を使用してデータを Big Object に移動します。