5 Domain ownership
This chapter covers
- Designing domain-oriented Data Products
- Understanding what a domain is and how it can be decomposed
- Establishing Data Product boundaries
- Defining ownership of Data Products
In this chapter, we will focus on Data Mesh’s Domain Ownership principle. Domain ownership is about decentralizing responsibility for data and shifting it to business domains. It is a stark contrast to the popular model of centralizing data responsibility within the Central Data Team.
What does decentralizing responsibility mean for an individual development team? If you take a team that builds a software component allowing users to register, this component creates data—user data. In the old world, a data team would probably query the team’s database to get the user data for creating user registration dashboards. This is “data as a by-product”. If the responsibility is with the team, however, the data team should ask the team to provide the data in a way that is suitable for the task, and the team owning data should expose it in the expected way.
The logic behind decentralization is that the people closest to a business area know the most about its generated data and are best suited for tasks related to that business area.
To learn how to apply decentralization in a domain-oriented way, we will consider how business activities influence the design and ownership of Data Products.