DATA PATTERNS: MIGRATING FROM MONOLITH TO
MODERN ARCHITECTURES
Andrew Jones
Why would we want to move away from
monoliths?
Slow to change
Cross team dependencies
Complex integration
Legacy patterns
Slow to new produce insights
Entangled data
Data is the lifeblood of your organisation
- systems work with it, analysts work with
it, and everyone needed it yesterday
What do we want out of a modern data
architecture?
Evolvability
Evolvability
Scalability
Evolvability
Scalability
Reliability
Evolvability
Scalability
Reliability
Integrity
So, what does a modern data
architecture actually look like?
Asynchronous events
Immutable log-based streaming
Microservices
Asynchronous events
+
Immutable log-based streaming
+
Microservices
Unbundling the database
The Data Patterns Catalogue
Strangler pattern
Using event seams to extract capabilities
Batch to event adapter
Event to batch adapter
Self-service data governance
Change data capture
Designing for auditability
Enrichment patterns
CREATE STREAM pageviews_enriched AS 
SELECT pv.viewtime, 
pv.userid AS userid, 
pv.pageid, 
pv.timestring, 
u.gender, 
u.regionid, 
u.interests, 
u.contactinfo 
FROM pageviews_transformed pv 
LEFT JOIN users_5part u ON pv.userid =
u.userid;
No single tool to rule them all
Trust but verify
Reprocessing
Data patterns catalogue - written version
coming soon
Data Engineering Melbourne Meetup
Wednesday 14th November, 6pm
ThoughtWorks office
https://www.meetup.com/Data-Engineering-Melbourne
Want to talk more about data architecture and engineering?
Thanks!
Andrew Jones
@whereismytaco
akjones@thoughtworks.com

Data Patterns- Andrew Jones (By ThoughtWorks)