Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/28.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
用于Java的嵌入式和分布式键值存储或图形数据库_Java_Titan - Fatal编程技术网

用于Java的嵌入式和分布式键值存储或图形数据库

用于Java的嵌入式和分布式键值存储或图形数据库,java,titan,Java,Titan,是否存在可以集成到Java应用程序中的分布式键值存储或图形数据库 我正在看Titan+BerkeleyDB,但它似乎仍然需要一个单独的服务器 Titan能否以独立模式运行并连接到其他Titan节点?如果是,如何配置或实现 是否有类似于HazelCast的东西,但具有类似于Create的分布式持久性存储(如果Titan不以这种方式工作) 带有BerkeleyDB的TitanDB或JanusGraph(源自TitanDB 1.0.0)既可以嵌入Java,也可以单独使用服务器 如果您使用的是mave

是否存在可以集成到Java应用程序中的分布式键值存储或图形数据库

我正在看Titan+BerkeleyDB,但它似乎仍然需要一个单独的服务器

Titan能否以独立模式运行并连接到其他Titan节点?如果是,如何配置或实现

是否有类似于HazelCast的东西,但具有类似于Create的分布式持久性存储(如果Titan不以这种方式工作)

带有BerkeleyDB的TitanDB或JanusGraph(源自TitanDB 1.0.0)既可以嵌入Java,也可以单独使用服务器

如果您使用的是maven,只需在pom文件中添加以下依赖项:

<dependency>
    <groupId>com.thinkaurelius.titan</groupId>
    <artifactId>titan-core</artifactId>
    <version>1.0.0</version>
</dependency>
<dependency>
    <groupId>com.thinkaurelius.titan</groupId>
    <artifactId>titan-berkeleyje</artifactId>
    <version>1.0.0</version>
</dependency>

TitanDB或JanusGraph节点彼此不通信,您必须为所有节点使用公共存储后端群集(Cassandra/HBase),以便它们的数据保持一致

您可以退房

它基本上是一个以Java为中心的持久层,位于一个简单的键/值存储之上。提供了几种键/值存储风格


免责声明:我是项目作者。

在嵌入式模式下运行时,Titan是否可以作为群集连接,例如,我有3个Servlet运行Titan,数据是否可以分发到3个节点?TitanDB或JanusGraph节点彼此不通信,您必须使用公共存储后端群集(Cassandra/HBase)查看它可以与Hazelcast一起用于群集的文档:@xybrek Hazelcast integration内置于titan 0.4.1中,但在1.0.0版中,只有Cassandra、HBase和BerkeleyDB具有内置的supportHello,我还阅读了有关可群集的embeddedcassandra的信息,您熟悉此功能吗?
ModifiableConfiguration config = GraphDatabaseConfiguration.buildGraphConfiguration();
config.set(GraphDatabaseConfiguration.STORAGE_BACKEND, "berkeleyje");
config.set(GraphDatabaseConfiguration.STORAGE_DIRECTORY,"data");
TitanGraph graph = TitanFactory.open(config);

TitanManagement mgmt = graph.openManagement();
mgmt.makePropertyKey("name").dataType(String.class).make();
mgmt.makeEdgeLabel("friend").make();
mgmt.commit();

TitanTransaction tx = graph.newTransaction();
Vertex ashaful = tx.addVertex("name", "Ashraful Islam");
Vertex jishnu = tx.addVertex("name", "Jishnu Banerjee");
Vertex ovi = tx.addVertex("name", "Ahsanul Haque Ovi");
ashaful.addEdge("friend", jishnu);
jishnu.addEdge("friend", ovi);
tx.commit();

GraphTraversalSource g = graph.traversal();
GraphTraversal result = g.V().has("name", "Ashraful Islam").out("friend").out("friend").values("name");
while (result.hasNext()) {
    System.out.println(result.next());
}

graph.close();