Book Image

Driving Data Quality with Data Contracts

By : Andrew Jones
Book Image

Driving Data Quality with Data Contracts

By: Andrew Jones

Overview of this book

Despite the passage of time and the evolution of technology and architecture, the challenges we face in building data platforms persist. Our data often remains unreliable, lacks trust, and fails to deliver the promised value. With Driving Data Quality with Data Contracts, you’ll discover the potential of data contracts to transform how you build your data platforms, finally overcoming these enduring problems. You’ll learn how establishing contracts as the interface allows you to explicitly assign responsibility and accountability of the data to those who know it best—the data generators—and give them the autonomy to generate and manage data as required. The book will show you how data contracts ensure that consumers get quality data with clearly defined expectations, enabling them to build on that data with confidence to deliver valuable analytics, performant ML models, and trusted data-driven products. By the end of this book, you’ll have gained a comprehensive understanding of how data contracts can revolutionize your organization’s data culture and provide a competitive advantage by unlocking the real value within your data.
Table of Contents (16 chapters)
1
Part 1: Why Data Contracts?
4
Part 2: Driving Data Culture Change with Data Contracts
8
Part 3: Designing and Implementing a Data Architecture Based on Data Contracts

Implementing contract-driven tooling

The final part of our sample implementation looks at how we can easily implement tooling driven by the data contract, using the example of a data anonymization service.

As we discussed in Chapter 7, A Contract-Driven Data Architecture, one of the key benefits of data contracts is that we can use the metadata we capture to build generic data tooling. These tools don’t know or care about the data itself or how it is structured. If it knows enough about the data, it can take the right action.

As the data contract itself is machine-readable, and we’re writing custom code, we can use it directly from this service, as highlighted in the following diagram:

Figure 8.7 – Using the data contract directly to implement an anonymization service

Figure 8.7 – Using the data contract directly to implement an anonymization service

As with all the examples shown in this chapter, the code is simple. The following code from anonymize.py shows a simple anonymization function driven by the contract...