图分析引擎技术方案调研

图分析引擎技术方案调研

图分析引擎-技术调研报告

先上调研结论:
金融领域相关图分析图查询引擎的建设,建议采用neo4j为内核进行研发图谱集群,可以部署到云平台自主运维或者选择服务厂商完全托管(建议自主运维);内核的选择,建议优先选择neo4j企业版的开源分支ongdb,其次是企业版。自主运维+使用开源分支,剩下必须要付出的成本只是本地服务器或者云服务器而已。

一、问题总结

1、AWS托管图数据库的运维工作量是否比Neo4j集群大幅降低?

运维工作量主要集中在集群的备份、恢复、维护、升级上,采用云托管的方式,确实会减少工作量。
neo4j也有对应的云提供商:
【GrapheneDB - 世界上第一个完全管理 Neo4j 图数据库】https://www.graphenedb.com/
【GraphStory - Neo4j 企业云提供商】https://www.graphstory.com/
另外借助neo4j的世界级强大社区支持力度,自主运维完全是可控的。

2、Neptune的三度及以上的查询效率比Neo4j如何?

neptune具有数量级的差距,neo4j性能更优。
性能详细信息请看附件:Neptune_vs_Neo4j-2020.pdf

3、AWS Neptune的总费用和企业版Neo4j比如何?

neptune按照时长收费。neo4j需要根据应用规模来确定收费方案。
企业版的价格主要取决对配置的要求。以下价格仅供参考。
套餐(服务器 x 内核) 价格(万美元/年)
3 x 8. 19.9
3 x 4. 9.9
2 x 4. 6.8
1 x 4. 3.6
企业版主要优势
1、集群(水平伸缩/高可用)
2、安全性
3、热备
4、诊断及调优工具
5、管控(对属性、节点等设置规则)
6、垂直伸缩(超过4核)
7、世界级支持等等
费用更多信息请看附件:Neptune_vs_Neo4j-2020.pdf

4、如果选用Neptune,从Neo4j向Neptune迁移是否有现有的解决方案?

迁移方案需要借助官方文档结合实际情况自行设计。

二、neo4j优势对比

1、数据模型对比

图数据存储的三种模型:超图、属性图、RDF。
neo4j采用属性图存储,对于在线应用场景,属性图在实时遍历数据关联关系时体现出了无以伦比的优势。超图非常适合元意图和RDF三元组的离线分析。

2、数据一致性模型 - ACID vs BASE

Neo4j使用ACID一致性模型来确保数据的安全性和一致性存储。
BASE模型数据存储更重视系统可用性(系统的可伸缩性非常重要),但它不能保证数据副本的写一致性。总的来说,BASE一致性模型提供了比ACID更弱的特性:数据在某个时刻将保持一致,无论是在读取时(如Riak),还是始终保持一致,但仅限于某些已处理的过去快照(如Datomic)。

3、neo4j原生图存储的天然优势

Neo4J所使用的后端存储是专门为Neo4J这种图数据库定制和优化的,理论上说能更有利于发挥图数据库的性能。而非原生图存储指的是图数据库,比如JanusGraph使用通用的NoSQL数据库比如HBase来保存序列化后的图数据。
原生图处理指的是利用了免索引邻接的图数据库。免索引邻接是指通过边关联的2个节点,其彼此指向是物理的,也就是通过边访问一个节点时,该边保存的就是目标节点在磁盘上的物理地址,这样就需要通过索引去找到目标节点,如果边很多的时候,对性能提升很有帮助。

4、社区活跃性与支持力度

neo4j国内外均有较为活跃的技术社区,发展稳定而且快速。可以得到世界级支持。neo4j上下游发展趋势类似elasticsearch的发展,不过elasticsearch是完全开源的。neptune还未形成成熟的技术交流社群。
neo4j中文社区:http://neo4j.com.cn/
neo4j官方社区:https://community.neo4j.com/ http://neo4j.com/

5、图查询语言

neo4j模式查询语言cypher的行业标准化认定,标准化的认定有助于推动图数据库的快速发展。
https://neo4j.com/press-releases/query-language-graph-databases-international-standard/
经过数年的努力和合作,2019年9月17日,ISO组织正式将基于Cypher的GQL(Graph Query Language)吸纳为数据库查询语言标准的一部分。正如SQL的标准化带来了关系型数据库的蓬勃发展一样,GQL也将非关系型数据的查询、处理提高到新的层面、带来巨大的应用前景。GQL工作组包含了来自Neo4j、Oracle、SAP等主要数据库和应用厂商,以及来自中国、瑞典、英国、美国等国的专家。

