The Three Pillars of Data Observability: Channels, Observation Model, and Expectations
M. Tahar Chanane
Data & AI - Tech Lead @IBM | Presales | Solution Strategy | Information Architecture | Partner Enablement | Accelerating Value Delivery with Adaptable Solutions
I’ve been diving deep into data observability lately, and I’ve got to tell you, it’s like peeling an onion?—?there are layers upon layers of fascinating concepts to unpack. But at its core, I’ve found that data observability really rests on three fundamental pillars: Channels, Observation Model, and Expectations. Let’s break these down and see why they’re so crucial.
Channels
First up, we’ve got channels. These are essentially the conduits through which observability information flows. There are three main types:
Logs
Logs are like the play-by-play commentators of your data system. They’re recording events as they happen, giving you a detailed account of what’s going on. In the world of data observability, we deal with various types of logs:
Best Practice: Implement structured logging to make log data more easily searchable and analyzable.
Traces
Traces are like the highlight reels. They show you the journey of a piece of data through your system, connecting the dots between different events. In data observability, distributed tracing is particularly important.
Example: Imagine an e-commerce transaction. A trace might show the data flow from the user’s click, through the inventory system, payment processing, and finally to order fulfillment. This end-to-end visibility is crucial for understanding complex data pipelines.
Challenge: Implementing tracing in legacy systems can be difficult. It often requires code changes and careful planning to avoid performance impacts.
Metrics
Metrics are your scoreboard. They give you the numbers that help you understand how your system is performing. In data observability, we typically work with three types of metrics:
What’s cool about these channels is that they’re not unique to data observability?—?they’re common across all areas of observability. But in the data world, they take on special significance. For instance, data lineage (which tracks how data moves and transforms) is a form of trace that’s particularly important in data systems.
Observation Model
Next up is the observation model. This is where things get really interesting. The observation model is like a blueprint or a map of your data ecosystem. It shows you how different pieces of information relate to each other.
In this model, there are three main spaces:
Physical Space
This covers tangible elements like servers and users. In modern data ecosystems, this space has expanded to include:
Challenge: As organizations adopt hybrid and multi-cloud strategies, maintaining visibility across diverse physical infrastructures becomes increasingly complex.
Static Space
This includes things that change slowly, like data sources and schemas. Key components in this space include:
Best Practice: Implement automated schema detection and catalog updates to keep this space current without manual intervention.
Dynamic Space
This is where the action happens?—?it covers things that are constantly changing, like application executions and data metrics. This space encompasses:
What I find fascinating about this model is how it connects different aspects of your data system. For example, it shows how a data source (in the static space) might be linked to a specific server (in the physical space) and how it’s used by an application (in the dynamic space).
As data systems grow and evolve, so does the observation model. It’s crucial to have tools and processes in place to keep this model up-to-date, reflecting the current state of your data ecosystem.
Expectations
Finally, we have expectations. This is where data observability starts to feel a bit like fortune-telling. Expectations are essentially rules or conditions that you set up to define what “normal” looks like in your data system.
These can take several forms:
Explicit Rules
These are rules that humans create based on their knowledge and experience. Creating effective explicit rules involves:
Example: An explicit rule might state that a particular dataset should always have less than 1% null values in critical fields.
Assisted Rules
These are rules that are discovered or suggested by analyzing the data itself. Developing assisted rules often involves:
Challenge: Balancing the sensitivity of assisted rules to avoid excessive false positives while still catching genuine anomalies.
领英推荐
Anomaly Detection
This uses machine learning to automatically identify unusual patterns in your data. Key considerations in anomaly detection include:
What’s powerful about expectations is that they allow your system to become proactive. Instead of just showing you what’s happening, it can alert you when something unexpected occurs.
Bringing It All?Together
When you combine these three pillars?—?channels providing raw information, an observation model giving context and relationships, and expectations defining what’s normal?—?you get a powerful system for understanding and managing your data.
Real-World Scenario
Let’s walk through a real-world scenario to see how these pillars work together:
Imagine a large e-commerce company processing millions of transactions daily. Their data observability system might work like this:
Channels in Action:
Observation Model at Work:
Expectations on Guard:
When an issue occurs?—?say, a sudden increase in order processing times?—?the system can:
Data Observability vs. Traditional Data Monitoring
While traditional data monitoring approaches have served us well, data observability takes things to the next level. Here’s a more detailed comparison:
Scope:
Proactivity:
Context:
Flexibility:
Cost Implications:
Scalability:
Impact on Data Team Productivity:
Integration with Modern Data Stack:
Implementing a data observability system is an iterative process. It starts with setting up basic monitoring across your key data assets, then gradually expanding and refining your observation model and expectations. As your understanding of your data ecosystem grows, so does the sophistication of your observability capabilities.
Which of the three pillars?—?Channels, Observation Model, or Expectations?—?do you find most challenging to implement in your data systems? Have you experienced a situation where having better data observability could have prevented a major issue? If you’re using traditional data monitoring approaches, what’s holding you back from adopting a more comprehensive data observability framework?
#Data #DataPlatforms #DataObservability #DataEngineering