Sunday, April 27, 2025
19.4 C
London

Uber Eats Overhauls Search Function for Faster Food Finds


Optimizing Search and Scaling for Uber Eats

Uber Eats, a leading food delivery platform, has faced significant challenges in scaling its backend infrastructure to accommodate growing demand. In a recent presentation, engineers Janani Narayanan and Karthik Ramasamy from Uber’s search platform team shared insights on how they addressed these challenges.

Understanding the Problem

The primary goal was to scale the Uber Eats backend infrastructure to infinitely scale the number of merchants that are deliverable to any particular eater. This involved expanding selection by nX, where nX represents a multiplier of the current selection.

Defining Selection

Selection means different things to different people. For the merchant onboarding team, it means onboarding as many merchants as possible. For eaters, it means having access to their favorite restaurants, getting food within a particular ETA, or discovering new stores.

The Technical Challenge

Uber Eats has grown significantly, with the business expanding and branching into multiple lines of business, including grocery stores, retail stores, and package delivery. This growth has introduced new challenges in terms of scale, complexity, and indexing.

Discovery Surfaces

The team identified four discovery surfaces: home feed, search, suggestions, and ads. These surfaces need to work in cohesion to provide a seamless customer experience.

Overall Architecture

The overall architecture consists of an infra layer, retrieval layer, first pass ranker, hydration layer, and second pass ranker. The team optimized the retrieval layer for recall and the first pass ranker for precision and efficiency.

Challenges and Optimizations

The team faced several challenges, including:

  1. Latency Increase: When fetching more stores, the latency increased by 4X, which was a serious problem.
  2. Root Cause Analysis: The team identified multiple aspects to the problem, including design decisions made in ingestion and query layers.
  3. Benchmarking: The team added metrics to the search infra layer to understand where the latency was coming from.

Sharding Techniques

Uber uses geosharding to make queries more efficient. The two geosharding techniques used are:

  1. Latitude Sharding: The world is divided into latitude bands, and each band maps to a shard.
  2. Hex Sharding: The world is divided into hexagons, and each hexagon maps to a shard.

Data Layout

The team optimized the data layout to take advantage of query patterns. They used a clustered index layout, which provided a 60% improvement in latency.

ETA Indexing

The team indexed ETA information into the search index, which enabled them to leverage parallelization and improve recall.

Solution

The team’s solution involved:

  1. Building a Data Layout: Creating a data layout that can take advantage of query patterns.
  2. ETA Indexing: Indexing ETA information into the search index.
  3. Parallelization: Dividing the search space into non-overlapping ranges and executing them in parallel.

Key Takeaways

The team’s key takeaways include:

  1. Instrumenting Multiple Teams: It took two to three months to identify where the problem was.
  2. Index Layout: The index layout is a crucial piece of software that needs to be optimized for the request pattern.
  3. Sharding Strategy: The sharding strategy needs to be aligned with what is being tried to be achieved.

Conclusion

Uber Eats’ engineering team successfully addressed the challenges of scaling its backend infrastructure by optimizing its search platform, sharding techniques, and data layout. Their solution resulted in a 50% decrease in latency and a significant improvement in recall.

As per InfoQ, the presentation by Janani Narayanan and Karthik Ramasamy provided valuable insights into Uber Eats’ technical challenges and solutions.

The company plans to continue optimizing its search platform and infrastructure to provide a seamless experience for its users.

In related news, Uber’s engineering team continues to work on improving its technology stack to support the growing demands of its users.

Uber’s search platform is built on Apache Lucene, and the company uses a typical Lambda architecture for ingestion.

The company’s use of geosharding and hex sharding techniques has significantly improved the efficiency of its queries.

Overall, Uber Eats’ success in scaling its backend infrastructure serves as a testament to the company’s commitment to innovation and customer satisfaction.

Uber’s technology stack is designed to support the company’s growing business, and the company continues to invest in its infrastructure to ensure a seamless experience for its users.

The company’s engineers work tirelessly to optimize its search platform and infrastructure, ensuring that Uber Eats remains a leading food delivery platform.

Uber’s commitment to innovation and customer satisfaction has enabled the company to achieve significant growth and success in the food delivery market.

The company’s use of advanced technologies, such as Apache Lucene and geosharding, has enabled it to improve the efficiency and scalability of its search platform.

As the food delivery market continues to evolve, Uber Eats is well-positioned to remain a leader in the industry, thanks to its commitment to innovation and customer satisfaction.

Uber’s engineers continue to work on improving its technology stack, ensuring that the company remains at the forefront of innovation in the food delivery market.

The company’s success in scaling its backend infrastructure serves as a testament to its commitment to innovation and customer satisfaction.

Uber Eats’ users can expect a seamless experience, thanks to the company’s ongoing investment in its infrastructure and technology stack.

The company’s use of advanced technologies has enabled it to improve the efficiency and scalability of its search platform, ensuring a seamless experience for its users.

Uber’s commitment to innovation and customer satisfaction has enabled it to achieve significant growth and success in the food delivery market.

The company’s engineers are dedicated to optimizing its search platform and infrastructure, ensuring that Uber Eats remains a leading food delivery platform.

Uber’s technology stack is designed to support the company’s growing business, and the company continues to invest in its infrastructure to ensure a seamless experience for its users.



Source link

Hot this week

Taxpayers to Foot Bill for Migrant Rent in These UK Towns

Migrant Crisis: Full List of Towns and Cities...

Diddy’s Dark Side: New Doc Uncovers Alleged Abuse Pattern

The Rise and Fall of Sean "Diddy" Combs:...

Márquez y Acosta Brillan en Jerez: Resultados del GP de España MotoGP

MotoGP: Álex Márquez Celebrates Maiden Victory in Emotional...

Márquez celebra su gran día, Marc sufre dura caída

Álex Márquez Takes MotoGP Victory in Spain Álex Márquez...

Nadal, Becker Weigh in on Zverev’s Slam Chances

Alexander Zverev's Grand Slam Hopes Boosted by Rafael...

Topics

Taxpayers to Foot Bill for Migrant Rent in These UK Towns

Migrant Crisis: Full List of Towns and Cities...

Diddy’s Dark Side: New Doc Uncovers Alleged Abuse Pattern

The Rise and Fall of Sean "Diddy" Combs:...

Márquez y Acosta Brillan en Jerez: Resultados del GP de España MotoGP

MotoGP: Álex Márquez Celebrates Maiden Victory in Emotional...

Márquez celebra su gran día, Marc sufre dura caída

Álex Márquez Takes MotoGP Victory in Spain Álex Márquez...

Nadal, Becker Weigh in on Zverev’s Slam Chances

Alexander Zverev's Grand Slam Hopes Boosted by Rafael...

Zverev Issued Warning for Unusual Court Request

Zverev Slapped with Warning at Madrid Open for...

Gloucester Hosts Exeter in Premiership Rugby Union Showdown

Gloucester vs Exeter Premiership Rugby Union Predictions and...

Calm Heads Prevail: No Panic Button for Now

Gloucester Rugby Club's Injury Crisis Deepens as Lock...

Related Articles

Popular Categories