2016-04-05 79 views
0

我想使用Titan Db(存储后端:HBase)在我们保留的图形数据上执行聚合。我们的目标是将我们的数据仓库数据以图表的形式存储在Titan数据库中。然而,聚合需要很长时间,我正在使用一个泰坦的实例。 步骤如下: 1.创建图-4.5lac顶点,4个lac边。 2.创建索引-vertex &边缘。 3.启用数据库缓存。Titan数据库聚合

当我遍历图的深度为4找到总和以找到一个属性上约8000个顶点的总和时,我发现第一次大约需要30秒来响应查询。随后的查询直到3分钟(数据库缓存在3分钟刷新)在1秒内送达。但在3分钟后,需要30秒来重建缓存并提供响应。 有没有人有类似的用例和任何建议,我怎么可以使泰坦更快的聚合?我期待泰坦的实时表演。

回答

1

您可能已经知道这一点,但我会发布我们的做法来从Titan获得一些性能提升。这里的列表全部基于Titan Docs的this章节。

  1. 复合指数 - 您可能有这些但值得一提,因为它们大大加快了对某些顶点的直接查找。
  2. 顶点中心索引 - 如果你有超级节点,它们可以很快消除你不需要遍历的边。
  3. 混合指数 - 这对任何需要数值范围或排序的操作都很有用,而Elasticsearch是一个非常强大的索引工具。

如果问题不读,但写你也可以尝试bulk loading

+0

感谢您的答复菲多。我已经实现了上述建议,我发现查询仍然需要更高的延迟。是否使用titan进行OLAP工作负载?如果是这样,你是否将它用作实时OLAP解决方案,或者将图表缓存一段时间,然后从泰坦数据库的缓存信息中提供ur查询。谢谢 。 –