发布在即!企业 AIGC 应用程度测评,3 步定制专属评估报告。抢首批测评权益>>> 了解详情
写点什么

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

公众号推荐:

2024 年 1 月,InfoQ 研究中心重磅发布《大语言模型综合能力测评报告 2024》,揭示了 10 个大模型在语义理解、文学创作、知识问答等领域的卓越表现。ChatGPT-4、文心一言等领先模型在编程、逻辑推理等方面展现出惊人的进步,预示着大模型将在 2024 年迎来更广泛的应用和创新。关注公众号「AI 前线」,回复「大模型报告」免费获取电子版研究报告。

AI 前线公众号
2010-02-28 06:0312651
用户头像

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

关注

评论

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

分享主流的10个流程管理软件

PingCode

流程管理 流程管理软件

一天吃透Git面试八股文

程序员大彬

git 面试

大型供应链物流企业的数字化转型方法论

明道云

将老人拉出无声的世界,AI是怎么做的?

脑极体

AI医疗

从混乱到完备:我的研发流程之路

SkyFire

研发流程

AutoCompleteTextView的基本使用

攻城狮Wayne

android 控件 AutoCompleteTextView

工作一年,我重新理解了《重构》

阿里巴巴中间件

阿里云 云原生 重构

使用OpenAI接口释放ChatGPT API 的力量

devpoint

React nextjs ChatGPT

在前端领域摸爬滚打7年,我终于掌握了这些沉淀技巧

小鑫同学

Matlab常用图像处理命令108例(二)

timerring

图像处理

JavaScript异步编程的深入理解,使用回调函数实现异步编程

兴科Sinco

JavaScript 前端 前端开发 异步编程

如何设计一个优秀的 Go Web 项目目录结构

江湖十年

Go 设计 后端 项目 Web Service

架构实战 8 - 消息队列MySql表格设计

架构实战营 「架构实战营」

强强联合:Neovim+ChatGPT | 社区征文

SkyFire

ChatGPT neovim

前端学习路径

阡陌r

经验分享:高德地图如何短时间快速完成春节出行备战工作?

阿里巴巴中间件

阿里云 云原生 函数计算

【分布式技术专题】「分布式技术架构」一文带你厘清分布式事务协议及分布式一致性协议的算法原理和核心流程机制(上篇)

洛神灬殇

分布式 2PC 3PC 原理分析 分布式协议

Kubernetes容器状态探测的艺术

俞凡

Kubernetes 云原生

架构训练营-模块9秒杀系统

张Dave

One-YOLOv5 v1.2.0发布:支持分类、检测、实例分割

OneFlow

人工智能 深度学习

国内AGV调度系统到底是什么水平?

申扬科技

调度系统 AGV

前端学习

阡陌r

极氪汽车 APP 系统云原生架构转型实践

阿里巴巴中间件

阿里云 云原生

Portraiture2023人像免费磨皮插件

茶色酒

Portraiture2023

Spinner(列表选项框)的基本使用

攻城狮Wayne

android spinner galley

LeSS敏捷框架高效生产力实践

俞凡

敏捷开发 大厂实践

28岁小公司程序员,无车无房不敢结婚,要不要转行?

程序员晚枫

程序员 收入

初识大热的ChatGPT的几点思考|社区征文

穿过生命散发芬芳

ChatGPT

FL Studio21中文语言版水果编曲工具

茶色酒

FL Studio21

订单超时怎么处理?我们用这种方案

阿里巴巴中间件

阿里云 云原生

YOLOv5全面解析教程⑥:模型训练流程详解

OneFlow

人工智能 深度学习

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