【问题标题】:Using Rexster and Titan Graph DB for scalable applications将 Rexster 和 Titan Graph DB 用于可扩展的应用程序
【发布时间】:2015-04-22 17:30:33
【问题描述】:

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

Python App ---------> Rexster Server + 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


    【解决方案1】:

    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 替换 Titan Graph DB,用 Neo4jserver 替换 Rexster。为什么/为什么不? 因为您似乎要部署一个集群,所以我认为 Titan 是更好的选择,除非您愿意为 Neo4j 的企业版付费以支持集群。 Neo4j editions 还有一点要考虑:Titan vs OrientDB

    【讨论】:

      猜你喜欢
      • 2016-09-07
      • 1970-01-01
      • 2015-02-15
      • 2016-03-26
      • 1970-01-01
      • 2015-07-21
      • 1970-01-01
      • 2017-03-20
      • 1970-01-01
      相关资源
      最近更新 更多