HugeGraph图数据库有哪些功能?

版权声明:转载请注明出处 https://blog.csdn.net/javeme/article/details/82083617

HugeGraph简介

图数据库(Graph Database)是一种使用顶点、边和属性来表示与存储数据,并以图结构进行语义查询的数据库。图数据库的关键概念是边,通过边将顶点连接在一起,从而进行快速的图检索操作。

HugeGraph是一款开源图数据库系统,可以存储海量的顶点(Vertex)和边(Edge), 实现了Apache TinkerPop 3框架,支持Gremlin查询语言。 HugeGraph支持多用户并行操作,用户可输入Gremlin查询语句,并及时得到图查询结果。也可在用户程序中调用HugeGraph API进行图分析或查询。

下面是一个使用HugeGraph构建的《红楼梦》主要家族成员图谱:
HugeGraph-红楼梦图谱

HugeGraph概览

特性

  • 易用:HugeGraph支持Gremlin图查询语言与Restful API,同时提供图检索常用接口,具备功能齐全的周边工具,轻松实现基于图的各种查询分析运算。
  • 高效:HugeGraph在图存储和图计算方面做了深度优化,提供多种批量导入工具,轻松完成百亿数据快速导入,通过优化过的查询达到图检索的毫秒级响应。支持数千用户并发的在线实时操作。
  • 通用:HugeGraph支持Apache Gremlin标准图查询语言和Property Graph标准图建模方法,支持基于图的OLTP和OLAP方案。集成Apache Hadoop及Apache Spark大数据平台。
  • 可扩展:支持分布式存储、数据多副本及横向扩容,内置多种后端存储引擎(包括RocksDB、Cassandra、ScyllaDB、HBase、Palo、MySQL以及InMemory等),也可插件式轻松扩展后端存储引擎。
  • 开放:HugeGraph代码开源(Apache 2 License),客户可自主修改定制,选择性回馈开源社区。

架构

HugeGraph软件架构图:
HugeGraph软件架构图

HugeGraph功能

优势功能

  • 支持百亿边+快速导入,支持横向扩容。HugeGraph针对海量数据场景进行定制化优化,实现大数据环境下的快速导入和高效查询,同时能够对接Hadoop和Spark GraphX等已有大数据平台。
  • 支持Gremlin图查询语言,Gremlin提供了标准、灵活、丰富的图查询语法。
  • 支持多后端存储引擎,后端存储引擎可配置,可插件式扩展新的后端存储引擎。
  • 支持快速的批量导入、批量导出功能,同时用户可灵活定义导入导出格式。
  • 支持百度存储系统。

基础功能

  • 顶点、边:支持基本增删改查操作,支持有向图,支持两顶点间同一类型多条边。
  • 属性:支持属性图、支持多值属性、支持多样化的属性类型、支持顶点属性追加与合并。
  • 元数据:支持丰富的Schema校验,如属性是否可空(可选),支持Schema动态修改。
  • 索引:支持二级索引、范围索引、全文索引,支持联合索引。
  • 事务:遵循Tinkerpop事务规范,支持Read Committed级别事务。
  • 多顶点ID策略:支持主键ID、支持自动生成ID、支持用户自定义字符串ID、支持用户自定义数字ID。
  • 大规模数据:支持批量插入顶点/边、支持超级顶点、支持流式分页获取、支持Shard并行获取。
  • 优化的图接口:最短路径(Shortest Path)、K步连通子图(K-neighbor)、K步到达邻接点(K-out)等。
  • 其它:支持图变量(Graph Variables)、兼容性上已通过Apache Tinkerpop官方测试用例90%兼容测试。

高级功能

  • 多图实例:支持多个图实例,图之间数据相互隔离。
  • 用户认证:支持多用户,支持用户权限认证,支持用户角色访问控制。可轻松对接现有用户认证系统。
  • 监控接口:支持系统状态监控、API访问时间监控、性能数据监控等。
  • 备份恢复:支持在线备份、支持备份数据的恢复。
  • 云环境适应:兼容多个云厂商平台,轻松对接公有云、私有云和混合云等多种云环境。

接口支持

  • Gremlin接口:支持标准、灵活的Gremlin查询接口。
  • Restful API接口:支持功能丰富、简单易用的HTTP Restful接口。提供顶点、边、元数据等的基本操作接口;此外提供各种高级查询接口,包括最短路径、多路径、交叉点、N步可达邻居等。
  • Java Client客户端:目前支持Java语言客户端,用户可根据自身需求实现其它语言客户端。

周边工具

  • 一键部署:通过部署工具简单轻松的一键部署所有组件。参考hugegraph-tools deploy。
  • 可视化界面:基于Web的可视化环境,提供图操作界面、图数据展示与分析。参考hugegraph-studio。
  • 导入工具:数据导入工具,支持从txt、csv、json等格式文件导入到HugeGraph。参考hugegraph-loader。
  • 导出工具:数据导出工具,可将顶点及关联边导出到文件,支持用户实现formatter自定义格式。参考hugegraph-tools/dump。
  • 备份恢复工具:数据备份与恢复工具,支持定时备份、手动备份、手动恢复等功能。参考hugegraph-tools/backup&restore。
  • Gremlin任务工具:Gremlin任务执行工具,支持同步执行Gremlin查询与分析(OLTP),支持异步执行Gremlin任务(OLAP)。参考hugegraph-tools/gremlin。
  • 集成Spark GraphX工具:基于Spark GraphX的大数据环境下的图分析工具。参考hugegraph-spark。

欢迎大家贡献HugeGraph开源社区,下面是GitHub代码仓库地址:
https://github.com/hugegraph/hugegraph


