Keymaker
I was more than a little intrigued recently when the need for a key management system cropped up for one of our Data capabilities. Key management solutions tend to be a particularly obscure part of the data world, hidden away, taken for granted in companies with established and complex datawarehousing solutions, and rarely needed in young companies.
In Data, mentions of keys tend to elicit thoughts of primary keys, foreign keys, and surrogate keys. We are of course talking about these keys – but also much, much more. Take for example, the Keymaker program in The Matrix Reloaded. Yes, a key is unique, it fits just one door, but it’s also a link, a doorway, to a different location in the matrix.
The genius is in knowing which key leads to which location, which keys are closely located to each other, and being able to plot a journey through an entire world through clever selection of keys. This genius ends up being the knowledge embedded in the keymaker program (and less so the physical keys). You’d need a rather sophisticated Keymaker program to reliably store and reproduce this knowledge.
How does this relate to Data capabilities and why is it so intriguing?
I mentioned earlier that sophisticated key management solutions tend to be rare in younger companies.
Older companies, as they attempt to optimise a process, will typically identify a common thing for which they’d like to unify or standardise a process. For example, enable customer self service for Product X, Y, Z.
Assume for a moment that you already have the knowledge of how these references relate to each other. How then would you record the relationship between the set of references in one system, to the set of references in multiple other systems, and – here’s the genius – contextualise it as the order, provisioning and billing of product X for customer Smith?
Recommended by LinkedIn
Critically, as you begin propagating these keys as foreign keys in your database, you’ll need to know that you can rebuild your keys identically each time. This avoids breaking foreign key integrity in recovery events (from data corruptions or upstream data issues).
Taxonomy wise, I’ve also now heard this keymaker program referred to as:
I suspect that the need for key maker programs will crop up more often, as organisations digitise and link up a multitude of systems for an increasing number of data products.
It’s a good idea to architect your keymaker program deliberately – perhaps as part of your architectural runway – as it will form the foundation for your data quality and help ensure your data products are fit for purpose.
___footnotes
¹ Analogies, like footnotes, can be annoying but I really think this one is particularly fitting and necessary. 😉
² When your workforce maintains the referential integrity between systems. Tends to be more effective when activity volumes are quite low.
⁴ Rely on a stewardship community or better yet, develop a database of record to manage these mappings. The DBoR is far more sophisticated, sustainable and extendible (and also a much, much, much bigger investment).
Great article Mei-Ling, I enjoyed reading it. Such a critical piece of insight so often ignored...
As a primarily end user systems, this insight into the behind the scenes was fascinating. Great write up!
Sounds like Greek to me