---
schema_version: "1"
id: 4a0891322eaf4c9dd355ad26436d0d426643af97706aed1e49a2508da73cf6d0
title: Data 360 Interoperability
collection: architect
version: next
locale: en-us
portal_url: https://docs.salesforce.com/architect/next/en-us/decision-guides/guides/data-360-interoperability.md
canonical_url: https://staging.architect.salesforce.com/docs/architect/decision-guides/guide/data-360-interoperability.html
source_site: staging.architect.salesforce.com
content_type: documentation
content_hash: 7da154e36099b48b53e8667ee639f1973b064b4b2abbfc62d8039dcf1fb11d25
products:
  - Decision Guides
  - Architect Site Content Repo
updated_at: 2026-07-01T00:00:00Z
---
# Data 360 Interoperability

Enterprises often store data in Salesforce and other external data lakes (for example, _Snowflake_, _Google BigQuery_, _Databricks_, _Redshift_, or object storage like _Amazon S3_). Siloing data across multiple systems creates a challenge for companies that want to harness the full value of their data to power AI-driven experiences. Salesforce _Data 360_ is the foundational intelligence layer that every Agentforce AI Agent uses to access the correct context at the correct moment.

Architects who work to bring data together across multiple data lakes face key architectural decisions regarding how best to integrate that data. _Data 360_ provides multiple options for data integration, each offering various pros and cons.

## Guide Overview

This guide provides a framework to evaluate which pattern best fits your requirements for latency, cost, scalability, governance, and complexity when integrating data, helping you choose when to use data ingestion, Zero Copy data federation, or a hybrid approach. The guide will also help you select between different methods of data ingestion and data federation, each of which fills a different need.

Integrating external data-lake houses with _Data 360_ requires carefully considering the trade-offs between data freshness, governance, and pipeline efficiency. For example, using Zero Copy data federation live queries maximizes the freshness of the data but may reduce pipeline efficiency as more data moves over the network. For most real-world implementations, combining ingestion and federation in a multi-cloud lake house ecosystem is the optimal path. This hybrid approach ensures a scalable, governed, interoperable architecture that supports low-latency operational workloads (for example, real-time personalization and fraud detection) and analytical workloads (for example, regulatory reporting and historical trend analysis). This guide helps you determine how to navigate these trade-offs using an appropriate strategy.

## Key Takeaways

- **Data Ingestion** copies data into Salesforce _Data 360_ and creates governed, canonical Data Models. This is ideal for when you need to\:
  - **Build a comprehensive Customer 360\.** This allows you to unify and transform disparate sources into a single, trusted profile.
  - **Meet strict regulatory compliance.** This allows you to create an auditable, centralized copy so that data access and lineage can be closely controlled.
- **Zero Copy Federation** queries external sources in real time without duplication, enabling real-time personalization, live dashboards, and rapid source onboarding. This approach provides two primary options, but there are trade-offs that need to be balanced\:
  - **Live Query\:** Use this for interactive analysis and real-time data dashboards that live in external data platforms (for example, _Snowflake_, _BigQuery_, _Redshift_, or _Databricks_). This helps to avoid slow, costly data duplication by pushing query processing to the source system and returning only necessary results. This approach is optimized for infrequent or ad-hoc queries where freshness is critical. It's suitable for low _query-per-second (QPS)_ workloads (query costs may spike significantly at high QPS).
  - **Caching (Accelerated Query)\:** Use this for frequent data queries that don't change often. Accelerated queries maintain a local cache that's updated at configurable intervals (15 minutes to 7 days), which reduces repeated source hits. This approach balances dashboard performance and cost, segmentation, and BI workloads where slightly stale results are acceptable. This isn't suitable for sub-second decision making.
  - **File Federation\:** Use this for large-scale batch processing and AI model training for data in your cloud's data lake (for example, _S3_ or _ADLS_). This approach avoids slow, costly ingestion by directly querying files in open table formats, which unlocks massive ETL datasets and data science workloads.
- **Hybrid Models** blend ingestion for _Unified Profiles_ with federation for freshness, which supports omni-channel engagement, Agentforce-driven actions, and AI/ML training.

### Important Considerations

- **Employ a Hybrid Architecture.** Mixing data ingestion and federation is often necessary.
  - Use _Data Ingest_ on critical data for canonical data models and core governance.
  - Use _Zero Copy_ for all other data federation to maintain freshness and minimize the operational overhead of building and maintaining data ingestion pipelines.
- **Data Ingestion Frequency Matters.** Choose the frequency based on business value, latency needs, and operational complexity.
  - Use _real-time_ for time-sensitive workflows (for example, personalization, live dashboards, and Agentforce actions).
  - Use _Near real-time_ for moderately urgent processes (for example, campaigns and operational reports).
  - Use batching for historical or low-velocity datasets.
