我正在学习泰坦。我在远程模式下将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中也有一些文档。