One factor to consider when designing an application is how to represent information about events that occur. One traditional way is to use a database: as new events occur, a row in a table is updated. Another approach is to use an event log: every event that occurs is retained in a serialized format, so that app's state at any point in time is preserved.
On this episode Alexey Syomichev talks with host Robert Blumen about enterprise architecture organized around an immutable event log. The discussion covers the notion of events - what are they, what do they contain, event data, event schema, event formats; producers and consumers of events; the event log; time stamps versus event log time; immutability; durability of event logs; organizing enterprise architecture around the event log; the log-centric approach to integration compared to point-to-point; in place updates versus append only; extracting event logs from an RDBMS; reconstructing RDBMS change logs as business events; the event log as the system of record; making the event log highly available; scaling the event log.
Transcript Available
- Deeply Technical
- Apache Kafka
- architecture
- database
- distributed systems
- enterprise architecture
- events
- eventual consistency
- logs
- software architecture
Share This