- **Match Federation Patterns to Latency and Performance.** Choose the option that best matches your access patterns and requirements for freshness, performance, and cost.
  - Use _Live Query_ for operational dashboards and real-time personalization where low latency is critical.
  - Use _Caching (Accelerated Query)_ when queries are frequent and slightly-stale results are acceptable, which helps balance performance and cost.
  - Use _File Federation_ for large-scale, throughput-heavy analytics or batch workloads, which are ideal for historical or less time-sensitive datasets.
- **Align Governance with Data Residency Requirements.**
  - Use _ingestion_ when centralized governance is critical.
  - Use _federation_ when decentralized governance is acceptable, while also enforcing strict governance at the external source.
  - Use _Zero Copy_ with respect to source-level policies (for example, _row-level security (RLS)_ and data masking).
- **Prioritize Ingestion for High-Value Workflows.** Apply ingestion selectively to critical processes (for example, identity resolution, regulatory reporting, and operational activation).
- **Cost and Complexity Drive Decisions.** Real-time ingestion can be expensive and complex. That's why it's important for architects to weigh the cost of onboarding, storing, and transforming data against the cost of querying it directly via _Zero Copy_.

Choosing the correct integration pattern—_Data Ingestion_, _Zero Copy_, or a _Hybrid_ approach—directly impacts latency, governance, operational efficiency, and cost across multi-cloud platforms. This decision shapes how real-time insights, AI-driven activation, and personalized engagement are delivered reliably and at scale.

## Product Comparison

This table compares the _Data Ingestion_ and _Zero Copy_ patterns in Salesforce _Data 360_, focusing on capabilities, trade-offs, and benefits, as well as enterprise use cases and outcomes. Use this as a reference for designing hybrid, multi-cloud data platforms that balance performance, cost, and compliance.

