Neo4j 研究
欢迎来到 Neo4j 研究,在这里我们将科学转化为技术。
在 Neo4j,我们构建图数据产品,让用户感到满意,并努力超越客户期望。我们的产品建立在丰富的、协作的计算机科学研究历史和扎实的工程基础之上。
Neo4j 研究是我们探索未来可能性的地方,既是为了增强现有产品,也是为了发现新的机遇。作为多学科的计算机科学家,我们与 Neo4j 的产品团队以及世界领先的研究机构合作,共同目标是加速图技术发展。
项目
在 Neo4j,我们对图数据堆栈的所有部分进行系统研究。我们目前正在进行一组多样化的项目,这些项目针对时间图用例、无领导者事务处理方法以及基于动态编程语言的新型查询运行时。

我们的目标是了解如何构建图处理系统,以适应现代云环境,这些系统比现有技术更强大,并与经典(关系型)方法有所区别。
当前的图数据库运行时使用与关系型数据库相同的技术和原理构建,这可能会抑制它们的性能和功能。根本问题是,图运行时必须处理大量的非规律性,这些非规律性源于模式可选性和从机器角度来看工作负载和拓扑的非规律性。
为了解决这些问题,我们正在构建一个受动态编程语言技术启发的下一代查询运行时。它允许我们通过动态代码优化来优化无模式图,并通过采用新的计算范式(如分散计算或使用专用硬件的加速计算)来扩展处理能力。

现代图数据库管理系统 (DBMS) 允许用户以数十亿到万亿的规模将现实世界的交互建模为一组节点和关系。但是,现有系统忽略了数据的时态维度:图如何随着时间的推移而演变。由于缺乏原生时态支持,因此实施了临时策略,这些策略仅在有效图工作负载的大小不同时才能实现良好的性能,例如本地模式匹配或全局图算法。
为了解决这个问题,我们设计了 Aion,这是一种事务型时间图 DBMS,它概括了以前针对标记属性图 (LPG) 的方法。Aion 直接建立在 Neo4j 之上,并采用混合时态存储方法。对于点查找和小子图查询,它使用 LineageStore,通过实体标识符索引图更新。对于需要在任意时间点进行完整图重建的查询,它使用 TimeStore,通过时间索引更新。
为了实现增量图计算以提高延迟,Aion 引入了内存高效的 LPG 表示。到目前为止,我们的实验表明,与现有的非事务型时态系统相比,Aion 的吞吐量高出 7 倍,并且与 Neo4j 相比,速度提高了 10 倍,而存储开销最小。

