使用Rexster和Titan Graph DB实现可扩展的应用程序

时间:2015-02-20 22:10:21

标签: python cassandra titan rexster bulbs

我有一个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?

1 个答案:

答案 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