<table>
  <thead>
    <tr>
      <th align="left" valign="top"><strong>Pattern Type</strong></th>
      <th align="left" valign="top"><strong>Mode/Tool</strong></th>
      <th align="left" valign="top"><strong>Benefits</strong></th>
      <th align="left" valign="top"><strong>Considerations</strong></th>
      <th align="left" valign="top"><strong>Outcomes</strong></th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td align="left" valign="top"><strong>Data Ingestion</strong></td>
      <td align="left" valign="top">
        <strong>Real-Time:</strong>
        <ul>
          <li>Sub-second latency ingestion via Ingestion APIs with CDC support.</li>
          <li>Continuous streaming pipelines.</li>
        </ul>
      </td>
      <td align="left" valign="top">
        <ul>
          <li>Provides immediate insights</li>
          <li>Embraces low-latency operational and personalization use cases</li>
          <li>Supports event-driven workflows</li>
        </ul>
      </td>
      <td align="left" valign="top">
        <ul>
          <li>High cost</li>
          <li>Complex architecture</li>
          <li>Low-latency source system requirements</li>
          <li>High-volume sources may cause excessive streaming, which leads to saturated pipelines</li>
          <li>I/O intensive</li>
          <li>Selective fields and filtering may help reduce overhead</li>
        </ul>
      </td>
      <td align="left" valign="top">
        <strong>Agentforce:</strong>
        <ul>
          <li>Real-time fraud alerts, retail personalization, and operational alerts</li>
        </ul>
        <strong>Analytics:</strong>
        <ul>
          <li>Sub-second dashboards and KPI monitoring</li>
        </ul>
        <strong>Compliance:</strong>
        <ul>
          <li>Continuous customer record updates for regulated workflows</li>
        </ul>
      </td>
    </tr>
    <tr>
      <td align="left" valign="top"></td>
      <td align="left" valign="top">
        <strong>Streaming:</strong>
        <ul>
          <li>Micro-batch ingestion every 1–3 minutes via native connectors</li>
        </ul>
      </td>
      <td align="left" valign="top">
        <ul>
          <li>Balances cost vs freshness</li>
          <li>Features a simpler architecture than real-time</li>
          <li>Supports incremental updates</li>
        </ul>
      </td>
      <td align="left" valign="top">
        <ul>
          <li>Slight latency</li>
          <li>May not be suitable for critical sub-second decisions</li>
          <li>Batch size impacts memory/compute</li>
          <li>Moderate I/O</li>
          <li>Suitable for predictable, repetitive update patterns</li>
          <li>Windowed aggregation may help reduce processing load</li>
        </ul>
      </td>
      <td align="left" valign="top">
        <strong>Agentforce:</strong>
        <ul>
          <li>Timely campaign triggers and near-live engagement</li>
        </ul>
        <strong>Analytics:</strong>
        <ul>
          <li>Recommendation engines and near-live dashboards</li>
        </ul>
        <strong>Compliance:</strong>
        <ul>
          <li>Frequent updates with auditability</li>
        </ul>
      </td>
    </tr>
    <tr>
      <td align="left" valign="top"></td>
      <td align="left" valign="top">
        <strong>Batch:</strong>
        <ul>
          <li>Provides scheduled large-volume loads via connectors or APIs.</li>
          <li>Supports object storage and ETL/ELT pipelines.</li>
        </ul>
      </td>
      <td align="left" valign="top">
        <ul>
          <li>Supports cost-efficiency for massive datasets</li>
          <li>Features easy implementation</li>
          <li>Provides reliability for historical analytics</li>
        </ul>
      </td>
      <td align="left" valign="top">
        <ul>
          <li>Data latency</li>
          <li>Unsuitable for time-sensitive operations</li>
          <li>I/O intensive during load windows</li>
          <li>Network throughput may become a bottleneck for large files</li>
          <li>Suitable for historical aggregation or regulated reporting workflows</li>
        </ul>
      </td>
      <td align="left" valign="top">
        <strong>Agentforce:</strong>
        <ul>
          <li>IT support tickets (Jira/ServiceNow) and aggregated workflows</li>
        </ul>
        <strong>Analytics:</strong>
        <ul>
          <li>Historical analysis and trend evaluation</li>
        </ul>
        <strong>Compliance:</strong>
        <ul>
          <li>Regulatory reporting and patient/claims data aggregation</li>
        </ul>
      </td>
    </tr>
    <tr>
      <td align="left" valign="top"><strong>Zero Copy</strong></td>
      <td align="left" valign="top">
        <strong>Live Query:</strong>
        <ul>
          <li>Provides direct queries on external systems and schema-on-read without data duplication</li>
        </ul>
      </td>
      <td align="left" valign="top">
        <ul>
          <li>Provides maximum freshness</li>
          <li>Features minimal storage overhead</li>
          <li>Supports real-time operational insights</li>
        </ul>
      </td>
      <td align="left" valign="top">
        <ul>
          <li>Dependent upon source performance</li>
          <li>High query volume may affect latency</li>
          <li>Suitable for queries with predicate pushdown and aggregation to minimize I/O</li>
          <li>Avoid using unfiltered queries on massive datasets</li>
        </ul>
      </td>
      <td align="left" valign="top">
        <strong>Agentforce:</strong>
        <ul>
          <li>Dynamic workflows that adapt to live activity</li>
        </ul>
        <strong>Analytics:</strong>
        <ul>
          <li>Operational dashboards and live reporting</li>
        </ul>
        <strong>Compliance:</strong>
        <ul>
          <li>Respects row-level security and masking at the source</li>
        </ul>
      </td>
    </tr>
    <tr>
      <td align="left" valign="top"></td>
      <td align="left" valign="top">
        <strong>Accelerated Query (Caching):</strong>
        <ul>
          <li>Provides cached local copies for federated queries that are configurable from 15 min to 7 days.</li>
          <li>Provides optimized query execution</li>
        </ul>
      </td>
      <td align="left" valign="top">
        <ul>
          <li>Reduces latency</li>
          <li>Features lower costs than repetitive live queries</li>
          <li>Improves performance for frequent access patterns</li>
        </ul>
      </td>
      <td align="left" valign="top">
        <ul>
          <li>Cache management required</li>
          <li>Staleness depends on cache intervals</li>
          <li>Suitable for high-frequency queries</li>
          <li>Not suitable for sub-second decisioning</li>
          <li>Incremental refresh supports upserts only; deleted records aren't removed from the cache.</li>
          <li>Periodically requires a manual full refresh to keep the cache in sync with the source</li>
        </ul>
      </td>
      <td align="left" valign="top">
        <strong>Agentforce:</strong>
        <ul>
          <li>Pre-aggregated engagement metrics for fast decisioning</li>
        </ul>
        <strong>Analytics:</strong>
        <ul>
          <li>BI dashboards, segmentation, and analytical reporting</li>
        </ul>
        <strong>Compliance:</strong>
        <ul>
          <li>Consistently regulated dashboards with audit logs</li>
        </ul>
      </td>
    </tr>
    <tr>
      <td align="left" valign="top"></td>
      <td align="left" valign="top">
        <strong>File Federation:</strong>
        <ul>
          <li>Provides direct access to large, historical datasets in object stores or lakes (for example, <em>S3</em>, <em>Iceberg</em>, <em>Google BigQuery</em>, and <em>Redshift</em>).</li>
        </ul>
      </td>
      <td align="left" valign="top">
        <ul>
          <li>Processes massive-scale datasets</li>
          <li>Requires minimal storage in <em>Data 360</em></li>
          <li>Supports AI/ML workloads</li>
        </ul>
      </td>
      <td align="left" valign="top">
        <ul>
          <li>Read-only</li>
          <li>Query performance depends on external system throughput</li>
          <li>Suitable for batch-heavy, throughput-intensive jobs</li>
          <li>Not suitable for real-time dashboards</li>
        </ul>
      </td>
      <td align="left" valign="top">
        <strong>Agentforce:</strong>
        <ul>
          <li>Not typical (batch-heavy)</li>
        </ul>
        <strong>Analytics:</strong>
        <ul>
          <li>ML/AI training, historical analytics, and petabyte-scale reporting</li>
        </ul>
        <strong>Compliance:</strong>
        <ul>
          <li>Governs access to external datasets without duplication</li>
        </ul>
      </td>
    </tr>
  </tbody>
