2. JanusGraph 架構概述
原文鏈接:
xiuxiuing.gitee.io
JanusGraph是一個圖形數據庫引擎。JanusGraph專注於提供便捷的圖序列化,豐富的圖數據模型和高效的數據查詢。而且,JanusGraph也可以基於Hadoop進行圖數據分析和圖數據批量處理。 JanusGraph為數據持久化,數據索引和客戶端訪問提供了強大的模塊化接口。 JanusGraph模塊化的架構使其能夠與各種存儲,索引和客戶端結合使用;它也簡化了JanusGraph的擴展流程。
JanusGraph可以適配多種數據庫和索引。JanusGraph默認支持以下的適配,但是JanusGraph的模塊化架構使得也支持第三方的適配器。
數據庫:
- Apache Cassandra
- Apache HBase
- Oracle Berkeley DB Java版
索引,加快並支持更復雜的查詢:
- Elasticsearch
- Apache Solr
- Apache Lucene
從廣義上講,程序可以通過以下兩種方式與JanusGraph進行交互:
在同一JVM中,在程序中可以直接通過JanusGraph執行Gremlin查詢。在執行查詢時,JanusGraph的緩存和事務處理跟應用程序在同一JVM中進行,而數據檢索的后端存儲可以是本地或者遠端。
通過向服務器提交Gremlin查詢語句來與本地或者遠端的JanusGraph實例進行交互。JanusGraph原生支持Apache TinkerPop的Gremlin Server組件。
下圖是JanusGraph的架構圖