网站首页 > 技术文章 正文
作为一个数据库系统,它是要用来为应用程序存储数据用的,那么应用程序应该如何使用JanusGraph来为自己存储数据呢?
一般来说,应用程序可以通过两种不同的方式来使用JanusGraph:
第一种方式:可以把JanusGraph嵌入到应用程序中去,JanusGraph和应用程序处在同一个JVM中。应用程序中的客户代码(相对JanusGraph来说是客户)直接调用Gremlin去查询JanusGraph中存储的图,这种情况下外部存储系统可以是本地的,也可以处在远程
第二种方式:应用程序和Janus Graph处在两个不同JVM中,应用通过给JanusGraph提交Gremlin查询给GremlinServer,来使用JanusGraph,因为JanusGraph原生是支持Gremlin Server的。
Gremlin Server是Apache Tinkerpop中的一个组件
JanusGraph集群包含一个、或者多个JanusGraph实例。每次启动一个JanusGraph实例的时候,都必须指定JanusGraph的配置。在配置中,可以指定JanusGraph要用的组件,可以控制JanusGraph运行的各个方面,还可以指定一些JanusGraph集群的调优选项:
- 最小的JanusGraph配置只需要指定一下JanusGraph的后端存储系统,也就是它的持久化引擎。
- 如果要JanusGraph支持高级的图查询,就需要为JanusGraph指定一个索引后端。
- 若果要提升JanusGraph的查询性能,就必须为JanusGraph指定缓存,指定性能调优的选项。
以上提到的后端存储系统、索引后端、缓存、调优选项等都可以在JanusGraph的配置文件中进行指定。默认情况下它的配置文件存放在JanusGraph_home/conf目录下:
storage.backend=cassandra
storage.hostname=localhost
index.search.backend=elasticsearch
index.search.hostname=
index.search.elasticsearch.client-only=true
/**
* 创建一个JanusGraph实例
* @return JanusGraph的一个实例
*/
private static JanusGraph create() {
try {
return JanusGraphFactory.build()
.set("storage.backend", "hbase")
.set("storage.hostname", "")
.set("storage.port", "")
.set("storage.hbase.table", "")
.set("cache.db-cache", "true")
.set("cache.db-cache-clean-wait", "20")
.set("cache.db-cache-time", "180000")
.set("cache.db-cache-size", "0.5")
.set("index.relationalNetwork.backend", "elasticsearch")
.set("index.relationalNetwork.hostname", "")
.set("index.relationalNetwork.port", 9000)
.open();
} catch (Exception e) {
e.printStackTrace();
return null;
}
}
当我们使用数据库时,需要充分考虑CAP理论(C =一致性,A =可用性,P =可分区性)。 JanusGraph支持了3种后端存储:Apache Cassandra,Apache HBase和Oracle Berkeley DB Java Edition。 注意,BerkeleyDB JE是一个非分布式数据库,通常仅用来测试和学习JanusGraph。
HBase以可用性为代价优先考虑强一致性。 Cassandra以一致性为代价优先考虑可用性。
猜你喜欢
- 2024-10-26 读图数据库实战笔记01_初识图 图数据库查询
- 2024-10-26 (一)图数据库概览第一讲 图数据库教程
- 2024-10-26 一、图数据库系统简介 图数据库原理是什么
- 2024-10-26 「图」完全托管的图形数据库服务Amazon Neptune上线
- 2024-10-26 (十四) JanusGraph 索引管理 索引图英文翻译
- 2024-10-26 (十六) JanusGraph部署架构 jgrapht
- 2024-10-26 (十) JanusGraph事务机制 事务型结构数据流图的特点是
- 2024-10-26 (十一) JanusGraph配置化及部分运维能力说明
- 2024-10-26 (十三) JanusGraph 本体管理高级特性
- 2024-10-26 浅谈图数据库 图数据库原理
你 发表评论:
欢迎- 最近发表
- 标签列表
-
- oraclesql优化 (66)
- 类的加载机制 (75)
- feignclient (62)
- 一致性hash算法 (71)
- dockfile (66)
- 锁机制 (57)
- javaresponse (60)
- 查看hive版本 (59)
- phpworkerman (57)
- spark算子 (58)
- vue双向绑定的原理 (68)
- springbootget请求 (58)
- docker网络三种模式 (67)
- spring控制反转 (71)
- data:image/jpeg (69)
- base64 (69)
- java分页 (64)
- kibanadocker (60)
- qabstracttablemodel (62)
- java生成pdf文件 (69)
- deletelater (62)
- com.aspose.words (58)
- android.mk (62)
- qopengl (73)
- epoch_millis (61)
本文暂时没有评论,来添加一个吧(●'◡'●)