</table>

## Data 360 Integration Patterns

There are three primary integration patterns for Data 360 - data ingestion, zero copy data federation, and a hybrid approach.

### Data Ingestion

With _Data Ingestion_, data is physically copied into _Data 360_ and fully governed, unlike _Zero Copy_ where data remains at the source. In other words, the computing for transformations occurs within _Data 360_, which provides centralized governance and auditing.

#### Data Ingestion Use Cases

Use _Data Ingestion_ to store canonical, governed datasets in Salesforce _Data 360_ for compliance and operational control. Use ingestion when full control, auditing, and traceability are required. Data Ingestion is ideal for regulated or high-value workflows where centralized compute and governance are critical.

Ingestion is suitable for building a trusted foundation for identity resolution, regulatory reporting, and mission-critical AI-driven workflows and customer engagement.

<img src="https://a.sfdcstatic.com/developer-website/prod/images/architect/df25_dc_images/Data Ingestion and Zero Copy - Data 360  Ingestion.png" alt="Data Ingestion Overview" />

#### Data Ingestion Methods

_Data Ingestion_ methods may vary, depending upon which connector you use to ingest your data. Some connectors offer a variety of ingestion methods, while others operate only in batch or streaming mode. For a complete list of _Data 360_ connectors and available methods, check out [Data 360\: Integrations and Connectors](https://help.salesforce.com/s/articleView?id=data.c360_a_sources_targets.htm&type=5).

- **Real-Time\:**
  - Provides sub-second ingestion using _Change Data Capture (CDC)_
  - Suitable for time-sensitive workflows (for example, fraud detection, personalization, and operational dashboards)
  - Features push transformations and aggregations within _Data 360_, which helps to reduce downstream I/O and optimize compute usage
  - Supports using incremental CDC to minimize data shuffling
- **Streaming\:**
  - Provides ingestion every 1–3 minutes in small increments
  - Balances freshness and cost
  - Suitable for campaign orchestration, near-live engagement, and operational reporting
  - Supports using micro-batches to control I/O spikes
  - Aggregates data at the source (if possible) to reduce transfer volumes and optimize storage
- **Batch (Scheduled Loads)\:**
  - Provides periodic ingestion of large datasets (for example, hourly, daily, and weekly)
  - Provides cost-efficiency and reliability for historical datasets, regulatory reporting, and compliance use cases
  - Ensures that compute locality is in the same region as the source storage to enhance performance and optimize costs

#### Architect Playbook

- **Data Ingestion Use Cases\:**
  - **Generate Customer 360 Unified Profiles.** Build a single source of truth for customer identities and attributes.
  - **Maintain regulatory compliance datasets.** Enforce governance, lineage, and auditability for sensitive data.
  - **Centralize campaign orchestration.** Ensure that marketing, sales, and service all operate from consistent, trusted datasets.
- **Design Practices\:**
  - Accommodate batch ingestion for historical or low-latency-tolerant needs (for example, archival reporting or periodic snapshots).
  - Use CDC or streaming APIs to maintain freshness for operational and personalization workflows to ensure near real-time updates.
  - Control storage and compute growth by applying incremental loads to optimize cost and efficiency (rather than reloading entire datasets).
  - Align ingestion pipelines with compute locality and incremental processing to reduce network I/O.
  - Apply transformations inside _Data 360_ to avoid moving raw data unnecessarily.
- **Cost Considerations\:**
  - **Real-Time Ingestion** has the highest compute and pipeline costs, which may be justified for high-value, time-sensitive workflows (for example, personalization, operational dashboards, or Agentforce-driven actions).
  - **Streaming Ingestion** has moderate compute and storage costs, which may be suitable for frequent updates that can tolerate slight delays (for example, campaign orchestration or operational reporting).
  - **Batch Ingestion** has lower compute costs and predictable storage, which is suitable for historical datasets or low-frequency updates. Ingesting batch data from Salesforce orgs using certain connectors is free.
  - **Refresh Mode** Allows you to select _Incremental Refresh_ mode, which reduces total ingestion and compute costs. At Salesforce, we recommend using _incremental refresh_ wherever possible to optimize efficiency across all ingestion types.
  - **Cost** is also impacted by I/O volume from the source to _Data 360_. Optimizing batch sizes, partitions, and regional alignment reduces transfer costs and improves performance.
- **Industry Scenarios\:**
  - **Finance\:** Ingestion datasets are required for _knowing your customer (KYC)_, _Anti Money Laundering (AML)_, and fraud detection where auditability and compliance are non-negotiable.
  - **Healthcare\:** Use ingestion for patient identity resolution and HIPAA-compliant records, which enables secure, unified views.
  - **Retail\:** Consolidate _point of sale (POS)_, eCommerce, and loyalty program data into unified profiles for segmentation and personalization.
  - **Telecom\:** Support churn prevention and usage analytics with canonical, governed subscriber data.

#### Data Ingestion Method Decision Criteria

| Feature                              | Real-Time Ingestion                                                                                                                                                                         | Streaming Ingestion                                                                                                                                           | Batch Ingestion                                                                                                                                                                            |
| :----------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | :------------------------------------------------------------------------------------------------------------------------------------------------------------ | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Latency and Freshness**            | Features sub-second latency ingestion via Ingestion APIs with _Change Data Capture (CDC)_ support. Provides continuous streaming pipelines. Suitable for low-latency operational use cases. | Features micro-batch ingestion every 1–3 minutes via native connectors. Supports incremental updates. Slight latency is expected.                             | Data latency is expected. Allows scheduled large-volume loads. Features periodic ingestion (hourly, daily, and weekly). Not suitable for time-sensitive operations.                        |
| **Primary Use Cases**                | Ideal for low-latency operational and personalization use cases. Use for time-sensitive workflows. Supports event-driven workflows. Use for real-time fraud alerts and operational alerts.  | Suitable for moderately urgent processes. Use for campaign orchestration, near-live engagement, and operational reporting. Use for timely campaign triggers.  | Cost-efficient for massive datasets. Reliable for historical analytics. Use for historical aggregation or regulated reporting workflows. Suitable for historical or low-velocity datasets. |
| **Architectural Complexity and I/O** | Includes high cost and complex architecture. Requires low-latency source systems. I/O intensive. High-volume sources can cause saturated pipelines.                                         | Features simpler architecture than real-time. I/O is moderate. Suitable for predictable, repeated update patterns. Batch size impacts memory and computation. | Easy to implement. I/O intensive during load windows. Network throughput may become a bottleneck for large batches.                                                                        |
| **Cost Considerations**              | Includes the highest compute and pipeline costs. Justifiable for high-value, time-sensitive workflows only.                                                                                 | Includes moderate compute and storage costs. Provides a balanced cost vs freshness approach. Suitable for frequent updates that can tolerate slight delays.   | Features lower compute costs and predictable storage. Recommended for historical datasets or low-frequency updates. Ingestion via Salesforce internal pipelines is free.                   |
| **Design Practices**                 | Use incremental CDC to minimize data shuffling. Filter and use selective fields to reduce overhead.                                                                                         | Use micro-batches to control I/O spikes. Consider windowed aggregation to reduce processing load.                                                             | Use for archival reporting or periodic snapshots. Ensure that compute locality is in the same region as source storage for cost optimization.                                              |

### Zero Copy Data Federation

#### Zero Copy Use Cases

Use _Zero Copy_ for real-time querying of external systems without data duplication to enable agility, freshness, and scalable access to large or transient datasets. It's suitable for live dashboards, exploratory analytics, AI/ML model training, and real-time customer engagement directly through Salesforce _Data 360_.

<img src="https://a.sfdcstatic.com/developer-website/prod/images/architect/df25_dc_images/Data Ingestion and Zero Copy - Data 360 Zero Copy.png" alt="Zero Copy Data Federation Overview" />

#### Zero Copy Methods

When using _Zero Copy_, architects must choose between three available data federation methods, each of which offers its own tradeoffs between freshness, performance, and cost.

- **Live Query**
  - Runs queries directly against external systems (for example, _Snowflake_, _Google BigQuery_, _Redshift_, _Databricks_, and so on) with no data duplication.
  - Minimizes data movement over the network and reduces I/O on the Salesforce _Data 360_ computation, which is optimal when predicates and aggregations can be pushed down.
  - Suitable for real-time insights and low-latency operational dashboards.
  - Dependent upon external system performance.
- **Caching (Accelerated Query)**
  - Temporarily stores cached copies of federated data in Salesforce _Data 360_.
  - Reduces repeated query costs and latency for frequently accessed datasets with configurable duration (minutes to days).
  - Data isn't permanently copied or fully governed, so freshness is managed via scheduled refreshes from the source.
  - _Incremental refresh_ supports upserts only. Deleted records aren't removed from the cache.
  - Perform a full refresh periodically to ensure that the cache remains in sync with the source.
  - **Note\:** The _Snowflake_ connector supports the _Unload_ function, which enhances acceleration rates by using a Snowflake-initiated staging bucket. This is enabled by default, but it can be disabled by editing the connection.
- **File Federation**
  - Provides direct, read-only access to large-scale datasets in object stores (for example, _S3_ and _GCS_ with _Iceberg_).
  - Suitable for AI/ML workloads, historical analytics, and petabyte-scale reporting without moving data.
  - Query performance depends heavily on object format, partitioning, and network I/O. Large scans may generate substantial I/O if they aren't optimized.

#### Architect Playbook

- **Use Cases**
  - **Real-time personalization and adaptive workflows** deliver dynamic offers, recommendations, and next-best actions as customer behaviors change.
  - **Live dashboards and operational analytics** power business-critical dashboards and KPIs directly from external warehouses.
  - **AI/ML model training with large external datasets** leverage petabyte-scale data from data lakes and warehouses without moving it via file federation.
- **Industry Scenarios**
  - **Retail/Media\:** Enable personalized recommendations and real-time customer engagement by federating clickstream or content interaction data.
  - **Finance\:** Run fraud detection and risk scoring in near-real time by querying external warehouses without duplicating sensitive data.
  - **Tech/Enterprise\:** Support cross-cloud reporting, IT service dashboards, and operational analytics when datasets reside in multiple systems.
- **Design Practices**
  - **Live Query**
    - Use for high-QPS, low-latency queries when freshness is critical.
    - Push predicates and aggregations to the external system to reduce data shuffling over the network.
    - Avoid queries that unnecessarily scan massive data volumes.
    - Consider partition pruning and filters instead.
  - **File Federation**
    - Access petabyte-scale datasets in object stores without ingestion.
    - Minimize latency and egress costs by keeping object storage in the same Cloud region as Salesforce computation.
    - Use partitioned, columnar formats (Parquet/ORC) and pushdown filters to reduce I/O and network transfer.
    - Leverage query and predicate pushdown to filter and aggregate data at the source, which reduces data movement.
    - Avoid cross-region data access—unless it's absolutely necessary—because it increases I/O, latency, and costs.
  - **Caching (Accelerated Query)**
    - Cache frequently accessed datasets to balance cost and performance.
    - Configure refresh intervals to balance freshness vs. query cost.
  - **Compliance\:** Enforce governance at the source by leveraging _row-level security (RLS)_ and masking policies directly within federated systems.
    - Here are a few best practices for uniform RLS and masking across platforms\:
      - **Use a Centralized Enterprise ID.** Map users and entities in Salesforce _Data 360_ to a unique, centralized enterprise identifier that corresponds to identities in external systems.
      - **Align Security Policies.** Ensure that RLS and masking policies in federated systems are applied based on the mapped identity. This preserves compliance when querying external data.
      - **Standardize Identity Schemas.** Maintain consistent identity attributes (email, user ID, customer ID, and so on) across all data sources to avoid mismatches and access violations.
- **Cost Considerations**
  - **Live Query\:** In the pay-per-query model, costs accrue on external lake house computation, which may cause spikes with high QPS. This is suitable for freshness-critical use cases where the value is greater than the cost variability.
  - **Accelerated Query (Caching)\:** This method lowers query cost (as compared to _Live Query)_ by reducing hits to the source system; however, it adds to batch data ingestion costs for filling and refreshing the cache. This is suitable for frequently-accessed datasets.
  - **File Federation\:** This is the cheapest storage option as data in Object Store; however, query costs depend on the file size, partitioning, and pruning. This is suitable for historical or bulk data at petabyte scale.

#### Zero Copy Method Decision Criteria

| Decision Point           | Live Query                                                                                                                                                                                                                    | Caching (Accelerated Query)                                                                                                                                | File Federation                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
| :----------------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Data Source Location** | External data lake houses (for example, _Snowflake_, _Google BigQuery_, _Redshift_, and _Databricks_)                                                                                                                         | External data lake houses (for example, _Snowflake_, _Google BigQuery_, _Redshift_, and _Databricks_)                                                      | Object Stores or Cloud data lakes (for example, _S3_, _ADLS_, and _GCS_), which often use open-table formats like _Iceberg_.                                                                                                                                                                                                                                                                                                                                                     |
| **Purpose/Use Case**     | Suitable for interactive analysis and real-time dashboards. Suitable for real-time personalization and dynamic workflows.                                                                                                     | Suitable for when queries are frequent, but slightly stale results are acceptable. Suitable for BI dashboards and segmentation.                            | Suitable for large-scale batch processing and AI/ML model training. Suitable for historical analytics and petabyte-scale reporting.                                                                                                                                                                                                                                                                                                                                              |
| **Freshness/Latency**    | Provides maximum freshness Runs queries directly in real time. Supports sub-second decisioning when the source system is optimized for low-latency queries with effective predicate pushdown.                                 | Use when slightly stale results are acceptable. Freshness depends on the cache interval, which is configurable from 15 minutes to 7 days.                  | Suitable for batch-heavy, throughput-intensive jobs. Not suitable for real-time dashboarding.                                                                                                                                                                                                                                                                                                                                                                                    |
| **Access Pattern**       | Suitable for infrequent or ad-hoc queries where freshness is critical and query volume is low. Costs spike significantly at high QPS, so it's important to evaluate caching (Accelerated Query) when query frequency is high. | Suitable for high-frequency read scenarios. Improves performance for frequent access patterns.                                                             | Provides r*ead-only* access. Suitable for petabyte-scale datasets without ingestion.                                                                                                                                                                                                                                                                                                                                                                                             |
| **Performance Drivers**  | Highly dependent upon external source system performance. Suitable for when predicates and aggregations can be pushed down to the source.                                                                                     | Reduces latency when compared to repeated live queries. Performance depends on cache management and intervals.                                             | Performance depends heavily on object format, partitioning, and external system throughput. Use partitioned, columnar formats (Parquet/ORC).                                                                                                                                                                                                                                                                                                                                     |
| **Cost Implications**    | This is a pay-per-query model, so costs accrue on external lake house computations. It's cost-effective for infrequent queries, but expenses may spike with high QPS volume.                                                  | The cost is lower than repeated live queries. It reduces the need to repeatedly query the external source, but it adds cache storage and refresh overhead. | This is the cheapest storage option. For same-region, same-cloud AWS setups (for example, _S3_ in US-East-1 with a _Data Cloud_ tenant that's also in US-East-1), credits aren't consumed for the rows that are accessed. Cross-region or cross-Cloud configurations (for example, _Azure_, _GCS_, or different _AWS_ regions) incur credit consumption for the rows that are accessed. Query costs also depend on file size, partitioning, and predicate pushdown optimization. |
| **Key Consideration**    | Avoid unfiltered queries that scan massive data volumes unnecessarily.                                                                                                                                                        | This approach requires cache management. Not suitable for sub-second decisioning.                                                                          | Query performance relies heavily on optimization via partitioning and predicate pushdown.                                                                                                                                                                                                                                                                                                                                                                                        |

