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 建立在坚实的科研基础之上。研究是一项协作工作,我们与学术界同行合作,不断突破图数据领域的界限。我们为各种活动提供研究资金,从硕士阶段到项目和计划资金。

硕士论文

欢迎计算机科学或相关学科的未来硕士生联系我们,了解论文级项目机会。学生将得到我们研发团队的支持,为他们的论文构建和评估真实世界数据库实现。 

Hannes Voigt 等人
过去,Neo4j 接待过来自 埃因霍芬理工大学瑞典皇家理工学院莱比锡大学慕尼黑工业大学隆德大学 的学生。

博士奖学金

凭借与领先的科研型大学成功合作的往绩,Neo4j 能够为博士生提供少量奖学金,用于研究图数据库和相关领域的感兴趣的研究领域。可用的奖学金通过合作大学宣布。

此前,Neo4j 赞助了来自 纽卡斯尔大学伦敦大学伯贝克学院 的学生。

博士后资助

Neo4j 研究人员与领先的研究机构合作解决最具挑战性的图数据库研究问题。合作大学可以获得资金,用于聘用博士后人员进行图数据库的中期系统研究。

目前,Neo4j 与 纽卡斯尔大学LIRIS加州大学伯克利分校 合作。

合作

以下列出了 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。