李锋镝的博客

  • 首页
  • 时间轴
  • 说说
  • 读书观影
  • 系列
  • AI工具集
  • 论坛
  • 友圈
    • 友链
    • 朋友圈
    • 游客中心
  • 留言
    • 留言
    • 走心评论
  • 关于
    • 关于本站
    • Now
    • 每日心情
    • 网站地图
    • 网站统计
    • 赞助
  • 星球穿梭
  • 🚇开往
静亦定 动亦定
惟坚韧者始能遂其志
  1. 首页
  2. 转载
  3. 技术
  4. 正文

图数据库选型:Neo4j、Janus、HugeGraph

2023年1月11日 233 0 0
本文最后更新于 2023年1月11日,距今已 1394 天,其中的信息可能已经发生变化,请注意甄别。

图数据库(Graph Database)是一种以图结构进行存储和查询的数据库。本文总结了图数据库选型的各类因素,并对比了3个主流开源图数据库:Neo4j、JanusGraph、HugeGraph。Neo4j是老牌的图数据库,JanusGraph是非常成功的开源图数据库TitanDB的Fork版(TitanDB已经不维护了),HugeGraph是百度开源的图数据库。下面表格是具体的对比内容,共比较了30多个指标,包括生态、功能、性能、工具链等维度,分享出来给大家作为参考:

对比点

Neo4j

JanusGraph

HugeGraph

品牌知名度

最高

高

国际知名度一般,国内知名度高

开源生态

社区版开源,但较多限制,

商业版闭源

开源,兼容Apache Tinkerpop生态,

主要由IBM提供云上服务

开源,兼容Apache Tinkerpop生态,

由百度领头,提供本土化技术与服务

图查询语言

Cypher

Gremlin

Gremlin

适用场景偏向

人工智能、欺诈检测、知识图谱等场景

云服务商、具备技术能力深厚的厂商

互联网大规模数据场景,网络安全、金融风控、广告推荐、知识图谱等

支持数据规模

社区版十亿级

百亿级以上

千亿级以上

大规模数据写入性能

在线导入速度慢,脱机导入速度较快

较慢

在线导入速度快,支持覆盖写

大规模数据查询性能

快

较快,性能抖动较严重

快,较稳定

功能完善程度

最完善

完善

完善

Feature迭代速度

趋于完善,新功能上线较慢

Fork自Titan,主要提供后端存储的版本兼容适配,基本很少上线新Feature

百度自研,2016年项目启动,开源社区新功能迭代更新快速

开放及可扩展性

无法扩展

可扩展,不过代码复杂导致难度较大,内置支持4种后端存储:HBase、Cassandra、Bigtable、Berkeley

可扩展,插件化机制扩展容易,内置支持6种以上后端存储:RocksDB、Cassandra、HBase、ScyllaDB、MySQL、PostgreSQL等

数据导入工具

支持CSV在线导入,速度在1万/秒内;支持neo4j-import脱机导入,速度在10万/秒级别,只能用于初始化导入

未提供支持

支持在线导入,速度在10万/秒级别,支持格式丰富:CSV、TXT、Json,支持从HDFS导入并兼任其各类压缩格式,支持从传统关系型数据库导入,包括MySQL、Oracle、PostgreSQL、SQL-Server等,支持从消息队列导入

数据备份恢复

支持脱机备份与恢复,需停机状态,

商业版支持在线增量备份与脱机恢复

未提供支持,需要用户手动写程序

支持在线远程备份,支持在线远程恢复

数据增量备份

商业版支持,且支持备份数据加密

不支持

不支持

API与客户端

支持HTTP API,支持Java、C#、JS语言版本的Client

支持HTTP API或WebSocket,支持Java、Python、C#、JS语言版本的Client

支持HTTP RESTful API,原生仅支持Java语言Client;

支持Gremlin API,如果对外暴露Gremlin-Server后可支持Java、Python、C#、JS语言版本的Client

可视化界面

支持,功能丰富

不支持,需要用户集成第三方界面

支持,功能丰富,支持可视化的数据建模、导入、分析等

内置常用图算法

提供安装算法包,提供了丰富的基本图算法,包括路径搜索、相似性、中心性、社区检测、链接预测等类别的算法

不支持

内置提供了基本的图算法,包括路径搜索、协同推荐、中心性、社区发现等类别的算法

支持图计算平台集成

未提供支持

支持Spark GraphX、Giraph等

