我正在试验 TitanDB(使用 Cassandra 作为存储)+ Rexter。
我几个小时一直在阅读文档并尝试在同一台机器上创建多个图形数据库,但我没有找到方法。
我发现两个主要问题:
- 在 TitanDB 文档中,Cassandra 部分讲述了如何在 Cassandra 上创建图表,但他们评论的唯一参数是主机和端口,没有任何对图表名称的引用:s)。
- 在 Rexter 部分,我们遇到了基本相同的问题。我们可以定义一个命名图的列表,但每个图只能映射到一个三元组(后端类型、主机和端口)。
我能想象的唯一方法是实例化多个 Cassandra 服务器,并让每个 Cassandra 服务器监听不同的端口。然后,配置 Rexter 以将每个图映射到不同的 cassandra 实例。
有没有一种方法可以使用同一个 Cassandra 实例创建多个图形?
请参阅https://github.com/thinkaurelius/titan/wiki/Using-Cassandra 向下滚动到“Cassandra 特定配置”,并使用属性“storage.keyspace=”在 cassandra 中使用多个键空间。每个键空间都将保存一个图。(默认键空间是“泰坦”。
因此,如果您想要 3 个图表,请创建 3 个配置文件,并使用 diff "storage.keyspace" 属性。
当您使用 TitanFactory.open(config) 从客户端打开图形时,请使用适当的配置文件。
我遇到了同样的问题,根据 smurty 的回答,我设法通过在 rexster-cassandra-es.xml 配置文件中为每个声明的图形添加一个新属性“storage.cassandra.keyspace”来做到这一点。
由于我使用的是 0.5.4 版和默认的 Cassandra+ElasticSearch 配置,因此这是对我有帮助的文档。
现在,我有一个使用键空间“titan”(默认值)的图表,以及另一个具有完全相同配置的图表,但该属性的值为“global”。在文件夹“$TITAN_HOME/db/cassandra/data”中有两个文件夹,“titan”和“global”,一个用于每个图形的数据。
这个有用的教程正是关于: