Grab
Grab logoGrab · Feature trail

Fare Storage and Event Sourcing

1 post · Nov 2020 – Aug 2022

What this trail covers

Grab's Order Platform has evolved its database solution to handle millions of orders daily by separating transactional (OLTP) and analytical (OLAP) workloads. DynamoDB is used for OLTP with a focus on stability, scalability, and cost-effectiveness, employing strategies like Global Secondary Indexes (GSIs) with sparse indexing for ongoing orders and Time To Live (TTL) for data retention. MySQL RDS serves as the OLAP database for historical and statistical queries, utilizing partitioning for data. The Fare Storage system has been refactored to use Event Sourcing and CQRS patterns, with DynamoDB as the event store and a cache for reads. Optimistic locking and transaction IDs are used to ensure data integrity and idempotency. A schema-less metadata approach via an SDK decouples clients from the storage service.

All Grab trails