支持Spark GraphX

基础功能

(属性图的增删该查、持久化存储、元数据、事务、缓存、查询优化、增量更新图)

支持

支持

支持

ACID事务

支持

部分支持,根据后端存储而定,Berkeley后端可完整支持事务,

Cassandra后端支持原子性提交事务,HBase后端仅支持单行原子性理解,可能导致多行数之间据不一致

部分支持,根据后端存储而定,MySQL、PostgreSQL后端可完整支持事务,RocksDB、Cassandra后端支持原子性提交事务,HBase后端仅支持单行原子性;保证最终一致性

Schema约束

商业版支持,包括属性非空、唯一性等约束,同时也支持Schema-Free

支持,同时也支持Schema-Free

支持,包括模式校验、属性非空、唯一性等约束,不允许Schema-Free

属性索引

支持简单索引和复合索引,支持全文索引,依赖第三方Lucene库

支持复合索引和混合索引,复合索引允许精确匹配查询,混合索引支持范围查询、全文检索和空间检索,依赖第三方系统ES或Solr

支持二级索引、范围索引、联合索引、全文索引,允许精确匹配查询、范围查询、全文检索等,均为原生实现不依赖第三方系统,不支持空间检索

图存储类型

本地存储

非本地存储,支持分布式存储

非本地存储,支持分布式存储

图分区

不支持

支持

支持

超级点问题

超级点的邻接边查询慢,十字链表存储结构难以加速部分边的查询

通过Vertex-Centric索引可缓解

通过Vertex-Centric索引可缓解,支持全量获取数据

多图实例

版本4.0支持

支持

支持

主键ID、自定义ID

不支持

不支持主键ID,有限制的支持自定义Long ID,不过会导致数据不一致

支持

顶点或边数据的TTL

不支持

支持,可精细到顶点属性粒度

支持

用户认证与权限控制

商业版支持

支持用户认证

支持用户认证、支持基于用户角色的权限控制

高危查询语句限制

Cypher无关

不支持Gremlin高危语句限制

支持,可限制用户执行高危Gremlin语句,如禁止访问本地文件、退出进程、打开Socket连接等高危操作

运行中语句跟踪

商业版支持,包括:列出正在运行的查询语句、中断正在运行的查询

不支持

同步Gremlin查询不支持跟踪,异步Gremlin查询支持状态跟踪和任务取消

LDAP集成

商业版支持

未提供支持

未提供支持,可扩展插件

高可用HA

商业版支持

未提供支持

商业版支持

监控

商业版支持

支持Metrics监控

支持监控接口

参考:

  • https://neo4j.com/docs/operations-manual/current/introduction/

  • https://docs.janusgraph.org/

  • https://hugegraph.github.io/hugegraph-doc/

本作品采用 知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议 进行许可
分享到

图数据库选型:Neo4j、Janus、HugeGraph

也可使用浏览器菜单中的「分享」功能

微信扫一扫分享

标签: Neo4j 数据库
最后更新:2023年1月11日

岁月同一天 11 月 6 日

回望过去的今天,你在写什么

  • AI
    1 年前 2025年11月6日
    AI能写代码,却造不出软件:软件工程的核心竞争力从未改变

    “我用AI拼了个Demo,就差上线了,能帮我变成产品吗?” 最近越来越多非技术从业者带着这样的需求找上门——他们可能是律…

  • 代码人生
    1 年前 2025年11月6日
    西蒙学习法实战指南:6个月攻克新领域,从入门到能用的高效路径

    作为IT从业者,我们每天都面临新技术的冲击——今天是AI大模型,明天是云原生,后天是低代码开发。有限的时间与无限的学习需…

  • AI
    1 年前 2025年11月6日
    从Token到计费:大模型背后的文本编码逻辑与商业本质

    你是否有过这样的困惑?——给大模型发一段500字的中文需求,却被扣除了800多个Token;同样一篇文章,在GPT-4中…

  • 6 年前 2020年11月6日
    8条经验轻松上手IDEA插件开发

    IDEA作为我们(后端Java开发者)必不可少的IDE,以其智能的代码提示、多样的框架支持、简洁的开发界面等特性,被业界…

  • 其他
    7 年前 2019年11月6日
    架构师究竟比高级开发厉害在哪?

    目前我在互联网公司里干了1年多,接触了多位技术和业务的架构师,由于我正在升级到架构师,所以能直观地感受到高级开发和架构的…

  • 转载
    7 年前 2019年11月6日
    如何在面试中介绍自己的项目经验

    在面试时,经过寒暄后,一般面试官会让介绍项目经验 。常见的问法是,说下你最近的(或最拿得出手的)一个项目。 根据我们的面…