历史上,事务协议一直与它们支持的数据模型分离。因此,图数据库要么支持两种次优选择之一:要么是过于严格的协议,牺牲性能以保持正确性,要么是过于宽松的协议,提供更好的性能,但在正常操作中会损坏数据。
从长远来看,我们需要更好的选择。我们正在研究一种名为“多数结合”的方法,其中事务消息携带有关其前任的元数据。参与者使用此元数据与其本地状态进行比较,以确定兼容性。对于单分片事务,如果大多数参与者发现事务是兼容的,则它可以通过传统的两阶段共识协议进行。对于多分片事务,每个分片必须有多数,因此在一般情况下为“多数结合”。
我们进行了理论调查,以确定该方法在正确性方面的局限性(特别是图的互惠一致性)和全局约束。我们还在构建一个原型系统来评估该方法在现实条件下的性能。
出版物
Neo4j 拥有丰富的出版历史,并经常与大学和其他工业研究人员合作。
2024
通过 DBMS 可扩展性实现硬件高效的数据插补
George Theodorakis 等人
对现代图数据库系统中变长记录 B+ 树的实证评估
George Theodorakis、James Clarkson 和 Jim Webber
Seraph:属性图流上的连续查询
Stefan Plantikow 和 Hannes Voigt
Aion:高效的时间图数据管理
George Theodorakis、James Clarkson 和 Jim Webber
BIFROST:未来图数据库运行时
James Clarkson、George Theodorakis 和 Jim Webber
2023
分布式处理系统的时代提交协议分析
Jim Webber 等人
2022
分布式 OLTP 数据库中基于时代的提交协议的性能研究
Jack Waudby 和 Jim Webber
Pick & Mix 隔离级别:混合序列化图测试
Jack Waudby 和 Jim Webber
2021
纯 Java 中的 GraphBLAS 实现
Florentin Dörre、Martin Junghanns 等人
PG-Keys:属性图的键
Keith Hare 等人
未来是大图!关于图处理系统的社区观点
Stefan Plantikow、Petra Selmer、Hannes Voigt 等人
2020
对最终一致的分布式图数据库的逐渐退化建模
Jim Webber 等人
未来是大图!关于图处理系统的社区观点
Stefan Plantikow、Petra Selmer、Hannes Voigt 等人
2019
大图处理系统
Hannes Voigt 等人
动态变化数据集的有效查询处理
Hannes Voigt 等人
图数据库的模式验证和演化
Peter Furniss、Alastair Green、Hannes Voigt 等人
Period Index:用于范围和持续时间查询的学习型 2D 哈希索引
Hannes Voigt 等人
了解 Neo4j 中大型图的有效分析中的巨魔
David Allen、Amy Hodler、Michael Hunger、William Lyon、Mark Needham、Hannes Voigt 等人
图查询语言
Hannes Voigt 等人
使用 Cypher 更新图数据库
Alastair Green、Tobias Lindaaker、Stefan Plantikow、Mats Rydberg、Petra Selmer、Andrés Taylor 等人
属性图语言 Cypher 的近似查询
Petra Selmer 等人
2018
Cypher:属性图的不断发展的查询语言
Alastair Green、Tobias Lindaaker、Stefan Plantikow、Mats Rydberg、Petra Selmer、Andrés Taylor 等人
使用 GRADOOP 进行声明性和分布式图分析
Martin Junghanns、Max Kießling 等人
openCypher:属性图查询的新方向
Alastair Green、Martin Junghanns、Max Kießling、Tobias Lindaaker、Stefan Plantikow、Petra Selmer
2017
ACTiCLOUD:为下一代云应用程序提供支持
Jim Webber、Davide Grohmann 等人
2016
关于图数据库路径索引的调查
Jonathan Sumrall、Johan Svensson、Magnus Vejlstrup、Chris Vest、Jim Webber 等人
2012
Neo4j 的编程介绍
Jim Webber
图遍历模式
Peter Neubauer 等人
资金
Neo4j 建立在坚实的科研基础之上。研究是一项协作工作,我们与学术界同行合作,不断突破图数据领域的界限。我们为各种活动提供研究资金,从硕士阶段到项目和计划资金。
合作
以下列出了 Neo4j 目前和过去研究合作的例子。
正在进行的学术项目
纽卡斯尔大学(英国)
Neo4j 正在与由 Paul Ezhilchelvan 博士 和 Isi Mitrani 教授 带领的团队合作,研究图数据库的新型事务协议。这项工作涉及设计、建模、验证和实施适用于可扩展、容错图数据库的新型事务处理协议。这项工作是与团队中的博士生进行的持续合作,博士生有机会作为学习的一部分在 Neo4j 实习。
正在进行的学术项目
LIRIS(法国)
Neo4j 支持 Angela Bonifati 教授 及其团队正在进行的关于图查询语言的工作,包括 Neo4j 的 Cypher 和即将发布的 ISO GQL 标准。
多机构项目
ACTiCLOUD
一个由欧盟资助的 地平线 2020 研究项目,旨在为云创建弹性基础设施,包括具有大型聚合 RAM 和内核的服务器。作为这项工作的一部分,Neo4j 进行研究,以通过扩展 Cypher 运行时和查询计划程序以并行和 NUMA 感知的方式执行查询,来利用底层平台提供的聚合资源。
即使在标准硬件上,这项研究的结果也意味着 Cypher 查询可以并行化,并且其查询计划中已内置了局部性成本。从 Neo4j 5.13 开始,用户能够在数据库中高效地运行大型图分析作业,这些作业以前是计算平台的领域,使用并行运行时,无需自定义代码。
多机构项目
LDBC
Neo4j 是 链接数据基准委员会 (LDBC) 的创始成员。LDBC 是一个独立的机构,负责制定基准测试、基准测试程序以及验证/发布为管理连接数据而设计的软件系统的结果。自其成立以来,其他数据库供应商加入了该努力,包括:Oracle、IBM、AWS 和 SAP。
联系我们
如果您想与我们联系,请发送电子邮件
research@neo4j.com