版权声明:转载请注明出处 https://blog.csdn.net/javeme/article/details/82083617

HugeGraph简介

图数据库(Graph Database)是一种使用顶点、边和属性来表示与存储数据,并以图结构进行语义查询的数据库。图数据库的关键概念是边,通过边将顶点连接在一起,从而进行快速的图检索操作。

HugeGraph是一款开源图数据库系统,可以存储海量的顶点(Vertex)和边(Edge), 实现了Apache TinkerPop 3框架,支持Gremlin查询语言。 HugeGraph支持多用户并行操作,用户可输入Gremlin查询语句,并及时得到图查询结果。也可在用户程序中调用HugeGraph API进行图分析或查询。

下面是一个使用HugeGraph构建的《红楼梦》主要家族成员图谱:
HugeGraph-红楼梦图谱

HugeGraph概览

特性

  • 易用:HugeGraph支持Gremlin图查询语言与Restful API,同时提供图检索常用接口,具备功能齐全的周边工具,轻松实现基于图的各种查询分析运算。
  • 高效:HugeGraph在图存储和图计算方面做了深度优化,提供多种批量导入工具,轻松完成百亿数据快速导入,通过优化过的查询达到图检索的毫秒级响应。支持数千用户并发的在线实时操作。
  • 通用:HugeGraph支持Apache Gremlin标准图查询语言和Property Graph标准图建模方法,支持基于图的OLTP和OLAP方案。集成Apache Hadoop及Apache Spark大数据平台。
  • 可扩展:支持分布式存储、数据多副本及横向扩容,内置多种后端存储引擎(包括RocksDB、Cassandra、ScyllaDB、HBase、Palo、MySQL以及InMemory等),也可插件式轻松扩展后端存储引擎。
  • 开放:HugeGraph代码开源(Apache 2 License),客户可自主修改定制,选择性回馈开源社区。

架构

HugeGraph软件架构图:
HugeGraph软件架构图

HugeGraph功能

优势功能

  • 支持百亿边+快速导入,支持横向扩容。HugeGraph针对海量数据场景进行定制化优化,实现大数据环境下的快速导入和高效查询,同时能够对接Hadoop和Spark GraphX等已有大数据平台。
  • 支持Gremlin图查询语言,Gremlin提供了标准、灵活、丰富的图查询语法。
  • 支持多后端存储引擎,后端存储引擎可配置,可插件式扩展新的后端存储引擎。
  • 支持快速的批量导入、批量导出功能,同时用户可灵活定义导入导出格式。
  • 支持百度存储系统。

基础功能

  • 顶点、边:支持基本增删改查操作,支持有向图,支持两顶点间同一类型多条边。
  • 属性:支持属性图、支持多值属性、支持多样化的属性类型、支持顶点属性追加与合并。
  • 元数据:支持丰富的Schema校验,如属性是否可空(可选),支持Schema动态修改。
  • 索引:支持二级索引、范围索引、全文索引,支持联合索引。
  • 事务:遵循Tinkerpop事务规范,支持Read Committed级别事务。
  • 多顶点ID策略:支持主键ID、支持自动生成ID、支持用户自定义字符串ID、支持用户自定义数字ID。
  • 大规模数据:支持批量插入顶点/边、支持超级顶点、支持流式分页获取、支持Shard并行获取。
  • 优化的图接口:最短路径(Shortest Path)、K步连通子图(K-neighbor)、K步到达邻接点(K-out)等。
  • 其它:支持图变量(Graph Variables)、兼容性上已通过Apache Tinkerpop官方测试用例90%兼容测试。

高级功能

  • 多图实例:支持多个图实例,图之间数据相互隔离。
  • 用户认证:支持多用户,支持用户权限认证,支持用户角色访问控制。可轻松对接现有用户认证系统。
  • 监控接口:支持系统状态监控、API访问时间监控、性能数据监控等。
  • 备份恢复:支持在线备份、支持备份数据的恢复。
  • 云环境适应:兼容多个云厂商平台,轻松对接公有云、私有云和混合云等多种云环境。

接口支持

  • Gremlin接口:支持标准、灵活的Gremlin查询接口。
  • Restful API接口:支持功能丰富、简单易用的HTTP Restful接口。提供顶点、边、元数据等的基本操作接口;此外提供各种高级查询接口,包括最短路径、多路径、交叉点、N步可达邻居等。
  • Java Client客户端:目前支持Java语言客户端,用户可根据自身需求实现其它语言客户端。

周边工具

  • 一键部署:通过部署工具简单轻松的一键部署所有组件。参考hugegraph-tools deploy。
  • 可视化界面:基于Web的可视化环境,提供图操作界面、图数据展示与分析。参考hugegraph-studio。
  • 导入工具:数据导入工具,支持从txt、csv、json等格式文件导入到HugeGraph。参考hugegraph-loader。
  • 导出工具:数据导出工具,可将顶点及关联边导出到文件,支持用户实现formatter自定义格式。参考hugegraph-tools/dump。
  • 备份恢复工具:数据备份与恢复工具,支持定时备份、手动备份、手动恢复等功能。参考hugegraph-tools/backup&restore。
  • Gremlin任务工具:Gremlin任务执行工具,支持同步执行Gremlin查询与分析(OLTP),支持异步执行Gremlin任务(OLAP)。参考hugegraph-tools/gremlin。
  • 集成Spark GraphX工具:基于Spark GraphX的大数据环境下的图分析工具。参考hugegraph-spark。

欢迎大家贡献HugeGraph开源社区,下面是GitHub代码仓库地址:
https://github.com/hugegraph/hugegraph


猜你喜欢

转载自blog.csdn.net/linlin1989117/article/details/82558411