Skip to content

Neo4j 历史发展

Neo4j的起源

2000-2003:概念萌芽

  • 2000年,Neo4j的创始人Emil Eifrem和Rickard Öberg开始研究图数据库的概念
  • 2003年,他们在斯德哥尔摩创立了Neo Technology公司(后来更名为Neo4j, Inc.)
  • 最初的研究重点是解决传统关系型数据库在处理复杂关联数据时的性能瓶颈

2004-2007:技术研发

  • 2004年,开始开发Neo4j的核心存储引擎
  • 2005年,发布了第一个原型版本
  • 2007年,Neo4j 1.0正式发布,成为世界上第一个商用图数据库

Neo4j的发展历程

2008-2012:早期发展

  • 2008年,Neo4j 1.0.1发布,引入了事务支持
  • 2010年,Neo4j 1.2发布,支持索引和查询优化
  • 2011年,Neo4j 1.6发布,引入了Cypher查询语言的早期版本
  • 2012年,Neo4j 1.8发布,支持高可用性集群

2013-2017:快速增长

  • 2013年,Neo4j 2.0发布,引入了标签(Labels)和约束(Constraints)
  • 2014年,Neo4j 2.1发布,支持索引改进和性能优化
  • 2015年,Neo4j 2.2发布,引入了Schema索引和查询计划
  • 2016年,Neo4j 3.0发布,支持Causal Clustering和 Bolt协议
  • 2017年,Neo4j 3.2发布,支持图形算法库和APOC扩展

2018-2022:成熟稳定

  • 2018年,Neo4j 3.4发布,支持因果一致性和更好的性能
  • 2019年,Neo4j 3.5发布,长期支持版本(LTS)
  • 2020年,Neo4j 4.0发布,支持多数据库和横向扩展
  • 2021年,Neo4j 4.3发布,支持向量索引和图数据科学库
  • 2022年,Neo4j 4.4发布,长期支持版本(LTS)

2023-至今:持续创新

  • 2023年,Neo4j 5.0发布,支持原生向量搜索和更强大的横向扩展
  • 持续改进Cypher查询语言和图算法库
  • 加强与现代数据栈的集成

Neo4j的重要里程碑

技术里程碑

  • 2007:第一个商用图数据库
  • 2011:引入Cypher查询语言
  • 2012:支持高可用性集群
  • 2016:引入Causal Clustering
  • 2020:支持多数据库和横向扩展
  • 2023:支持原生向量搜索

商业里程碑

  • 2010:获得A轮融资
  • 2013:获得B轮融资
  • 2018:获得C轮融资
  • 2021:获得D轮融资,估值超过20亿美元
  • 2023:在纳斯达克上市

Neo4j的版本生命周期

版本分类

  • 社区版(Community Edition):免费开源,适合学习和小型应用
  • 企业版(Enterprise Edition):商业版本,包含高级特性和支持
  • 数据科学版(Data Science Edition):专注于图算法和数据分析

版本支持政策

  • 短期支持版本(STS):支持6个月
  • 长期支持版本(LTS):支持至少18个月,通常为24个月
  • 扩展支持版本(Extended Support):额外付费获得更长时间的支持

主要LTS版本

  • Neo4j 3.5:2019年发布,支持至2022年
  • Neo4j 4.4:2021年发布,支持至2024年
  • Neo4j 5.15+:2023年发布,支持至2025年

Neo4j的技术演进

存储引擎

  • 早期:基于Java的存储实现
  • 2010年:引入原生图存储引擎
  • 2016年:优化的存储格式,支持更大规模数据
  • 2023年:向量存储支持

查询语言

  • 2011年:引入Cypher 1.0
  • 2015年:Cypher 2.0,支持更复杂的查询
  • 2020年:Cypher 4.0,支持多数据库
  • 2023年:Cypher 5.0,支持向量搜索

集群架构

  • 2012年:高可用性(HA)集群
  • 2016年:Causal Clustering
  • 2020年:多数据库支持
  • 2023年:更强大的横向扩展

Neo4j的市场地位

行业认可

  • Gartner魔力象限领导者
  • Forrester Wave领导者
  • DB-Engines图数据库排名第一

主要客户

  • 金融服务:摩根大通、美国银行
  • 零售:沃尔玛、eBay
  • 科技:Google、Microsoft
  • 医疗:默克、强生

生态系统

  • 丰富的驱动程序支持(Java、Python、JavaScript等)
  • 强大的社区和扩展库(APOC)
  • 与现代数据栈的集成(Spark、Kafka等)

常见问题(FAQ)

Q1: Neo4j的名称由来是什么?

A1: Neo4j的名称来源于"Network Enabled Objects for Java"的缩写,体现了其最初的设计理念:基于Java实现的网络对象数据库。

Q2: Neo4j是开源的吗?

A2: Neo4j提供社区版和企业版。社区版是开源的,基于GPLv3许可证;企业版是商业版本,包含高级特性和支持服务。

Q3: Neo4j适合处理什么样的数据?

A3: Neo4j适合处理高度关联的数据,如社交网络、推荐系统、欺诈检测、知识图谱等需要频繁查询关系的数据场景。

Q4: Neo4j与传统关系型数据库的主要区别是什么?

A4: Neo4j使用图数据模型,直接存储节点和关系,而传统关系型数据库使用表结构。在处理复杂关联查询时,Neo4j通常比关系型数据库性能更高。

Q5: Neo4j支持ACID事务吗?

A5: 是的,Neo4j从早期版本就支持完整的ACID事务,确保数据的一致性和可靠性。

Q6: Neo4j的最新版本是什么?

A6: 截至2026年1月,Neo4j的最新稳定版本是5.18,长期支持版本是5.15+。

Q7: Neo4j可以处理多大规模的数据?

A7: Neo4j企业版可以处理数十亿节点和关系,支持横向扩展,适合大规模生产环境。

Q8: Cypher查询语言与SQL有什么不同?

A8: Cypher是专为图数据库设计的声明式查询语言,使用模式匹配来查询关系数据,而SQL是为关系型数据库设计的,使用表连接来查询关联数据。Cypher的语法更直观,适合表达图查询。