泰坦数据库聚合

Titan DB Aggregations

我想使用 Titan Db(存储后端:HBase)对我们维护的图形数据执行聚合。我们的目标是在 Titan DB 中以图形的形式存储我们的数据仓库数据。然而,聚合需要很多时间,我正在使用一个 titan 实例。 遵循的步骤: 1. 图的创建 -4.5lac 顶点,4 lac 边。 2. 创建索引——顶点和边。 3. 启用数据库缓存。

当我遍历深度为 4 的图形以求和以求 属性 上大约 8000 个顶点的和时,我发现第一次响应查询需要大约 30 秒。随后的查询直到 3 分钟(数据库缓存在 3 秒时刷新)在一秒内完成。但是 3 分钟后再次重建缓存并提供响应需要 30 秒。 有没有人有类似的用例以及关于如何让 titan 更快地执行聚合的任何建议?我期待泰坦的实时表演。

您可能已经知道这一点,但我会 post 我们为从 Titan 获得一些性能提升所做的工作。此处的列表全部基于 Titan Docs 的 this 章节。

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

如果问题不是读而是写你也可以试试bulk loading