实时交易查询图数据库场景实现思路咨询

在联机交易场景,例如用户下单,想实时校验用户的特征信息是否存在风险,因为此时用户相关信息还没有入图,所以想实现上述场景,现在的思路是将用户信息先插入到图数据库中,然后执行N步查询判断是否包含风险节点。。。
因为实时交易场景对响应时间有较高的要求,所以想咨询下各位大佬,这种思路是否可行?也想咨询下咱们实际应用的场景中是否也有类似的场景,都是怎么实现的。多谢!

你好,现在是有很多这样的场景,从定位上来说,也是Nebula Graph的核心场景;
从数据更新和查询来说,有几种方式:

  1. 交易数据入图,查询为风险后,再删除该数据;
  2. 交易数据暂时不入图,查询的时候假设数据入图进行设计查询语句,确认无风险后再入图;

考虑到图的查询逻辑有时候会比较复杂,结合查询的延时,故查询链路又分成两部分:

  1. 同步链路,实时查询,实时风控;但因为时延要求比较高,不适合太复杂的图查询;
  2. 因为风控场景下,是以群体整体风险为主,单条交易的敏感性不高,更多的是看多笔交易,故也可以考虑用异步链路,异步计算,把图计算结果打到点的属性上,或者存到另外的KV存储上,提供给同步链路进行实时查询。
1 个赞

感谢老师回复,受教了。

关于这个没太理解,能举个例子吗?

发生一笔事件A->B,规则是:要判断交易后,A和B在不在一个环里,可以:

  1. 判断B->A这条路径是否存在;
  2. 假如1存在,则认为风险存在,因为新插入A->B,加上原来的B->A,就形成了环;
  3. 风险存在后,A->B这个事件中断,数据不进图;如果风险不存在,则A->B成功,数据进图
1 个赞

明白了,多谢指点。 :+1:

此话题已在最后回复的 30 天后被自动关闭。不再允许新回复。