💬 In plain words: Salesforce Data 360 processes data through a three-stage pipeline:
- Data Source Object (DSO): The raw landing zone auto-created when a stream connects.
- Data Lake Object (DLO): Stored, structured, and normalized data within the lake.
- Data Model Object (DMO): The canonical, standardized business object used for segmentation, insights, and activation.
DLO → DMO. Configure your relationship cardinality accurately (for example, one customer to many purchases), or your identity resolution rules will break.
⚡ 1-Minute Summary
- The Object Progression: Source Data →
DSO(raw stream representation) →DLO(normalized storage) →DMO(canonical consumption model). - Normalization vs. Denormalization: Normalize early at the DLO layer for data integrity and storage efficiency; denormalize late at the DMO layer for rapid query performance.
- Downstream Rule: Calculated Insights, audience segments, and Agentforce grounding read exclusively from mapped DMOs, never directly from raw DLOs or DSOs.
📌 Real-World Architecture Example:
A point-of-sale (POS) terminal sends a transaction payload: { "txn_id": "TXN-88", "cust_num": "C-1023", "amount": 4500 }.
- Ingest (DSO): Raw stream captures the payload verbatim without modification.
- Store (DLO): Data is typed, cleaned, and stored in the normalized
POS_Transactions_DLOtable. - Harmonize (DMO): The DLO maps to the standard
SalesOrderDMO, joined via foreign key to theIndividualDMO with a1:N(one-to-many) relationship.
The Three-Stage Data Progression: DSO → DLO → DMO
Salesforce Data 360 relies on a deliberate object lifecycle to separate raw ingestion from analytical consumption:
- 1. Data Source Object (DSO): Automatically generated when setting up a Data Stream. It acts as the raw schema contract representing incoming records from external sources.
- 2. Data Lake Object (DLO): Physical tables in the underlying lake storage. Ingested records flow from the DSO into the DLO, where data types are enforced and storage is organized into a normalized structure.
- 3. Data Model Object (DMO): The unified, canonical layer built upon the standard Cloud Information Model (CIM). Administrators map fields from DLOs into DMOs during the Harmonization phase.
- Golden Rule of Mapping: Field mapping is unidirectional—always from
DLO → DMO. Downstream tools like Segment Canvas, Calculated Insights, and activation targets consume only DMOs.
DATA OBJECT PROGRESSION PIPELINE
Source Payload ──► DSO (Raw stream contract created at ingestion)
└──► DLO (Normalized lake object for storage integrity)
└──► [Harmonization Mapping]
└──► DMO (Canonical business model for queries)
ARCHITECTURAL PRINCIPLE:
- Normalize at DLO ──► Eliminates duplicate records, ensures storage integrity
- Denormalize at DMO ─► Flattens attributes, maximizes real-time read speed
Normalization vs. Denormalization & Key Relationships
Enterprise data modeling balances data integrity against query performance by leveraging two complementary structural models:
- Normalized Layer (DLO): Divides data across discrete, specialized relational tables. This eliminates storage redundancy, safeguards transactional integrity, and scales write workloads efficiently.
- Denormalized Layer (DMO): Consolidates related fields and attributes into broader, unified tables. This minimizes expensive relational joins during real-time audience queries and calculated metrics.
- Primary Keys (PK): Uniquely identify individual rows within a DLO or DMO. If an external system lacks a natural primary key, Data 360 can generate one using composite field formulas (e.g.,
SourceSystem + "_" + CustomerId + "_" + Email) or auto-generated keys during stream setup. - Foreign Keys (FK) & Cardinality: Child tables reference parent primary keys. You must establish explicit relationship cardinalities (
1:1,1:N, orN:N) to enable the identity engine and query graph to traverse related tables accurately. - Standard vs. Custom DMOs: Always map to standard Salesforce DMOs (such as
Individual,ContactPointEmail,ContactPointPhone, orAccount) first. Extend standard DMOs with custom fields when necessary, reserving custom DMOs for distinct business domain entities.
🧠 Object Pipeline Mnemonic: 'DSO → DLO → DMO'. DSO receives the raw feed, DLO provides normalized storage, and DMO provides the query-ready canonical model. Always map low (DLO) to high (DMO).
⚠️ Cardinality Trap: If you misconfigure relationship cardinality—such as defining an Order-to-Customer relationship as
1:1 instead of 1:N—Identity Resolution will overwrite existing transaction data and corrupt audience segmentation queries.
🧭 360 Card: DSO, DLO, & DMO Architecture
- Core Rule: Raw data streams create DSOs, persist into DLOs, and map up to standard DMOs. Downstream segmentation reads only DMOs.
- Key Architectural Gain: A predictable data pipeline ensures that troubleshooting missing fields always follows the same three verification checkpoints: DSO stream status, DLO persistence, and DMO field mapping.
- Schema Complexity: Ingestion requires defining data types and primary key structures across three layers before data is actionable.
- Field Consistency: Field data types must match precisely between the DLO source field and the target DMO destination attribute (e.g., Text to Text, Number to Number).
- Direct Source Anti-Pattern: Bypassing the canonical model to point analytics directly at source schemas creates tight coupling and requires rebuilding downstream queries for every new ingestion channel.
Technical Deep Dive: Questions & Architecture Scenarios
Q: Walk through what happens to data structurally from the moment a data stream lands until a segment can query it.
🎯 Core Rule: Incoming data lands in a DSO, persists into a normalized DLO, and is mapped to a canonical DMO. Audience segments query only DMOs.
Step-by-Step Architectural Flow:
- 1. Ingestion via DSO: Creating a Data Stream instantiates a Data Source Object (DSO) that mirrors the schema of the source connection.
- 2. Storage in DLO: Records transition from the DSO into physical Data Lake Objects (DLOs), structuring data for normalized lake storage.
- 3. Harmonization via DMO Mapping: Administrators map DLO fields into canonical Data Model Objects (DMOs) like
IndividualorSalesOrder, establishing primary and foreign key relationships. - 4. Downstream Activation: Audience Segment builders, Calculated Insights, and Agentforce actions execute their query plans against the denormalized DMO layer.
Scenario 1: A legacy source feed contains no unique primary key. How does Data 360 resolve keys and establish relationships?
Solution Architecture:
- Formula Key Construction: Use ingestion transform formulas to concatenate stable source fields (such as
SourceSystem + "_" + AccountId + "_" + Email) into a deterministic unique identifier. - Auto-Generated Keys: Enable Data 360's built-in key generation during stream setup to produce unique surrogate IDs automatically.
- Foreign Key Binding: Map the generated surrogate key as the primary key on the parent DMO and reference it from related child DMO foreign key fields.
- Data Integrity Impact: Correctly defined composite keys prevent profile splitting and eliminate accidental record overwrites during identity resolution.
Scenario 2: Why are DLOs designed to be normalized while DMOs are typically denormalized?
Architectural Rationale:
- DLO Normalization for Write Performance: DLOs handle high-volume write operations across streaming and batch ingestion. Normalizing tables eliminates data redundancy, guarantees transactional consistency, and reduces storage overhead.
- DMO Denormalization for Query Performance: DMOs serve real-time analytical workloads, audience queries, and conversational AI lookups. Denormalizing attributes into broader objects minimizes complex multi-table SQL joins, delivering sub-second response times.