### Hybrid Approach

Hybrid architectures enable architects to anchor critical datasets in _Data 360_ for centralized governance while also leveraging federated queries for freshness, reduced duplication, and scalable access to large, external datasets. This approach balances I/O, compute locality, cost, and compliance requirements.

#### Hybrid Use Cases

Use a hybrid approach for balanced governance, freshness, and operational efficiency by combining data ingestion and zero copy to deliver real-time, actionable insights. Use ingestion for high-value, regulated datasets where traceability, RLS, and masking are required, and federation for ephemeral or high-volume datasets where freshness and performance are key.

<img src="https://a.sfdcstatic.com/developer-website/prod/images/architect/df25_dc_images/Data Ingestion and Zero Copy - Copy of Hybrid.png" alt="Hybrid Approach Overview" />

#### Architect Playbook

- **Use Cases**
  - **Omni-channel engagement\:** Blend historical customer data with real-time behavior to deliver consistent, context-aware experiences.
  - **AI/ML pipelines\:** Train models on curated, canonical datasets while enriching them with raw or real-time signals from external sources.
  - **Mixed compliance and agility needs\:** Apply strict governance for sensitive data, and federation for operational agility.
- **Industry Scenarios**
  - **Retail\:** Use _ingestion_ for identity resolution and profile unification, and _federation_ for real-time offers and personalization.
  - **Healthcare\:** Maintain golden patient records via _ingestion_ while using _federation on_ IoT device streams and sensor data for immediate context.
  - **Financial Services\:** Ingest regulated data into a compliance-governed lake while using _federation_ for external fraud-detection and risk-monitoring queries.
