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

问题描述 投票:0回答:2

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

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。为什么/为什么不?

python cassandra titan rexster bulbs
2个回答
0
投票

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

1. 我也想让后端数据库具有可扩展性。我该怎么做?
如果您打算超越一台机器的限制,您可以参考此页面以获取更多信息:Titan-Cassandra 配置。 至于如何使后端数据库具有可扩展性,Cassandra和HBase都是可扩展性非常好的数据库,我建议您阅读更多有关Hadoop生态系统的内容,以了解Titan DB如何适应这一点。您可以有许多 Rexster 可以与之通信的 HBase/Cassandra 节点

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

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


0
投票

为了使后端数据库可扩展,请考虑为 Titan 创建 Cassandra 集群。添加更多节点来分发数据并处理增加的流量。

扩展 Cassandra 用于数据存储,同时保留 Rexster 和 Titan 用于查询;随着数据集的增长调整配置以提高效率。

如果处理海量图需要分布式扩展,请选择Titan;考虑 Neo4j 的易用性、成熟的功能以及具有集群选项的垂直扩展。

© www.soinside.com 2019 - 2024. All rights reserved.