educative.io

What do we mean by "We use MySQL for in-progress trips for frequent updates since the trip information is relational" in Uber design?

I have confusion here , like We use MySQL for in-progress trips for frequent updates since the trip information is relational " so for a single trip on an average how many rows will be populated , also driver update will be written in Cassandra as mentioned in Course . And we are storing in-progress trips in Mysql then whats the use of Cassandra?


Course: Grokking Modern System Design Interview for Engineers & Managers - Learn Interactively
Lesson: Detailed Design of Uber

Hi Ravish

The use of both MySQL and Cassandra in the system architecture serves specific purposes based on the characteristics of the data they handle. MySQL is employed for managing in-progress trips, where frequent updates and relational data structure are crucial. In this context, the number of rows populated for a single trip depends on the granularity of the data being tracked and the frequency of updates.

On the other hand, Cassandra is utilized for storing driver updates. Cassandra’s strength lies in handling large volumes of time-series data with high write throughput, making it suitable for scenarios like tracking and storing real-time updates from drivers. Therefore, while MySQL is optimized for relational data associated with in-progress trips, Cassandra complements the architecture by efficiently managing the high-velocity, time-series data generated by driver updates, ensuring a balanced and optimized storage solution for different types of information in the system.

Thank you