使用 Apache Pinot™ 对 Uber 的库存和目录数据进行闪电般快速的 OLAP
You can order almost anything with Uber Eats. Whether you want to order an iced vanilla latte from your local cafe or order a new coffee machine to kickstart your own coffee-making journey, Uber Eats’ massive catalog of stores and items has got you covered.
您几乎可以通过 Uber Eats 订购任何东西。无论您想从当地咖啡馆订购一杯冰香草拿铁,还是想订购一台新的咖啡机来开启自己的咖啡制作之旅,Uber Eats 的庞大商店和商品目录都能满足您的需求。
From an engineering perspective, managing such a massive collection of items poses really interesting challenges. Outside the user-facing serving layer, you also need to support internal tools that allow operations teams and engineers to manage catalogs and items in real time and with low-latency. Users not only need text search functionality to look up specific items; they also want fast analytics to get broad insights quickly and seamlessly.
从工程的角度来看,管理如此庞大的项目集合带来了非常有趣的挑战。在用户面向的服务层之外,您还需要支持内部工具,以便操作团队和工程师能够实时低延迟地管理目录和项目。用户不仅需要文本搜索功能来查找特定项目;他们还希望快速分析,以便快速无缝地获得广泛的见解。
This blog shares how we adopted and scaled Apache Pinot™ to handle the massive volume of Uber’s catalog data to power multiple internal tools and workflows.
这篇博客分享了我们如何采用和扩展 Apache Pinot™ 来处理 Uber 的大量目录数据,以支持多个内部工具和工作流。

Figure 1: The different INCA entities and their relationships.
图 1:不同的 INCA 实体及其关系。
INCA (INventory and CAtalog) is Uber’s next-generation catalog system engineered to ingest, enrich, and publish massive, diverse inventories in real time. Our catalog is modeled around two core entities: Product and Item.
INCA (库存和目录) 是Uber的下一代目录系统,旨在实时摄取、丰富和发布大量多样的库存。我们的目录围绕两个核心实体建模:产品和项目。
-
Product (the what): The blueprint of what’s being sold. A Product describes general attributes such as name, brand, product type, image, identifiers, and size.
产品(是什么):正在销售的蓝图。产品描述一般属性,如名称、品牌、产品类型、图像、标识符和尺寸。
-
Item (the how): Defines how a Product is offered in a specific store. An Item connects a Product to a storefront and includes attributes like price, availability, section placement, and fulfillment options. These details vary store by store.
项目(如何):定义产品在特定商店中的提供方式。项目将产品与商店连接,并包括价格、可用性、位置和履行选项等属性。这些细节因商店而异...