写点什么

Neo4j:基于 Java 的 NoSQL 图形数据库

  • 2010-02-28
  • 本文字数:1454 字

    阅读完需:约 5 分钟

在经过几年的开发后,近日 NeoTechnology 发布了基于 Java 的图形数据库 Neo4j 1.0 ,它遵循着属性图形数据模型。InfoQ 有幸采访了NeoTechnology 的COO Peter Neubauer 以深入了解此次发布的 Neo4j 及其向开发者所提供的功能。

Neo4j 的核心 JAR 文件大约有 440k,既有基于 AGPLv3 的开源版本,也有商业版本。如果在闭源软件中使用 Neo4j 则需要商业协议。Neo4j 中的信息主要通过如下 3 个基本的构建块表示:

  • Node (又叫做vertex)——从概念上来说,这类似于对象实例,拥有唯一的 ID。
  • Relationship (又叫做edge)——它连接了两个 Node,此外还有方向和 RelationshipType
  • Property(又叫做attribute)——他们是字符串类型的 key/Object 值对,Node 与 Relationship 都有 Property。

相对于关系数据库来说,图形数据库善于处理大量复杂、互连接、低结构化的数据,这些数据变化迅速,需要频繁的查询——在关系数据库中,这些查询会导致大量的表连接,因此会产生性能上的问题。Neubauer 详细解释了这一点:

Neo4j 重点解决了拥有大量连接的传统 RDBMS 在查询时出现的性能衰退问题。通过围绕图形进行数据建模,Neo4j 会以相同的速度遍历节点与边,其遍历速度与构成图形的数据量没有任何关系。此外,Neo4j 还提供了非常快的图形算法、推荐系统和 OLAP 风格的分析,而这一切在目前的 RDBMS 系统中都是无法实现的。

由于 Neo4j 是个数据库,因此对图形结构的访问——读、写及遍历都是通过 ACID 事务系统进行管理的。图形遍历是通过 Traverser API 进行管理的,此外还借助于 Lucene 提供了对索引的支持,与 Solr 的集成也仍在开发当中。大家可以查看NeoTechnology CEO Emil Eifrem 讲座以深入了解 Neo4j,此外还可以观看对 Peter Neubauer 的采访

在被问到关于 NoSQL 运动的立场时,Neubauer 说到:

当然支持 NoSQL 运动了,因为我们正在解决 RDBMS 目前所没有解决的问题。这就是说,我们首先关注的是数据、深度查询和分析的复杂性以及 RDBMS 中需要很多连接和稀疏表才能完成的操作;此外,很多其他的 NoSQL 项目正在努力解决可伸缩性和分片(sharding)等问题。

Neubauer 说到:虽然 Neo4j 1.0 最近才发布,但在某些领域的产品中已经使用 7 年多了,此次发布的 1.0 版的重点并非代码基的稳定性而是 API 的稳定性。Neo4j 的性能也得到了极大的提升,无须修改代码就能够处理拥有数十亿对象的图形;正常来说,Neo4j 每秒能够读取 200 万个关系,同时最短路径计算的可伸缩性要远远好于关系数据库,如 MySQL 等(虽然使用了相同的性能基准,但众多的因素如硬件和数据集等都会对结果产生比较大的影响)。

除了主要的 Neo4j 代码基以外,还有一个贡献者与用户所构成的社区和一个庞大的生态圈,这里列举出几个:

关于 Neo4j 的未来计划,最近一轮的资金将有助于未来的进一步开发,包括对现有的主/从复制的增强、在线的备份支持以通过最终的一致性和write-master 重选来提供无缝的高可用性、更棒的全局操作支持以及完整的REST 支持(包括基于JavaScript 的动态遍历和用于数据发布的只读模式)等等。长远计划包括对分片(sharding)的支持(这会给Neo4j 代码基带来全新的挑战),Emil Eifrem 还表示用户与开发者所构成的庞大且快速增长的社区(已经创建了数百个Neo4j 项目)是非常重要的。

查看英文原文: Neo4j: Java-based NoSQL Graph Database

