我有一个python应用程序与Cassandra支持的Titan图形数据库进行通信。
Python App ---------> Rexster Server + Titan Graph DB + Cassandra。
" Rexster Server + Titan Graph DB + Cassandra"在一个JVM中。
我的python应用程序在多个虚拟机上运行。每个虚拟机都有一个相同的应用程序副本。我们的想法是使应用程序可扩展。现在很明显,对于初始实现,我使用的是#34; Rexster Server + Titan Graph DB + Cassandra"的单个实例。这意味着后端数据库是单个节点。我在不同虚拟机上运行的应用程序与同一个后端通信。
我的问题如下。
1)我想让后端数据库也可以扩展。我怎样才能做到这一点?
2)我是否需要使用相同的" Rexster + Titan Graph DB"并配置多个cassandra节点?
3)Titan Graph DB是此用例的最佳选择吗?或者我可以用Neo4j和Rexster用Neo4jserver替换Titan Graph DB。为什么/ whynot?
答案 0 :(得分:0)
Titan是一个高度可扩展的图形数据库,已在其示例中进行了演示。为了回答您的问题,我认为有必要表达您的项目有多大。如果您打算部署hadoop集群,请确保将rexster配置为连接到后端的Zookeeper地址(如果由其管理),而不是节点的地址列表。
1. 我想让后端数据库也可以扩展。我该怎么做?
如果您打算超出一台机器的范围,可以参考此页面以获取更多信息:Titan-Cassandra Configuration。
至于如何使后端数据库可扩展,Cassandra和HBase是非常可扩展的数据库,我建议你阅读更多有关Hadoop生态系统的内容,以了解Titan DB如何适应这一点。你可以拥有许多rexster可以与之交谈的HBase / Cassandra节点
2. 我是否需要使用相同的" Rexster + Titan Graph DB"并配置多个cassandra节点?
您可以在群集中的其他计算机上启动多个rexster服务器,每个服务器都连接到同一个后端。但是rexster中的每个图形都是相互独立的,因此您必须手动对图形操作进行分区。在这种情况下,它只适用于大量用户而不是深度遍历/查询
3. Titan Graph DB是此用例的最佳选择吗?或者我可以用Neo4j和Rexster用Neo4jserver替换Titan Graph DB。为什么/ whynot?的
因为您似乎要部署群集,我认为Titan是更好的选择,除非您愿意为Neo4j的企业版付费以支持群集。 Neo4j editions需要考虑的另一点:Titan vs OrientDB