《我应该使用什么技术?》一直是开发者心中的困惑点之一。结合实际,大部分开发者会选择自己熟悉的工具,而不是最好的工具。除了现有知识和技术等个人限制外,还有其他因素会影响决策者,包括需要同事的支持、管理层的认可,以及新解决方案的分配学习成本,或投入产出比。不为人知的“恐惧”……当然,如果以上都不是问题,而且你非常愿意甚至想了解图数据库在哪些场景下可以成为更好的工具,那么在本文中,笔者将重点关注对比介绍,帮助您评估图数据库是否适合您的业务实践。图数据库什么时候适合用?想到这个问题,我们不妨分析一下图数据库在什么情况下不适合使用。1数据量小的业务场景虽然需要连接多张表,但由于数据量小,传统关系型数据库也可以进行快速查询分析。假设你只需要勾选“你朋友的朋友”。在基数比较小的情况下,只需要连接两个表,就可以使用传统的关系型数据库了。从技术角度来看,在关系型数据库中,涉及多张表的关联查询会导致计算效率呈指数级下降。其背后的原因是笛卡尔积问题的存在。比如两张表的table-join带来的实际计算复杂度其实是一种乘积关系。如果是三张表,每张表10000行,10000×10000×10000,已经是1万亿的复杂度了。2、业务场景数据只有1-step和2-step邻居。虽然业务数据量很大,但可能用不到图数据库,因为涉及的关系很浅。但是如果涉及到关联10步的邻居(hops),那么就需要加入10次甚至更多,这也意味着计算要求非常高,耗时更长,成本也越来越高.相信很多开发者都经历过这种Join到“崩溃”的时刻。比如用关系数据库和图数据库做深度渗透,从第2层到第5层,性能差异呈指数级增长。比如在一楼,两者可能没有本质区别,但是从二楼开始,就会有指数级的变化。一般来说,业务人员选择使用传统数据库进行4-5层渗透,通常无法完成复杂的查询任务。图:从关系数据库(SQL)到图数据库(GQL)3个业务场景不需要数据关联、下钻和查询分析。如果只需要查单个表,则不需要使用图技术。比如你只需要设置访问过你公司官网的人数。从技术角度来说,只需要在表中存储ID、姓名和电话号码,而无需保留客户的更多信息。因此,该列不会发生变化,这是关系数据库中的常见做法。该图非常适用于集合多种元素类型的复杂场景,可以轻松适应不断变化的业务场景需求。比如你有很多交易数据,但是不需要连接、关联或者继续下钻查询分析人、转账、时间、设备、行为轨迹之间的关系,那么图技术就是不适合您的解决方案。但是我们知道,很多业务场景,比如银行账户之间的交易行为,本身就是一个复杂的多层嵌套关系。在这个嵌套的关系网络中,其实还有更多值得挖掘的信息。更多的行为还有待抽取,需要通过图等高维数据度量的技术来解决。图:图数据库可以实现快速的数据关联值提取4.业务场景对实时性要求不高。如果业务场景对实时性要求不高,可以做离线分析,不需要覆盖到很深的业务,可以使用关系型数据库。.相比之下,图数据库可以在毫秒级内快速遍历数据并检索和分析结果。所以,开发者选择某项技术的前提还是在于你对业务场景需求和技术优势的研判。例如,对时效性要求非常高的电信反欺诈场景,需要一个实时在线决策系统解决方案,能够处理每笔交易的拦截,包括实时合成、实时规则运行、风控引擎.规则的运行等必须在20毫秒内完成。事实上,在20毫秒内,图数据库可能已经运行了几十个QPS,因为几十个子查询完成了各种维度和规则的操作,最终构成了允许或阻止交易的决定。图:图数据库实时风控交易可视化另外,当大多数技术认为业务没有实时性要求时,正是因为技术制约了业务——技术架构过去是批处理的,因为无法实现实时计算行为。在相同投资的情况下,实时性能永远比T+1系统更有价值,更能为业务赋能。综上所述,希望能让大家在评估某些业务场景时,对是否选择图技术有一个直观的认识。虽然以上内容并不全面,但基本上涵盖了最常见和最容易识别的情况。当然,如果图片是您评价后的选择,希望能帮助您事半功倍——工欲善其事必先利其器!图:Gartner5层数据模型分析5总结什么是图数据库?·图数据库是基于数学中图论的思想和算法,高效处理复杂关系网络的新型数据库系统;·图数据库擅长高效处理庞大、复杂、相互关联、多变的数据。计算效率远高于传统关系型数据库;图数据库广泛应用于社交网络、金融领域、人工智能等领域。为什么要使用图数据库?·世界本身是由各种关系连接起来的;·图本身特有的高维能力;·可解释的AI(白盒);·建筑发展的必然;·企业发展的核心需求。
