Skip to content

GraphAr调研

529字约2分钟

大数据

2024-04-29

1.GraphAr简介

  • 全称: Graph Archive

  • 官网: https://graphar.apache.org

  • 官网介绍: An open source, standard data file format for graph data storage and retrieval 开源的图数据文件存储标准, 兼具一定的检索功能

2.特性

来源: https://blog.graphscope.io/graphar-a-standard-data-file-format-for-graph-data-storage-and-retrieval-765a2efba519

  1. 多种文件格式: 支持 ORC, Parquet, CSV 三种文件格式

  2. 多种表示方式: 支持简单图及属性图, 支持不同的图拓扑结构的表示方式(COO, CSR 和 CSC)

  3. Apache生态兼容良好: ORC, Parquet为Hive、Flink、Spark 等Apache生态组件均支持的列式存储文件格式

  4. 图计算通用: 方便不同的单机/分布式图计算引擎、数据库加载使用, 也能支持丰富的下游计算任务, 如外存图计算(非直接支持, 均需要开发对接)

  5. 增量方便: 可以在不改动原有文件的情况下添加新的属性, 在图中添加一组新的类型的点/边, 通过不同类型和点和边的自由组合来构建一个新的图等

其它特性:

  1. 图分区存储, Chunk

  2. 列式存储图加载比传统从CSV加载更快

  3. 边文件冗余存储, 有orderBySrcId 和 orderByDstId, offset, 故支持简单的快速检索

3. 结语

GraphAr严格来说是阿里想要推动的一套图数据存储和管理标准, 以达到其引导图计算相关生态发展的目的. 2024年3月25日刚成为成为 ASF 孵化项目, 目前仅了解到阿里巴巴的GraphScope、Vineyard 和 Fabarta 图数据库系统进行了对接, 其余图计算平台、图数据库还未明确表示对该标准有兼容的意向, 发展前景还不够清晰.

本文参考资料

  1. GraphAr格式标准和API
  2. [GraphAr样例数据](<https://github.com/apache/incubator-graphar-testing/tree/main/ldbc_sample)
  3. Apache ORC文档
  4. Apache Parquet文档
  5. Neo4j从csv导入图数据