2010-02-28 06:0312929
用户头像

发布了 88 篇内容, 共 273.7 次阅读, 收获喜欢 9 次。

关注

评论

发布
暂无评论
发现更多内容

06月24日刚出的社招岗位大家快投吧!

Y11

面试 找工作 大厂

火山引擎向量数据库 Milvus 版正式开放

火山引擎开发者社区

火山引擎

通义灵码用户说 | 编程智能体+MCP加持,秒查附近蜜雪冰城

阿里巴巴云原生

通义灵码

鸿蒙商业化实战:IAP Kit构建安全文档付费体系

huafushutong

HarmonyOS SDK应用服务

ITSM 与自动化联动,让运维工作轻松翻倍

智象科技

自动化 ITSM 自动化运维 一体化运维

鸿蒙实时协同实战:Live View Kit打造沉浸式文档批注系统

huafushutong

HarmonyOS SDK应用服务

AI 技术在英语学习中的主要应用

北京木奇移动技术有限公司

AI教育 软件外包公司 AI英语学习

字节跳动开源了一款 Deep Research 项目

火山引擎开发者社区

火山引擎

通义灵码用户说 | 编程智能体+MCP加持,秒查附近蜜雪冰城

阿里云云效

通义灵码 Qwen

如何系统化搭建超智融合算力架构 | 龙蜥大讲堂

OpenAnolis小助手

操作系统 龙蜥社区 龙蜥大讲堂 超智融合算力

鸿蒙文档解析实战:Reader Kit实现合同智能解构

huafushutong

vRDMA 发布,助力云上 VPC 内高性能通信

火山引擎开发者社区

火山引擎

FORCE 开发者论坛 | 火山引擎发布多款 Agent 开发工具

火山引擎开发者社区

火山引擎

鸿蒙地理可视化实战:Map Kit实现智能文档位置洞察

huafushutong

HarmonyOS SDK应用服务

超实用!SpringAI提示词的4种神级用法

电子尖叫食人鱼

数据库 前端

鸿蒙PDF引擎实战:PDF Kit实现亿级文档极速渲染

huafushutong

语音生成+情感复刻,Cosyvoice2.0 极简云端部署

阿里巴巴云原生

阿里云 Serverless 云原生 函数计算

枫清科技受邀参加2025数据智能大会

Fabarta

人工智能 科技 数据智能大会

IDM使用教程之如何下载网页中的视频资源,电脑网页上的视频怎么保存到本地

阿拉灯神丁

视频下载器 内容嗅探 IDM 网页视频下载工具 如何下载网页视频

鸿蒙场景融合实战:Scenario Fusion Kit实现跨文档智能关联

huafushutong

启信宝联合六大数交所共同编制,《企业数据治理实践白皮书》发布

合合技术团队

人工智能 算法 大数据‘’

鸿蒙健康守护实战:Health Service Kit实现智能文档工作监护

huafushutong

HarmonyOS SDK应用服务

鸿蒙智能提醒实战:Notification Kit实现文档关键节点零遗漏

huafushutong

鸿蒙文档预检实战:Preview Kit实现合同风险智能预判

huafushutong

鸿蒙智能文档治理实战:File Manager Service Kit实现企业级文件管理

huafushutong

HarmonyOS SDK应用服务

鸿蒙地理围栏实战:Location Kit实现智能文档地理围栏

huafushutong

HarmonyOS SDK应用服务

鸿蒙支付安全实战:Payment Kit构建文档服务可信交易体系

huafushutong

什么是OA 系统?OA 系统要具备什么样的功能?

积木链小链

数字化转型 智能制造 OA系统

鸿蒙互动化实战:Game Service Kit重塑文档学习体验

huafushutong

HarmonyOS NEXT

编程简单了,部署依旧很难|Karpathy 演讲的 5 点解读

阿里巴巴云原生

阿里云 云原生

鸿蒙智能催办实战:Push Kit实现文档流程零延迟推进

huafushutong

Neo4j:基于Java的NoSQL图形数据库_Java_Michael Hunger_InfoQ精选文章