图数据库排名、对比

2021/08/26

以下文章来源于探路人

正文

数据库评分排行网站:db-engines

Neo4J和JanusGraph比较

特性\数据库名称 Neo4j JanusGraph
是否开源 社区版开源,企业版收费 完全开源
第一版发行时间 2007年 2016年12月【基于TitanDB[2012]】
技术特点 一站式服务、工具齐全 需要开发者自行组合,因此技术门坎高
查询语言 Cypher Gremlin
开发语言 Java Java
集群 企业版支持,社区版不支持 支持
量级 轻量级 重量级
额外组件依赖 官方提供组件,可以与ES、MongoDB、Cassandra等NoSqlDb进行交互 数据存储服务可以选用Cassandra、HBase或Berkeley DB服务。数据索引可以选用Es、Solr或Lucene服务。

Neo4J企业与社区版本对比

特性 企业版 社区版
数据库集群 支持 无支持
数据库热备份 支持 手工备份,运行时需要停止服务
在线存储空间再使用 回收并再使用数据删除释放的空间 无支持
LDAP/AD继承 与企业级用户身份认证和访问控制系统集成 无支持
访问控制 为数据库管理员提供指定的用户角色功能 无支持
数据库监控 提供监控数据库运行状况的整套指标 无支持
JMX日志和监控 包含GraphiteJMX客户端 无支持
更全面的日志 包括http,刚才,security日志 无支持
节点、关系、属性限制 无限制 节点344亿,关系344亿
节点键 使用一个或者多个属性来表示唯一的节点(类似主键) 无支持
运营管理工具 管理员命令行界面 无支持
写入锁、执行过程优化、硬件支持 支持超过4核心 最多4核心

Neo4j、Janus、HugeGraph 的比较

对比点 Neo4j JanusGraph HugeGraph
品牌知名度 最高 国际知名度一般,国内知名度高
开源生态 社区版开源,但较多限制,商业版闭源 开源,兼容ApacheTinkerpop生态,主要由IBM提供云上服务 开源,兼容ApacheTinkerpop生态,由百度领头,提供本土化技术与服务
图查询语言 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与客户端 支持HTTPAPI,支持Java、C#、JS语言版本的Client 支持HTTPAPI或WebSocket,支持Java、Python、C#、JS语言版本的Client 支持HTTPRESTfulAPI,原生仅支持Java语言Client;支持GremlinAPI,如果对外暴露Gremlin-Server后可支持Java、Python、C#、JS语言版本的Client
可视化界面 支持,功能丰富 不支持,需要用户集成第三方界面 支持,功能丰富,支持可视化的数据建模、导入、分析等
内置常用图算法 提供安装算法包,提供了丰富的基本图算法,包括路径搜索、相似性、中心性、社区检测、链接预测等类别的算法 不支持 内置提供了基本的图算法,包括路径搜索、协同推荐、中心性、社区发现等类别的算法
支持图计算平台集成 未提供支持 支持SparkGraphX、Giraph等 支持SparkGraphX
基础功能(属性图的增删该查、持久化存储、元数据、事务、缓存、查询优化、增量更新图) 支持 支持 支持
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,有限制的支持自定义LongID,不过会导致数据不一致 支持
顶点或边数据的TTL 不支持 支持,可精细到顶点属性粒度 支持
用户认证与权限控制 商业版支持 支持用户认证 支持用户认证、支持基于用户角色的权限控制
高危查询语句限制 Cypher无关 不支持Gremlin高危语句限制 支持,可限制用户执行高危Gremlin语句,如禁止访问本地文件、退出进程、打开Socket连接等高危操作
运行中语句跟踪 商业版支持,包括:列出正在运行的查询语句、中断正在运行的查询 不支持 同步Gremlin查询不支持跟踪,异步Gremlin查询支持状态跟踪和任务取消
LDAP集成 商业版支持 未提供支持 未提供支持,可扩展插件
高可用HA 商业版支持 未提供支持 商业版支持
监控 商业版支持 支持Metrics监控 支持监控接口

参考资料: https://blog.csdn.net/sinat_35045195/article/details/91387632 https://mp.weixin.qq.com/s/_kr-E6t2bnCkguBHtU-1vg

Post Directory