Recommendation systems and search engines are standard tools that modern applications use to address information overload. Developing a recommendation system from scratch requires a significant investment of time and money. This approach also struggles to meet business demands for rapid deployment and continuous algorithm iteration. This topic describes how to use Alibaba Cloud products to create the data and models for a recommendation system. This lets you quickly build your own recommendation system.
Architecture
A complete recommendation flow includes modules such as recall, sorting, filtering, and re-ranking. The recall module selects a list of items to recommend from a massive pool of candidates. The sorting module ranks each item in the recommendation list based on its relevance to the user. The architecture of a recommendation system is as follows: 
The architecture of a recommendation system implemented on Platform for AI (PAI) is as follows. For more information, see What is the Recommendation System Development Platform PAI-Rec?.

The components are as follows:
-
Offline data, which includes user attribute tables, item attribute tables, and behavior data, is stored in MaxCompute. For more information about specific data formats, see Data Preparation.
-
Real-time user behavior, such as exposure, click, and purchase behavior, is written to DataHub. For more information, see Real-time Behavior Log Table.
-
You can use DataWorks for data pre-processing and basic feature construction. We recommend using PAI-Rec (What Is the Recommendation System Development Platform PAI-Rec?) to configure code, generate recommendation algorithm flows, and deploy them to the DataWorks platform to efficiently build recommendation systems.
-
You can write online features to a feature database (FeatureDB) using the PAI-FeatureStore interface. For more information, see feature database FeatureDB.
-
The sorting module for customized recommendation solutions lets you configure coarse-grained and fine-grained ranking algorithms. For more information, see Sorting configuration.
-
You can use the PAI-Rec engine configuration form to orchestrate the recommendation algorithm flow.
-
Finally, your backend system invokes the recommendation engine interface to retrieve the recommendation results.
Related Resources for Recommendation Systems
-
We strongly recommend that new users follow the Best practices document for PAI-Rec modular recommendation algorithm customization and use the data provided in the document to familiarize themselves with the PAI-Rec recommendation development platform.
-
Watch the Build a Recommendation System from Scratch video to learn how to quickly build a simple recommendation system based on collaborative filtering.
-
For more information about FeatureStore capabilities, see FeatureStore overview. You can use PAI-FeatureStore to allow multiple models to share offline and online features.
-
For more information about feature storage, see Feature Database (FeatureDB).
-
For more information about the features and usage of the retrieval engine, see Retrieval Engine Overview.
-
PyTorch-based open-source recommendation algorithm framework: TorchEasyRec.
-
TensorFlow-based open-source recommendation algorithm framework: EasyRec.