Big objects: indexes, queries and limitations
When a big object beats a standard or custom object, how to design its immutable index, which SOQL patterns work, what big objects lack (sharing, automation, encryption, REST, standard UI) and the supported workarounds for writing, loading and displaying their data.
Compare and contrast the different reasons for implementing big objects versus standard/custom objects within a production instance, alongside the unique pros and cons of utilizing big objects in a Salesforce data model.
~7 min read · 16 practice questions ·
What the exam expects
- Recommend a big object or a standard/custom object from volume, access pattern, sharing and automation requirements.
- Design a custom big object index: required fields, the 100-character text budget, excluded field types, and the fact that it can't change after deployment.
- Write or fix big object SOQL: leading index fields, no gaps, one IN, a range only on the last field, no aggregates, no Id.
- Name what big objects don't support (sharing rules, triggers and flows, encryption, REST API, standard UI, cross-org Salesforce Connect) and the supported workaround for each.
- Load and write big object data safely: Bulk API 2.0, idempotent inserts, whole-batch retries and asynchronous Apex.
Key terms: big object (storage on a horizontally scalable, non-transactional database); standard big object (defined by Salesforce, such as FieldHistoryArchive); custom big object (__b suffix, defined by you); index (the composite primary key that every query must follow); idempotent write (an identical insert creates only one record).
Key facts
- Detail
- EE, PE, UE and Developer "for up to 1 million records"
- Detail
- Up to 100
- Detail
- SOQL, Bulk, Chatter, SOAP; REST not supported
- Detail
- Object and field permissions only
- Detail
- Can't be edited or deleted
- Detail
- 100 characters; Email 80, Phone 40
- Detail
- LongTextArea and URL fields
- Detail
- Only on the last field in the query
- Detail
- Not valid in any big object query
- Detail
- Retry the entire batch
- Why must a trigger that writes to a big object hand the insert to asynchronous Apex?
- When does adding a filter on a middle index field make a big object query valid?
- Which requirement immediately rules out a big object whatever the row count?
- Why does a big object query that selects Id return rows with ID 000000000000000?
The questions are free to read. Answers with their sources and self-grading are included with the pack.
Keep reading with the Platform Data Architect pack
- Core concepts
- Exam traps
- Worked scenario
The pack includes:
- All 21 lessons of the Platform Data Architect guide, with reading progress
- Interactive decision walks and step-by-step sequence steppers
- Inline practice questions and one-click topic practice (16 questions for this lesson)
- An official source cited for every claim
- An AI tutor that answers from the guide
- Unlimited timed practice exams