相关文章
  • 在 SQL 中做范围查询时,使用 BETWEEN AND 和直接用 >/</>=/<= 这类比较运算符,哪一个的性能更优。2026年1月15日
  • 数据库事务的隔离级别2021年6月2日
  • 千万级大表新增字段实战指南:告别锁表与业务中断2026年1月15日
  • 分库分表正在被淘汰?NewSQL与分库分表的深度博弈与选型指南2025年11月3日
  • mybatis-plus-join-boot-starter介绍及用法2025年4月24日

李锋镝

既然选择了远方,便只顾风雨兼程。

打赏 点赞
< 上一篇
下一篇 >
1234567891112131415161718192021222324252627282930313233343536373839404142434446474849505152535455575859606162636465666769727476777879808182858687909293949596979899
取消回复
…

文章评论

还没有评论,快来抢沙发吧~

一辆破旧的老爷车停在饭店门前,车身上生满锈,水箱没有盖子,蒸气直往外喷,车蓬早已脱落。车主对一个流浪汉说:“我要打个电话,请你帮我看一下汽车好吗?”对方答应了。事后车主为酬谢流浪汉,问他要多少钱。“五百元。”“什么?这简直是抢劫嘛!我才去了三分钟。”车主大叫。“先生,这不是时间的问题,而是关系到本人面子的问题,过路的人都以为这破车子是我的。”

听点儿音乐吧 朋友~
文章目录
最新 热点 随机
最新 热点 随机
给服务器加了WAF 又一个逆天改命的人:小小徐 AI的生成能力等于生产力吗? NGINX严重漏洞(CVE-2026-15176、CVE-2026-93479、CVE-2026-97205) Kratos-plus v1.1.27更新说明 php2shell远程执行漏洞修复(CVE-2026-109618 和 CVE-2026-109619)
给主题增加了游客中心功能心气没了,干什么都不得劲我觉得是时候公布我的导航网站了游本昌去世关于主题加载速度优化的一点儿小演进给主题增加了Now、每日心情、年度回顾、岁月同一天、随机漫步等功能
妹妹的画【2019.10.31】 如何通过个人博客赚钱? 如何在面试中介绍自己的项目经验 【三国轶闻】张飞多次挑衅吕布却安然无事,吕布到底害怕张飞什么? 彻底搞懂mysql日志系统binlog,redolog,undolog 深度解析多级缓存架构:从设计到落地,彻底解决数据一致性难题
最近评论
Hary 发布于 4 小时前(11月05日) 前几天看博友发的宝塔防火墙不就是一坨吗,还是算了。这WAF是可以直接部署在网站同一台服务器么
李锋镝 发布于 12 小时前(11月05日) 感谢来访,祝越来越好~
李锋镝 发布于 16 小时前(11月05日) 应该就是请求太频繁了,我看看合并一下静态资源这些
不凡 发布于 16 小时前(11月05日) 我打开这篇文章时,看到评论列表中的操作系统图标、浏览器图标和国家图标这三个都挂了,楼下的头像也挂了,...
李锋镝 发布于 16 小时前(11月05日) 触发CC防护了 我把限制改大一些
标签聚合
分布式 SQL Redis 数据库 K8s 日常 Theme AI编程 Spring JVM 多线程 ElasticSearch SpringBoot 架构 AI JAVA WordPress IDEA MySQL Claude
友情链接
  • 九仞之行
  • 瓦匠个人小站
  • lijie blog
  • Mr.Sun的博客
  • 搬砖日记
  • 志文工作室
  • 刘永博客
  • 彬红茶日记
  • 韩情脉脉
  • Honesty
  • 懋和道人
  • 哥斯拉
  • 皮皮社
  • 林羽凡
  • 韩小韩博客
  • sssr7844的博客
  • 老张博客
  • Serendipity
  • 知向前端

COPYRIGHT © 2016-2026 lifengdi.com. ALL RIGHTS RESERVED.

lifengdi.com 十年之约虫洞

Domain age badge for lifengdi.com

Theme Kratos-plus By Dylan Li

津ICP备2024022503号-3

京公网安备11011502039375号