- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
06-25-2025 10:59 AM
@Pratikmsbsvm
You can leverage the below one for your architect solution.
Your Setup at a Glance
Sources
SAP, Salesforce, Adobe (Structured & Semi-structured)
Targets
Hightouch, Mad Mobile (External downstream apps needing curated data)
Core Requirement
Data must be stored in ACID-compliant format → ✅ Use Delta Lake(Managed will be great/ if there are company constraint external location will work)
Cross-Workspace Data Sharing
Another Databricks instance (separate workspace) needs access to this lakehouse data
Recommended Architecture (High-Level View)
[ SAP / Salesforce / Adobe ]
│
▼
Ingestion Layer (via ADF / Synapse / Partner Connectors / REST API)
│
▼
┌───────────────────────────┐
│ Azure Data Lake Gen2 │ (Storage layer - centralized)
│ + Delta Lake for ACID │
└───────────────────────────┘
│
▼
Azure Databricks (Primary Workspace)
├─ Bronze: Raw Data
├─ Silver: Cleaned & Transformed
└─ Gold: Aggregated / Business Logic Applied
│
├──> Load to Hightouch / Mad Mobile (via REST APIs / Hightouch Sync)
└──> Share curated Delta Tables to Other Databricks Workspace (via Delta Sharing or External Table Mount)
Key Components & Patterns
1. Ingestion Options
Use Azure Data Factory or Partner Connectors (like Fivetran- We use it often our project) to ingest data from:
SAP → via OData / RFC connectors
Salesforce → via REST/Bulk API
Adobe → via API or S3 data export
2. Storage & Processing Layer
Store all raw and processed data in ADLS Gen2, with Delta Lake format
Organize Lakehouse zones:
Bronze: Raw ingested files
Silver: Cleaned & de-duplicated
Gold: Ready for consumption (BI / API sync)
5. Cross-Workspace Databricks Access (This is Your Core Challenge and most important)
Option A: Delta Sharing (Recommended if in different orgs/subscriptions)
Securely share Delta tables from one workspace to another without copying data
Works across different cloud accounts
Option B: Mount/Use Service Principal ADLS Storage Account (Only if workspaces are under same Azure AD tenant)
Mount/use Service Principal same ADLS Gen2 storage in both Databricks workspaces
Other workspace can directly access tables if permissions are aligned in Groups (Access via Databricks Account Console)
Option C: Data Replication with Jobs
Periodically replicate key Delta tables to the secondary Databricks instance using jobs or autoloader
Governance / Security Recommendations
Use Unity Catalog (if available) for fine-grained access control
Encrypt data at rest (ADLS) and in transit
Use service principals or managed identities for secure access between services
Summary Visual (Simplified)
Sources → Ingestion → Delta Lakehouse → Destinations
[SAP, SFDC, Adobe] [ADF, APIs] [Bronze, Silver, Gold] [Hightouch, Mad Mobile, Other DBX]
▲
│
Cross-Workspace Access (Delta Sharing / Mounting / Jobs)
Let me know if this helps 🙂