Member-only story
Business Vault & Activity Schema
Let’s discuss event-driven architecture (EDA), EDA is the basis of asynchronous communication between services in a microservices architecture. Kafka is the well-known technology that supports microservice communication as append-only log structures (but not the only one). A log is an immutable file structure where producers publish events to topics (logs) and consumers subscribe to their topics of interest. Events are efficient, fault-tolerant when parallelised through partition replication (which also improves performance), guarantee exactly once semantics, read in the order it is written and supports offset tokens for consumers to pick up where they left off.
When it comes to running analytics based on EDA the data may not be provided in the ideal form for running analytics efficiently using SQL, and this is where the Activity Schema comes to the fore. Developed as a simple table structure called a stream with the same ten columns no matter what the stream is describing, the only details that change are
- the entities the stream is describing
- the activities you choose to model and therefore derive the analytics you’re after
What also makes this modelling paradigm attractive is that the inventors claim that there are a set of twelve templated enrichments (called temporal joins) that almost all analytics…










