Estou experimentando com TitanDB (com Cassandra como armazenamento) + Rexter.
Estive lendo a documentação durante horas e tentando criar vários bancos de dados gráficos na mesma máquina, mas não encontrei a maneira de fazer isso.
Encontro dois problemas principais:
- Nos documentos do TitanDB, a seção Cassandra informa como criar um gráfico no Cassandra, mas os únicos parâmetros que eles comentam são o host e a porta, não há nenhuma referência ao nome do gráfico :s).
- Na seção Rexter, temos essencialmente o mesmo problema. Podemos definir uma lista de gráficos nomeados, mas cada gráfico só pode ser mapeado para uma tupla de 3 (tipo de back-end, host e porta).
A única maneira que posso imaginar é instanciar mais de um servidor Cassandra e fazer com que cada servidor Cassandra escute uma porta diferente. Em seguida, configure o Rexter para mapear cada gráfico para uma instância diferente do cassandra.
Existe uma maneira de criar mais de um gráfico usando a mesma instância do Cassandra?
Consulte https://github.com/thinkaurelius/titan/wiki/Using-Cassandra role para baixo até "Cassandra Specific Configuration" e use a propriedade "storage.keyspace=" para usar vários keyspaces no cassandra. Cada keyspace conterá um gráfico. (o espaço-chave padrão é 'titan'.
Então, se você quiser 3 gráficos, crie 3 arquivos de configuração, com a propriedade diff "storage.keyspace".
Ao abrir um gráfico de seu cliente usando TitanFactory.open(config), use o arquivo de configuração apropriado.
Eu tive o mesmo problema e, com base na resposta do smurty, consegui fazer isso adicionando uma nova propriedade 'storage.cassandra.keyspace' para cada grafo declarado no arquivo de configuração rexster-cassandra-es.xml.
Como estou usando a versão 0.5.4 com configuração Cassandra+ElasticSearch padrão, esta é a documentação que me ajudou.
Agora eu tenho um gráfico usando o keyspace 'titan' (valor padrão) e outro com exatamente a mesma configuração, exceto por essa propriedade, que tem valor 'global'. Na pasta '$TITAN_HOME/db/cassandra/data' existem duas pastas, 'titan' e 'global', uma para os dados de cada gráfico.
Este tutorial útil é exatamente sobre isso: