§ 02 ·
The patterns
The integration patterns that have held up.
The pattern of extracting data from the source, loading it into the target, and transforming it in the target. ELT is the right choice when the target is a data warehouse or a lakehouse, and the transformation can be expressed in SQL. ELT pushes the transformation to the data, which is the right place for it.
CDC (change data capture)
The pattern of capturing changes in the source system and applying them to the target system. CDC is the right choice when the target needs to be eventually consistent with the source, and the latency requirement is seconds-to-minutes. CDC is the right pattern for operational replication.
Event-driven replication
The pattern of publishing events from the source and consuming them in the target. Event-driven replication is the right choice when the consumers are many and the consumers' needs are different. The event is the contract; the schema is the integration.
Request-response API
The pattern of calling a service in real time to get the data. Request-response is the right choice when the consumer needs the current state, not the history, and the latency requirement is milliseconds. The API is the contract; the schema is the integration.
Shared database
The pattern of two systems reading from the same database. The shared database is the right choice when the two systems are tightly coupled (e.g., the same bounded context) and the alternative is worse coupling. The shared database is the right choice rarely; the cost is the coupling.
The pattern is the tool; the contract is the architecture. Pick the pattern that fits the latency, the consistency, and the coupling requirements. Document the choice. The choice is reviewed when the requirements change.