Chapter 7. Serving Models and Architectures

As we think about how recommendation systems utilize the available data to learn and eventually serve recommendations, it’s crucial to describe how the pieces fit together. The combination of the data flow and the jointly available data for learning is called the architecture. More formally, the architecture is the connections and interactions of the system or network of services; for data applications, the architecture also includes the available features and objective functions for each subsystem. Defining the architecture typically involves identifying components or individual services, defining the relationships and dependencies among those components, and specifying the protocols or interfaces through which they will communicate.

In this chapter, we’ll spell out some of the most popular and important architectures for recommendation systems.

Architectures by Recommendation Structure

We have returned several times to the concept of collector, ranker, and server, and we’ve seen that they may be regarded via two paradigms: the online and the offline modes. Further, we’ve seen how many of the components in Chapter 6 satisfy some of the core requirements of these functions.

Designing large systems like these requires several architectural considerations. In this section, we will demonstrate how these concepts are adapted based on the type of recommendation system you are building. We’ll compare a mostly standard item-to-user recommendation ...

Get Building Recommendation Systems in Python and JAX now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.