James has over 20 years experience as a lead developer in the finance industry at various banks, hedge funds and startups with data intensive applications ranging from fraud detection to pricing. He has presented at a number of conferences around data and he cares deeply about design and building quality into the heart of all software and is a firm advocate of XP practices such as TDD and BDD.
James is OpenCredo's Technical Delivery Director he believes in delighting customers by helping them deliver the very best outcomes by working in partnership to analyse, architect and deliver pragmatic solutions that bring tangible business value.
As data becomes ubiquitous and deeply interconnected, tracing where, who or which system that data comes from - its lineage - will create bigger problems and opportunities for us on the horizon:
How can we trust this document/row of data? what is its lineage? where did it come from?
If there is a problem with a piece of data, how do we recalculate and publish just the affected data and not the entire dataset?
How can we apply modern engineering practices - such as blue-green deployments - to our data estate and data pipelines?
Furthermore, as our data estate becomes ever-more business-critical, it will be important to be able to secure that data from its source system all the way through the estate, using techniques such as field+row level security (aka cell-based security).
In this talk I will use live demos and coding examples to explore some techniques of how to create the data lineage graph of individual rows or documents using Change Data Capture (CDC) in source systems. We will store the lineage graph within a graph Database to start with, then explore how other types of database could be used instead. This will create a lineage catalogue that can be queried for all manner of use cases, such as incremental data batch operations, blue-green deployments and "cell-based security" of data fields.