对于具有由机器学习驱动的推荐系统的Web应用程序,我们正在考虑在对象之间存储引用的位置;在我们的数据库表中或在我们的推荐系统内(通过API访问)?
系统的工作原理如下:
用户选择一种或多种成分
发送给推荐API的选定成分的相应uid
API返回成分ID列表(推荐)
从数据库中检索的成分列表数据(例如名称,图像等)并显示在网页上
在同一网页上,对于每个成分列表,以下参考信息应显示:
注意:这是一个过于简单的例子。实际上,我们必须处理数百个这样的引用
传统解决方案 - 在表格中存储引用
在这种情况下,API simple返回推荐成分id的列表:
{
recommendations: [ingredient1, ingredient2 ...]
}
这些id用于从我们的数据库中检索成分信息和类别信息(名称,图像等......):
- ingredient
- id
- name
- imageUrl
- categoryId --> Reference to category table
- category
- id
- name
- iconUrl
替代解决方案 - 在推荐系统中存储参考
在这种情况下,API将发回成分对象列表 incl。参考:
{
ingredientId1: {
categoryReference: categoryId
...
},
ingredientId2: {
categoryReference: categoryId
...
}
...
}
这样可以在没有引用的情况下保持数据库简单:
- ingredient
- id
- name
- imageUrl
- category
- id
- name
- iconUrl
我们对这种“替代”解决方案的喜欢之处在于它使得更改参考变得非常容易。数据库表中没有数百个参考列可供维护。
根据您过去的经历,非常热衷于倾听您的想法。
提前致谢