跨聚合预测

问题描述 投票:0回答:1

我是 CQRS 和事件源领域的新手,正在尝试评估它是否适合我的情况。对于如何进行跨聚合投影,我将不胜感激。

我正在考虑提供小型专业人力资源相关服务。候选人提交简历,招聘人员提交职位空缺。对于我想要的任何切片和切块,命令和 CQRS 应该可以很好地工作,例如用于列出特定领域中薪酬最高的职位空缺。

但我无法全神贯注于建议。如果我有一个原始的推荐引擎来向寻找

elixir
技能的招聘人员推荐具有
elixir
技能的候选人,反之亦然,这是否意味着我需要在每个职位空缺上建立一个投影(很可能是一个 PostgreSQL 表) /候选人更新?甚至可能在每个小的聚合更改上重建整个表?

  • 这是正常的和预期的还是我错过了什么?
  • 或者从概念上讲,对候选人/招聘人员进行单独的预测并通过使用 sql JOIN 查询它们来“导出”推荐是否可以?即使推荐稍后会变得更加计算密集(例如需要调用机器学习模式)?
  • 或者这是已知建议的已知问题?
  • 你会怎么做?我将不胜感激任何指点。
cqrs event-sourcing
1个回答
0
投票

您可以做的更一般的事情之一是将与开发人员拥有给定技能以及招聘人员正在寻找给定技能相关的事件项目到每个技能事件流中(例如“开发人员 A 知道 elixir”、“招聘人员 Z需要长生不老药”)。

该流的消费者可以更新针对“向我提供匹配的开发人员和招聘人员”优化的表,例如

skill STRING,
user STRING,
user_type ENUM of "developer", "recruiter",
PRIMARY KEY (skill, user)  ;; could trivially shard this by skill

...但是消费者也可以做一些事情,比如使用文档存储来保存可能与该技能匹配的开发人员和招聘人员列表,或者机器学习算法可以使用事件并执行任何操作。

© www.soinside.com 2019 - 2024. All rights reserved.