2015-10-11 3 views
1

я подключаю к Титану, используя,Создать несколько экземпляров одной и той же Titan Graph

TitanGraph g = TitanFactory.open("/titan-0.5.2-hadoop2/conf/titan-cassandra.properties");

Согласно документации, приведенное выше утверждение открывает новое подключение к Titan графа.

Возможно ли создать несколько экземпляров на одном и том же графике Титана?

ответ

0

Я просто попытался сделать несколько экземпляров графика из одного файла конфигурации.

gremlin> graph = TitanFactory.open("conf/gremlin-server/titan-cassandra-solr.properties") 
==>standardtitangraph[cassandra:[127.0.0.1]] 
gremlin> graph2 = TitanFactory.open("conf/gremlin-server/titan-cassandra-solr.properties") 
==>standardtitangraph[cassandra:[127.0.0.1]] 
gremlin> graph.traversal().V() 
16:50:19 WARN com.thinkaurelius.titan.graphdb.transaction.StandardTitanTx - Query requires iterating over all vertices [()]. For better performance, use indexes 
gremlin> graph2.traversal().V() 
16:50:29 WARN com.thinkaurelius.titan.graphdb.transaction.StandardTitanTx - Query requires iterating over all vertices [()]. For better performance, use indexes 

Кажется, что нет никаких проблем с использованием двух экземпляров графа одновременно, хотя я не уверен, почему вы хотели бы это. Если вы подробно расскажете о своем прецеденте, я могу помочь вам дальше.

+0

мое приложение хочет создать несколько транзакций с одним и тем же графическим соединением. Как это сделать, не сталкиваясь с проблемой параллелизма в cassandra Titan? – Parag

+1

Graph threaded = graph.tx(). CreateThreadedTx(); доступный в титане 1.0.0 и выше. Он работает, но, как вы указываете, у вас будет независимый кеш для каждого потока. Таким образом, он будет работать одновременно, но не с консистенцией до тех пор, пока вы не зафиксируете (она имеет конечную консистенцию). –