- **Design Practices**
  - **Anchor Governance with Ingestion\:** Ingest high-value or regulated data into canonical models to ensure trust and compliance.
  - **Use Federation for Freshness\:** Allows external lake houses to provide real-time or large-scale data access without duplication.
  - **Balance Cost vs. Performance\:** Profile workloads to determine when to use _ingestion_ vs. _federation_, which minimizes unnecessary storage and query costs.
  - **Apply Layered Governance\:** Enforce centralized governance for ingested data while leveraging the federated systems security controls (for example, RLS and masking).
  - **Note\:** When you're designing hybrid pipelines, it's important to ensure incremental ingestion for historical datasets and push aggregations or filters to federated sources to optimize I/O and compute usage.
- **Cost Considerations**
  - Weigh the total cost vs. performance by combining _ingestion_ for compliance or critical data with _federation_ when freshness is necessary.
  - Account for I/O and compute distribution when mixing _ingestion_ and _federation_. To reduce the compute cost of repeated queries against source systems, use caching (Accelerated Query) for high-read, frequently-accessed federated datasets.
  - Use this rule to guide the ingestion vs. federation decision\: when data is accessed frequently but changes infrequently, _Accelerated Query_ is typically more cost-effective. However, when data changes frequently (relative to access frequency), _Live Query_ or _ingestion_ is more appropriate. Here are a few cost examples\:
    - **Acceleration wins\:** A dashboard that's built from 1M records and updated daily with \~10K changes is viewed 20 times per day. _Acceleration_ costs equate to roughly \~600 credits/month vs. \~4,200 credits/month for _Live Queries_.
    - **Live Query wins\:** Segments that are published 20 times per day using data that changes every 30 minutes. _Live Queries_ cost roughly \~4,200 credits/month vs. \~28,800 credits/month for _acceleration_ at this refresh frequency.

