从Gartner预测解读Neo4j支撑万亿数据规模的Fabric架构

2022-09-02 10:08:25 浏览数 (1)

@TOC[1] Here's the table of contents:

•一、Gartner预测•二、Fabric介绍•三、数据交易与数据标准•四、openCpher介绍•五、基于Fabric的LDBC数据规模测试方案•六、总结

Neo4j支撑万亿数据规模的Fabric架构解读

Neo4j通过万亿 关系图打破了规模障碍[2],更重要的是与其他供应商不同,Neo4j伸缩图形的方法不会影响读写性能。当技术架构解决了数据规模问题,可以更加快速的推动图数据技术方案落地。另外,Fabric的架构思想可以进一步推动机构间数据交易的发生与数据标准的落地。

一、Gartner预测

Gartner(高德纳,又译顾能公司,NYSE: IT and ITB)[3]是全球最具权威的IT研究与顾问咨询公司。在Gartner最新趋势预测报告中提出[4],未来10年图数据技术和数据编织Fabric相关的技术和产品将保持高速增长。 曾在2019年中Garter预测报告[5]中就提出图数据技术将会保持100%增长,这和目前市场趋势时是吻合的。2019年在澳大利亚悉尼举行的Gartner数据峰会上,Gartner发表了数据分析和数据库的十大最新预测。其中第五项是关于图数据的。 报告中提出【预测还挺准的:)】:图分析是一种分析技术,能够方便地处理和探索组织、人员和交易等感兴趣的实体之间的关系。到2022年,图分析处理和图数据库(DBMS)的应用将以每年100%的速度增长,从而不断加速数据准备、以实现更复杂和自适应的数据科学。根据Gartner的说法,图数据存储可以跨越数据孤岛、并有效地建模、探索和查询数据,但是目前拥有相关专业技能人才缺乏的限制了其采用。由于需要在复杂数据中提出复杂问题,图分析将在未来几年内高速增长;而使用SQL查询(在关系型数据库之上)实现相关分析是不切实际、甚至完全不可能的。 最近还有一个大新闻【行业前沿】Neo4j宣布3.25亿美元F轮投资,这是数据库历史上最大的投资[6]。自从出现这个新闻之后,Neo4j在db-engine上面的排名与第二名及以下的图数据库排名差距在进一步拉大。

二、Fabric介绍

Fabric是Neo4j 4.0中引入的新功能是一种在多个数据库中存储和检索数据的方法。此功能可以使用单个Cypher查询轻松查询同一数据库实例中的多个库/图,或多个数据库实例中的数据。 Fabric 提供了数据联邦和数据分片功能:数据联邦(Data Federation):能够访问分布式数据源中、彼此不相连的图中的数据。数据分片(Data Sharding):能够访问分布式数据源中结构相同的图,并且图的数据存储分布在不同库中。 Fabric是Neo4j 4.x的特性,这意味着它不适用于Neo4j 3.x版本。Fabric是一项仅限企业版的功能,这意味着它不适用于Neo4j社区版。但是可以下载企业版测试该功能,这篇文章介绍了如何快速拉起一个测试Getting Started with Neo4j Fabric[7]。

用户请求落在Fabric [Virtual] Database节点,查询请求自动路由到不同的图数据库集群执行,聚合关联网络之后返回。另外,实现如图所示的集群架构需要结合图数据模型的设计,避免重复查询,官方Fabric架构解读[8]。

•单个实例中的 Fabric部署

•无单点故障的结构部署

•Fabric部署可实现无单点故障的可扩展性

三、数据交易与数据标准

Fabric中文翻译为编织、纺织的意思,其实和数据的收集聚合有点类似意思,都是做聚合形成一个整体的东西。套用到数据工程中,就是对分散在不同存储引擎、不同部门和机构的数据进行聚合。 不同存储引擎:基于Neo4j开发工具包是非常灵活的,基于此特点可以扩展很多存储过程在Cypher中调用,使用存储过程调用MySQL、Oracle、SQL server、Elasticsearch、 MongoDB等存储系统的数据非常方便。 不同部门和机构:想象一个场景,企业A有一个图数据库集群存放企业经营数据相关的关联网络,企业B有一个图数据库集群存放企业舆情相关的图数据关联网络。传统的交易方式是,企业之间互相推送,彼此需要额外准备存储系统接收这些数据,中间需要开发一些ETL程序进行推送数据,经常面临数据更新推送不及时等问题,维护成本是比较高的。 参照Fabric架构思想,可以想象到一个应用场景是企业A和企业B各自维护自己的数据,而不需要互相推送数据,暴露出限制性只读连接即可通过openCypher进行统一查询。 企业之间数据交换行为的发生,可进一步推动行业内数据标准的落地。

四、openCpher介绍

中所述,企业之间数据交换的发生必须依赖一些基础技术,并且该技术存在行业标准。这里就不得不提一下openCpher这个项目了。开发SQL标准的国际委员会,正在推动GQL(Graph Query Language)标准的发展,这个标准的制定是基于openCypher进行的,点击访问openCypher[9]。

五、基于Fabric的LDBC数据规模测试方案

Linked Data Benchmarking Committee简称LDBC,是业界权威的衡量图数据库和图数据管理系统的参照标准发布机构。万亿图测试项目:trillion-graph[10],就是基于该机构发布的测试集进行的,该项目中包含1129台机器/分片,运行一个100TB (LDBC)数据集。从下图可以看到详细数据情况,2088亿节点1.04万亿关系。

六、总结

博主觉得基于Fabric架构通过openCypher技术实现图数据网络的交换和聚合是大规模复杂关联数据交易的完美实现。没有一家企业是可以掌握行业内所有数据的,即使通过供应商合作、爬虫采集等等方式也无法实现全量数据的掌握,只有互利共赢的合作模式才可以让数据流通起来,最大化数据价值

References

[1] TOC: 从Gartner预测解读Neo4j支撑万亿数据规模的Fabric架构 [2] Neo4j通过万亿 关系图打破了规模障碍: https://neo4j.com/press-releases/neo4j-scales-trillion-plus-relationship-graph/ [3] Gartner(高德纳,又译顾能公司,NYSE: IT and ITB): https://baike.baidu.com/item/Gartner/8864046 [4] Gartner最新趋势预测报告中提出: https://www.techrepublic.com/article/gartners-top-10-strategic-predictions-for-resetting-everything-in-2021-and-beyond/ [5] 在2019年中Garter预测报告: https://www.gartner.com/en/newsroom/press-releases/2019-02-18-gartner-identifies-top-10-data-and-analytics-technolo [6] 【行业前沿】Neo4j宣布3.25亿美元F轮投资,这是数据库历史上最大的投资: https://blog.csdn.net/superman_xxx/article/details/118034858?spm=1001.2014.3001.5501 [7] Getting Started with Neo4j Fabric: https://neo4j.com/blog/getting-started-with-neo4j-fabric/?ref=social-team&utm_source=GaggleAMP-Neo4j&utm_medium=LinkedIn (GaggleAMP)&utm_campaign=none (GaggleAMP)&utm_content=getting-started-with-neo4j-fabric-by-soham-dhodapkar-associa-2566395 [8] 官方Fabric架构解读: https://neo4j.com/docs/operations-manual/4.0/fabric/introduction/ [9] 点击访问openCypher: http://www.opencypher.org/ [10] 万亿图测试项目:trillion-graph: https://github.com/neo4j/trillion-graph

0 人点赞