图分区技术

这个概念跟关系型数据库的表分区是类似的,也就是在图结构数据量非常大的时候,怎么通过分布式的形式对图进行切分。

在关系型数据库的表分区的应用中,我们对表进行分区可能需要考虑的目的主要是:一个表存为多个分区之后的join和查询的问题。同理:我们在设计图分区策略的时候同样需要考虑的是,图进行分区之后,在做图迭代算法(并行计算)时,最小化在数据量的传输,最小化IO操作,只有减少这部分的开销,才能提高图分区的性能。

另外,业界比较成熟的OLTP产品Neo4j是不支持图分区的,所有的数据都存储于一个实例上,因为他是index-free的实现方式,为了保证图查询的实时性能,因此没有引入分区的方式,所有的图分析和查询都在一个存储上完成,避免网络传输和IO的开销。

一般而言,业界主要有这么几种分区的技术:

edge-cut:边分割

边分割的方式一般适合在图数据中low-degree的数据分布中,也就是中图的连接入度或者出度(有向图)比较少的情况,这样vertex的分割就会比较均匀,减少跨多个集群的数据交换;

vertex-cut:点分割

点分割的方式跟边分割的情况相反,在high-degree的图数据分布的情况下,也就是节点的度特别大,通过点分割,就能够同样减少跨多个集群的数据交换,同时减少节点的副本;如PowerGraph的实现方式;

PowerGraph在一篇论文里PowerGraph: Distributed Graph-Parallel Computation on N

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值