Ultimate access to all questions.
You are designing a real-time system for a ride-hailing app, aiming to identify areas with high demand for rides to efficiently reroute available drivers. This system ingests data from multiple sources into Pub/Sub, processes it, and stores the resulting information for real-time dashboards used for visualization and analysis. The data sources include driver location updates every 5 seconds and app-based booking events from riders. The key data processing challenge involves the real-time aggregation of both supply and demand data over the last 30 seconds, updating every 2 seconds. You need to store these aggregated results in a low-latency system for effective visualization. How should you process and store the aggregated data?