## Use Case Decision Guide

Let's take a closer look at a few common archetypes that illustrate how to apply this logic.

- **The "Single Source of Truth" Archetype\: Centralize and Govern**
  - **Scenario\:** You need to build compliant, unified _Customer 360_ profiles for your entire global enterprise. The data comes from a dozen different systems, it must adhere to strict _GDPR_ and _CCPA_ regulations, and it will serve as the source of truth for all marketing and service interactions.
  - **Recommended Pattern\:** **Data Ingestion.** The priority here is governance, trust, and control. Ingesting the data into _Data 360_ is the only way to create a fully auditable, canonical profile that's insulated from the source systems.
- **The "Real-Time Insights" Archetype\: Analyze Without Moving**
  - **Scenario\:** Your data science team needs to run exploratory queries on a massive, constantly updating transaction table in _Snowflake_. At the same time, your executive team wants a live _BI_ dashboard that's powered by that same data. Moving petabytes of data daily is slow and expensive.
  - **Recommended Pattern\:** **Zero Copy Federation.** The priority here is speed, agility, and cost-efficiency at scale. _Zero Copy_ allows you to leverage the power of your existing data warehouse for real-time queries without the overhead and latency of data duplication.
- **The "Hybrid Intelligence" Archetype\: Govern the Core, Federate the Edge**
  - **Scenario\:** You want to enrich your governed, ingested customer profiles with real-time behavioral signals (for example, website clicks) from a data lake. You need the stability of the core profile but the immediacy of the live data to power in-the-moment personalization.
  - **Recommended Pattern\:** **A Hybrid Approach.** Use _Data Ingestion_ to create a stable, governed core for your customer data. Use _Zero Copy_ to federate the volatile, real-time "edge" data, and then join them together at query time for a complete, up-to-the-second view.

