Mik*_*ike 2 mapreduce bigdata neo4j orientdb titan
我最近一直在测试Titan-Cassandra和OrientDB,我想到了一个问题.
我只是想知道graphDBs如何在不同的集群中分片图形,以及它们的查询接口如何支持在分片图形上查询,例如在两个节点之间找到最短路径.
我知道Gremlin 为其groupby函数实现了Mapreduce模式.
但我想更深入地了解查询分片的关系以及两个DB如何处理分片图上的查询.特别是,我对OrientDB的SQL接口如何支持跨分片图的查询感兴趣.
我知道Neo4j反对根据我之前提出的问题所建议的分片.
请参阅以下关于Titan的两篇帖子(http://titan.thinkaurelius.com):
通常,当您开始开发图形应用程序时,您使用的是单个计算机.在此模型中,整个图形在一台机器上.如果图表很小(数据大小明智)且事务负载较低(不是大量的读/写),那么当您投入生产时,只需添加复制以实现高可用性.使用非分布式复制,数据将完全复制到其他计算机,如果任何一台计算机出现故障,其他计算机仍可用于处理请求.再次注意,在这种情况下,您的数据不会被分区/分发,只是复制.
接下来,随着图形的增大(超出单个机器的内存和HD空间),您需要开始考虑分发.通过分发,您可以在多机群集上划分图形并(以确保高可用性)确保您具有一些数据冗余(例如复制因子3).
目前Titan中有两种分区数据的方法:
在一天结束时,整个故事是关于共址.您能确保共同检索的数据在物理空间中很近吗?
最后,请注意Titan允许使用Faunus(http://faunus.thinkaurelius.com)进行并行读取(和写入).因此,如果您有一个需要扫描整个图形的OLAP问题,那么Titan的共址模型可以作为顶点使用,其边缘是从磁盘读取的顺序.同样,故事仍然是相同的 - 根据时间的共同检索在空间中共处.
| 归档时间: |
|
| 查看次数: |
1250 次 |
| 最近记录: |