JanusGraph就是被设计来支持大图的处理。这些大图需要超过单台机器所能提供的存储和计算能力。JanusGraph的最基本的优势是通过可伸缩的图数据处理来达到实时的图遍历和分析查询。这一节我们将讨论JanusGraph多样的优势和它底层的持久化方案。

JanusGraph优势

  1. 支持非常大的图。JanusGraph可以在集群里进行伸缩。
  2. 支持高并发的事务和图操作请求。JanusGraph的事务支持能力可以随机器数量伸缩,对非常的图进行复杂查询的遍历查询可以达到毫秒级的响应。
  3. 通过Hadoop框架的支持,可以支持全局图分析和批量的图处理。
  4. 支持对非常大的图的顶点和边进行地理,数字区间,以及全文检索。
  5. 原生支持Apache TinkerPop的属性图的数据模型。
  6. 原生支持图遍历语言Gremlin
  7. 非常容易和Gremlin Server集成来提供编程语言无关的调用。
  8. 非常多的图级别的配置来进行性能调整。
  9. 以顶点为中心的索引提供了顶点级的查询缓和了臭名昭著的超级节点问题。
  10. 提供了优化的磁盘表示来允许有效的使用存储和加速访问。
  11. Apahce2 license开源

和HBase配合的好处

  1. 和Apache Hadoop生态的紧密集成
  2. 原生支持强的一致性
  3. 对于增加机器提供线性的可伸缩
  4. 严格的读写一致性
  5. 方便的基类支持Hadoop的MapReduce job和HBase Tables
  6. 支持通过JMX导出性能监控
  7. Apache2 license。

架构

JanusGraph是一个图数据库引擎,JanusGraph本身专注于压缩图的序列化,丰富的图数据模型,高效的查询执行。另外,JanusGraph 利用Hadoop来进行图分析和批量图处理。JanusGraph实现了鲁棒的,模块化接口的数据持久化,数据索引,客户端接入功能。JanusGraph的模块化架构允许它和多样的存储,索引,客户端进行配合。这也是扩展JanusGraph来支持新的模块。

在JanusGraph和磁盘之间有多个Storage和Index的Adpater。JanusGraph带了下边的标准的Adapters,但是JanusGraph支持第三方的adapter.

数据存储:

Apache Cassandra
Apache HBase
Oracle Berkeley DB Java Edition

索引:

Elasticsearch
Apache Solr
Apache Lucene

总体来说,应用程序可以和JanusGraph通过下边两种方式进行交互:
1. 把JanusGraph集成在应用程序内部,通过Gremlin查询,处于同一个JVM的图。执行查询,JanusGraph的cache,事务管理都发生在和应用程序同一个JVM里,数据可以是从本地或者远程获取的。
2. 和本地或者远程的JanusGraph实例通过Gremlin查询交互。JanusGraph天然支持Apache TinkerPop的Gremlin Server。

发表评论

电子邮件地址不会被公开。 必填项已用*标注

%d 博主赞过: