Data Integration Architect
by @quochungto
Design the integration architecture for systems with multiple specialized data stores (Postgres, Elasticsearch, Redis, data warehouses) that must stay in syn...
Example 1: E-commerce Platform β OLTP + Search + Analytics
Scenario: Online retailer with PostgreSQL for orders/products, Elasticsearch for product search, Snowflake for business analytics. Current architecture uses dual writes from application code. Products sometimes appear in search before inventory is updated; analytics dashboards occasionally show orders that do not exist in PostgreSQL.
Trigger: "Our Elasticsearch and PostgreSQL are drifting. Products show in search that are out of stock. How do we fix the architecture?"
Process:
Output: Replace dual writes with Debezium CDC pipeline. Elasticsearch and Snowflake become read-only derived views, populated exclusively from the Kafka event log. Drift is eliminated because both stores process the same ordered event sequence from the same source.
Example 2: Financial Services β Multi-Partition Transfer with End-to-End Correctness
Scenario: Payment processing system where transferring money requires debiting one account (partition A) and crediting another (partition B). Current implementation uses two-phase commit across partitions; this causes availability problems when the coordinator fails.
Trigger: "We're using 2PC for cross-account transfers and it's killing our availability. How do we redesign this?"
Process:
Output: Remove 2PC. Achieve equivalent correctness (every transfer applied exactly once to both accounts) without cross-partition coordination. Availability improves because no coordinator failure mode exists.
Example 3: Social Platform β Causal Ordering Across Services
Scenario: Social network with friendship status stored in service A, notification delivery in service B. Users report receiving notifications from people they have unfriended β the unfriend event and the message-send event are processed in the wrong order.
Trigger: "Users are getting messages from people they unfriended. The unfriend event seems to arrive after the message sometimes."
Process:
Output: Causal dependency captured via event identifiers. Notification service becomes causally consistent without requiring total ordering across all users.
clawhub install bookforge-data-integration-architect