Uber

Use cases

  • Real time cab booking service like Uber, Lyft, Bolt.

  • Real time hotel / restaurant search like Yelp.

  • Target shoppers nearing a certain store for a marketing promotion.

  • Hyper-local delivery system — dispatch delivery agents for restaurant order like Uber Eats.

Functional requirements

  • Given a location by a client or user, our service should figure out certain number of nearby locations.

    • NN: Given a location, find the nearest k points

    • Range query: Retrieve all points within a specific spatial range.

  • Update location

Non-functional requirements

High performance

  • The location should be accurate so that the delay in update should response ≤ 200 milliseconds.

  • We need to support 50000 read queries per second & 10000 write queries per second.

Scalable

  • Our service is used world wide.

  • As users grow in our system, the system should scale linearly without adding much burden.

Real world

References

Appendix

Past chart

Schema design
Report design
Storage design

TODO

Last updated

Was this helpful?