I realize scale makes everything more difficult but at the end of the day, Netflix is encoding and serving several thousand videos via a CDN. It can't be this hard. There are a few statements in this that gave me pause. The core problem seems to be development in isolation. Put another way: microservices. This post hints at microservices having complete autonomy over their data storage and developing their own GraphQ…
Model Once, Represent Everywhere: UDA (Unified Data Architecture) at Netflix
51–60 of 108 posts
Re: Model Once, Represent Everywhere: UDA (Unified Data Architecture) at Netflix
#52Having dealt with same problems for years now (we call our UDM - Unified Data Model, heh), I was under the impression this was an over-engineered Datamart++; It's not though. Calling UDA a datamart would be like calling K8S a bash script, which might be related but wildly different in scope. I am definitely interested to read more and implement it myself as well. Would also be more than happy to skip the whole GraphQ…
Netflix benefits from a large GraphQL ecosystem with federation, which is why it's so central in UDA from day 1. But adding a projection to "REST" would be very easy.
Re: Model Once, Represent Everywhere: UDA (Unified Data Architecture) at Netflix
#53How does this relate to domain-driven design? It seems to be at odds with it, because in DDD it's kind of expected that the same concept will be represented in a different way by each system? But to be honest, I didn't read the whole blog post because of the UML vibes.
The "Domain" in `upper:DomainModel` is the same D as in DDD (Domain-Driven Design) as the D in DGS (Domain Graph Service).
> in DDD it's kind of expected that the same concept will be represented in a different way by each system
In UDA, those concepts would explicitly co-exist in different domains. "Being the same" becomes a subjective thing.
Re: Model Once, Represent Everywhere: UDA (Unified Data Architecture) at Netflix
#54I realize scale makes everything more difficult but at the end of the day, Netflix is encoding and serving several thousand videos via a CDN. It can't be this hard. There are a few statements in this that gave me pause. The core problem seems to be development in isolation. Put another way: microservices. This post hints at microservices having complete autonomy over their data storage and developing their own GraphQ…
Yeah maybe 10 years ago, but today Netflix is one of the top production companies on the planet. In the article, they even point to how this addresses their issues in content engineering
https://netflixtechblog.com/netflix-studio-engineering-overv...
https://netflixtechblog.com/globalizing-productions-with-net...
Re: Model Once, Represent Everywhere: UDA (Unified Data Architecture) at Netflix
#55It seems to be based on very common naive belief that things which are named same or similar in different domains are conceptually same, so "lets deduplicate" ? There can be rare moments when they really are, but then the moment passes and then you only have troubles.
Re: Model Once, Represent Everywhere: UDA (Unified Data Architecture) at Netflix
#56Re: Model Once, Represent Everywhere: UDA (Unified Data Architecture) at Netflix
#57For all the benefits, there is a large problem with this approach that often goes unacknowledged. It is fundamentally a business problem, rather than a technical problem, but it has impact on development speed, so it's secondarily a technical problem. The business contract with a consolidated data definition is that everyone in the business, no matter which domain, can rely on it. But think about the red tape that in…
Corolloray to Hyrum's Law then. Perhaps we call it "Orange is the New Model" Law
Re: Model Once, Represent Everywhere: UDA (Unified Data Architecture) at Netflix
#58Having dealt with same problems for years now (we call our UDM - Unified Data Model, heh), I was under the impression this was an over-engineered Datamart++; It's not though. Calling UDA a datamart would be like calling K8S a bash script, which might be related but wildly different in scope. I am definitely interested to read more and implement it myself as well. Would also be more than happy to skip the whole GraphQ…
> Would also be more than happy to skip the whole GraphQL end of it. Netflix benefits from a large GraphQL ecosystem with federation, which is why it's so central in UDA from day 1. But adding a projection to "REST" would be very easy.
Of course, details on "Upper", PDM, and Sphere are well - missing, but at least I have concepts to focus on :)
Re: Model Once, Represent Everywhere: UDA (Unified Data Architecture) at Netflix
#59Good luck. This is not new. Back in the Enterprise OOP era, there was a fad of developing universal data entities. Everyone eventually learned that there is no such thing as a universal entity. The semantic meaning of the data model depends on the user context, not the producer context. A "Movie" is not the same thing to the Finance team, Acquisition team, Infrastructure team, or Customer. There is not even always a…
Re: Model Once, Represent Everywhere: UDA (Unified Data Architecture) at Netflix
#60Good luck. This is not new. Back in the Enterprise OOP era, there was a fad of developing universal data entities. Everyone eventually learned that there is no such thing as a universal entity. The semantic meaning of the data model depends on the user context, not the producer context. A "Movie" is not the same thing to the Finance team, Acquisition team, Infrastructure team, or Customer. There is not even always a…
> A "Movie" is not the same thing to the Finance team, Acquisition team, Infrastructure team, or Customer. Shouldn’t it be?