0

我有一个 python 应用程序与 Cassandra 支持的 Titan 图形数据库进行通信。

Python 应用程序 ---------> Rexster 服务器 + Titan Graph DB + Cassandra。

“Rexster Server + Titan Graph DB + Cassandra”位于单个 JVM 中。

我的 python 应用程序在多个虚拟机上运行。即每个虚拟机都有我的应用程序的相同副本。这个想法是使应用程序可扩展。现在很明显,对于初始实现,我正在使用“Rexster Server + Titan Graph DB + Cassandra”的单个实例。这意味着后端数据库是单个节点。我在不同虚拟机上运行的应用程序与相同的后端通信。

我的问题如下。

1)我想让后端数据库也可扩展。我怎样才能做到这一点?

2)我需要使用相同的“Rexster + Titan Graph DB”并配置多个cassandra节点吗?

3) Titan Graph DB 是这个用例的最佳选择吗?或者我可以用 Neo4j 替换 Titan Graph DB,用 Neo4jserver 替换 Rexster。为什么/为什么不?

4

1 回答 1

0

Titan 是一个高度可扩展的图形数据库,正如他们的示例中所展示的那样。为了回答你的问题,我认为有必要表达你的项目有多大。如果您打算部署 hadoop 集群,请确保将 rexster 配置为连接到后端的 Zookeeper 地址(如果由它管理),而不是节点的地址列表。

1.我想让后端数据库也可扩展。我怎样才能做到这一点?
如果您打算超出一台机器的范围,您可以参考此页面了解更多信息:Titan-Cassandra 配置. 至于如何使后端数据库具有可扩展性,Cassandra 和 HBase 是非常可扩展的数据库,我建议您阅读有关 Hadoop 生态系统的更多信息,以了解 Titan DB 如何适应这一点。您可能有许多 HBase/Cassandra 节点可以与 rexster 通信

2。我是否需要使用相同的“Rexster + Titan Graph DB”并配置多个 cassandra 节点?
您可以在集群中的不同机器上启动多个 rexster 服务器,每个服务器都连接到同一个后端。但是来自 rexster 的每个图都是相互独立的,因此您必须手动对图操作进行分区。在这种情况下,它只适用于大量用户,而不是深度遍历/查询

3。Titan Graph DB 是这个用例的最佳选择吗?或者我可以用 Neo4j 替换 Titan Graph DB,用 Neo4jserver 替换 Rexster。为什么/为什么不? 因为您似乎要部署一个集群,所以我认为 Titan 是更好的选择,除非您愿意为 Neo4j 的企业版付费以支持集群。Neo4j 版本需要考虑的另一点: Titan vs OrientDB

于 2015-03-01T03:15:21.333 回答