本文提出了GraphAr,一種專門為數據湖設計的高效圖形數據存儲方案。
現有的列式存儲格式(如Parquet和ORC)在管理圖形數據(特別是符合標簽屬性圖(LPG)模型)方面存在局限性。這包括無法有效表達圖形拓撲和語義,以及圖形特定操作(如鄰居檢索和標簽過濾)效率低下。
GraphAr利用Parquet作為基礎,並引入標準化的YAML文件來表示LPG的模式元數據,以及分層的數據布局來存儲數據。這種創新的組合使GraphAr能夠完整地表達LPG語義,同時確保與數據湖生態系統和現有圖形相關系統的兼容性。
GraphAr還引入了專門的優化技術來提高關鍵圖形操作的性能。為了提高鄰居檢索效率,GraphAr將邊組織為Parquet中的排序表,並利用Parquet的增量編碼。此外,它還引入了一種創新的解碼算法,利用BMI和SIMD指令集以及一種稱為PAC(Page-Aligned Collections)的獨特結構,進一步加速了鄰居檢索過程。
為了優化標簽過濾,GraphAr利用Parquet的RLE技術,並引入了一種新的基於區間的解碼算法。通過整合已證實的方法(CSR/CSC、增量編碼、RLE)與創新的解碼算法,GraphAr提供了一個全面而高效的解決方案,以優化LPG特定操作。
評估結果顯示,與Parquet和基於Acero的實現相比,GraphAr在鄰居檢索、標簽過濾和端到端工作負載方面分別實現了4452倍、14.8倍和29.5倍的平均加速。這突出了GraphAr在將圖形數據整合到數據湖中的潛力。
다른 언어로
소스 콘텐츠 기반
arxiv.org
더 깊은 질문