GraphAr调研
1.GraphAr简介
全称: Graph Archive
官网介绍: An open source, standard data file format for graph data storage and retrieval 开源的图数据文件存储标准, 兼具一定的检索功能
2.特性
多种文件格式: 支持 ORC, Parquet, CSV 三种文件格式
多种表示方式: 支持简单图及属性图, 支持不同的图拓扑结构的表示方式(COO, CSR 和 CSC)
Apache生态兼容良好: ORC, Parquet为Hive、Flink、Spark 等Apache生态组件均支持的列式存储文件格式
图计算通用: 方便不同的单机/分布式图计算引擎、数据库加载使用, 也能支持丰富的下游计算任务, 如外存图计算(非直接支持, 均需要开发对接)
增量方便: 可以在不改动原有文件的情况下添加新的属性, 在图中添加一组新的类型的点/边, 通过不同类型和点和边的自由组合来构建一个新的图等
其它特性:
图分区存储, Chunk
边文件冗余存储, 有orderBySrcId 和 orderByDstId, offset, 故支持简单的快速检索
3. 结语
GraphAr严格来说是阿里想要推动的一套图数据存储和管理标准, 以达到其引导图计算相关生态发展的目的. 2024年3月25日刚成为成为 ASF 孵化项目, 目前仅了解到阿里巴巴的GraphScope、Vineyard 和 Fabarta 图数据库系统进行了对接, 其余图计算平台、图数据库还未明确表示对该标准有兼容的意向, 发展前景还不够清晰.
本文参考资料
- GraphAr格式标准和API
- [GraphAr样例数据](<https://github.com/apache/incubator-graphar-testing/tree/main/ldbc_sample)
- Apache ORC文档
- Apache Parquet文档
- Neo4j从csv导入图数据