我正在学习泰坦。我在远程模式下将Titan与HBase一起使用。

现在有三个问题使我感到困惑。我在下面描述了它们:

  • 在TinkerPop3文档中说:“任何OLAP操作的结果都存储在可通过hdfs访问的HDFS中。”但是现在我将Titan用作OLTP,在这种情况下HDFS中存储了什么?
  • 当我们使用Titan连接HBase成功(通过Java IDE)时,我们可以看到在HBase shell中创建的表并扫描内容。表中的内容“列”是什么意思?它们在图中表示顶点ID吗?
  • 在测试Titan的性能时,我观察到查询的速度比正常的map-reduce作业要快。为什么泰坦可以做到?在Titan-Documentation中,他们说Titan引擎“Titan-Hadoop”使用了并行映射-减少模型。能否对此进行更详细的介绍?
  • 最佳答案

  • Titan architecture diagram帮助显示OLTP和OLAP使用之间的区别。请参阅体系结构图的右侧:TinkerPop API-Gremlin。无论选择哪种后端存储(Cassandra,HBase,BerkeleyDB),OLTP是最常见的Titan使用。使用Titan-HBase执行OLTP查询时,HDFS中不会存储任何内容。实际上,带有Titan-HBase的OLTP根本不需要HDFS / Hadoop。
  • 在HBase中扫描Titan表的内容时,您将找到图形的序列化表示。 Titan在键/列/值上使用了数据压缩技术,因此您会发现数据不是人类可读的。您可以在Titan docs中阅读有关存储布局细节的更多信息。
  • 请参阅答案1,您可能一直在运行OLTP查询。 Hadoop风格的OLAP图形处理是通过图形计算机完成的。它使用TitanHBaseInputFormat从后端存储中读取数据,然后使用TinkerPop图形计算机(Spark or Giraph)运行OLAP作业。请参见上方架构图的左侧:GremlinGraphComputer。 Titan docs中也有一些文档。
  • 关于database - HDFS中存储了什么,为什么泰坦执行查询时map-reduce运算如此之快?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/39079913/

    10-11 21:35