How we store and process millions of orders daily
Aug 15, 2022Xi Chen

Summary
Designed and implemented a dual-database architecture for the Grab Order Platform, separating OLTP (DynamoDB) and OLAP (MySQL RDS) workloads. Optimized DynamoDB usage with primary keys, Global Secondary Indexes (GSIs) with sparse indexing for ongoing orders, and a phased TTL implementation for data retention. Utilized MySQL partitioning for OLAP data retention. Established a Kafka-based data ingestion pipeline with SQS for producer failure handling and back-off retries for consumer consistency, addressing duplicate and out-of-order messages with unique keys and version updates.
More from the Data Production Issue (DPI) Operationalization trail
- Data Mesh at Grab (Part III): Operationalizing data reliability with automated DPIs
- The Hugo evolution: Engineering Grab's unified, one-click data ingestion platform with Apache Flink
- Data Mesh at Grab (Part II): The foundational tools behind certification
- Real-time data quality monitoring: Kafka stream contracts with syntactic and semantic test
- Data mesh at Grab part I: Building trust through certification