## The Path Forward

Enterprise data strategy is no longer focused on choosing a single integration pattern—it's about architecting controlled flexibility within an interoperable data ecosystem. The correct approach maps each source system to the pattern that best suits its freshness, governance, cost, and access requirements\:

- Ingest mission-critical, regulated datasets into Salesforce _Data Cloud_ for compliance, identity resolution, and operational workflows.
- Federate data via _Zero Copy_ for live, exploratory, and AI-driven analytics without duplicating storage.
- Apply _Caching (Accelerated Query)_ to reduce source system load and credit consumption when query frequency is high and data change frequency is low

Salesforce _Data 360_ on _Hyperforce_ delivers multi-region resilience and scalability. Its open lake house with _Iceberg_ tables enables computation separation and interoperability with platforms like _Snowflake_, _Databricks_, and _S3 Iceberg, which_ forms the backbone of a truly interoperable, multi-cloud data ecosystem.

As data ecosystems evolve, we must continuously balance freshness, cost, performance, and compliance to maintain architectural agility. That's why it's important to future-proof your platform by unifying ingested, governed data with federated access. This enables real-time intelligence, AI activation, and enterprise-scale personalization across Clouds, regions, and business domains.

Keep in mind that one-size-fits-all solutions don't suit most businesses. The optimal strategy maps the correct pattern to the correct business driver.

## About the Authors

**Yugandhar Bora** is a Software Engineering Architect at Salesforce who specializes in data architecture within the Data and Intelligence Applications platform. He leads _enterprise architecture review board (EARB)_ initiatives that focus on data governance and unified data models while also contributing to automated platform provisioning solutions.

**Jan Fernando** is a Principal Architect in the _Office of the Chief Architect (OCA)_ at Salesforce who joined Salesforce in 2012\. He brings a wealth of experience from his time in the startup ecosystem. Prior to joining the OCA, he spent over a decade in the _Platform_ organization, where he led several key technology transformations.
