Hi community,
I'm looking for advice on the best data modeling approach for a Customer 360 (C360) project where our source data is already highly refined.
I understand the standard Medallion architecture guidelines, which often recommend using Data Vault in the Silver layer for its auditability and integration capabilities, and a Kimball-style star schema in the Gold layer for optimized analytics and BI. This works great when ingesting raw data through a Bronze -> Silver -> Gold pipeline.
However, our situation is a bit different. The source datasets for our C360 are coming from the Gold layers of other teams within the organization. For example, we receive:
A clean, validated customer_transactions fact table from the Sales team.
A conformed customer_dimension from the master data team.
A refined support_tickets table from the Customer Service team.
Since we are essentially starting with "Gold" data, building a full Bronze and Silver layer feels redundant. My primary goal is to create a single, unified view of the customer for operational use cases (like a "single pane of glass" for our support agents), not necessarily for complex OLAP analytics.
Given this context, I'm leaning towards a simpler approach: creating a single, wide, denormalized C360 table directly in our Gold layer. This seems straightforward to build and very easy for end-users to query.
My questions for the community are:
Is creating a wide, denormalized C360 table directly from high-quality sources a sound architectural choice, or are there long-term pitfalls I'm not considering (e.g., maintainability, scalability, tracking history)?
In this "Gold-to-Gold" integration pattern, is there still value in creating an intermediate Silver layer to integrate the source tables before building the final C360 view?
Has anyone implemented a similar C360 model? I'd be very interested to hear about your approach and any lessons learned.
There is a blog from databricks which inlines with c360 in gold layer with a kimball modelling approach, however since kimball aligns more with business processes, a c360 team has not inherent business process and actors and is more aligned to represent a 360 view of customer. https://www.databricks.com/blog/2022/06/24/data-warehousing-modeling-techniques-and-their-implementa...
Thoughts?
Thanks in advance for your insights!