6、客户群体分析

neo4j的客户包含很多头部企业Adobe、ebay、airbnb、Microsoft、IBM、volvo、NASA、HP等等,来自多种行业包括金融、安全、互联网、媒体社交、硬件、生命科学、医疗等等行业。
Neptune官网客户列出这12个:
https://amazonaws-china.com/cn/neptune/
图分析引擎技术方案调研
Neo4j官网列出的客户128个:
https://neo4j.com/customers/
图分析引擎技术方案调研
金融业务相关的客户:
图分析引擎技术方案调研

7、基础数据规模评估

在进行技术选型或者付费方案选择的之前必须先对行业基础数据和业务应用场景做全面的评估。
\color{#FF3030}{数据}: 基本信息、新闻证券、工商数据、股权关系、供应商关系、创投类、投资人等等基础数据做全面的评估。
\color{#FF3030}{场景}: 风险分析、欺诈、新闻过滤分析等等应用场景做评估。
评估可以参考金融类企业的应用案例。

\color{#FF3030}{整体评估有助于技术架构的选择。}
可以根据数据规模情况,将不同类型、不同场景下的基础图谱,构建存储在不同集群中,分散数据压力提升系统\color{#FF3030}{扩展能力};对于图谱相关的一些详细属性信息可以存储到elasticsearch做复杂检索,同时可以用elasticsearch做为图检索的入口,有助于缓解图引擎节点的\color{#FF3030}{存储压力},让图引擎聚焦在图分析和图存储能力上面。另外时序类相关数据建议使用elasticsearch分析。

8、数据规模

neo4j社区版限制:节点-320亿,关系-320亿,属性-640亿。
neo4j企业版没有限制。
neotune官网公布数据量规模在10亿左右,与neo4j差距巨大。

9、付费还是开源

在完成基础调研的前提下,做出技术方案选型。综合考虑成本和技术实现难易程度,进行选择。
\color{#FF3030}{技术选型}:neo4j企业版>ONgDB>neo4j社区版
ONgDB\color{#FF3030}{ONgDB}:是neo4j-3.5企业版代码库完全闭源之后形成的一个分支,目前正在快速发展,性能与社区版有数量级差距,而且完全开源。亚马逊云提供商目前也有意将此项目添加到自己的云平台。
【neo4j开源代码库】https://github.com/neo4j-contrib/
【ONgDB开源代码库】https://github.com/graphfoundation
【ONgDB源码】https://github.com/graphfoundation/ongdb
【ONgDB网站】https://www.graphfoundation.org/
【ONgDB的云服务】https://hub.docker.com/r/graphfoundation/ongdb
https://github.com/graphfoundation/ongdb/issues/10
图分析引擎技术方案调研
ONgDB项目是在neo4j闭源其商业版代码库之前流出,现在存在法律纠纷(neo4j胜算较小)。另外ONgDB的发起组织也在快速更新。目前最新是3.6.0版本,与企业版neo4j-3.6.0版本功能基本一致。目前企业版neo4j已经更新到4.0版本,最大的特点是支持分库操作,ONgDB还不支持分库操作。

(1)、与ongdb的技术专家交流的邮件截图:

图分析引擎技术方案调研
图分析引擎技术方案调研https://cdn.graphfoundation.org/content/legal/neo4j-vs-purethink/CASE+NO.+5-19-CV-06226-EJD+OPPOSITION+AND+RESPONSE+TO+MOTION+TO+STRIKE.pdf
图分析引擎技术方案调研

(2)、neo4j技术专家对于ongdb项目的看法:)

图分析引擎技术方案调研

(3)、ongdb内核已经被很多人用来建设数据中心,社区非常活跃

图分析引擎技术方案调研
图分析引擎技术方案调研
图分析引擎技术方案调研

10、数据库世界排名

https://db-engines.com/en/ranking neo4j第21位,neptune第119位。
图分析引擎技术方案调研
图分析引擎技术方案调研

11、附件资料:技术指标对比与法律文书

【1】技术指标对比:neo4j与neptune指标对比。
【2】法律文书:neo4j与ONgDB的官司。