Skip to main content
QUICK REVIEW

[論文レビュー] GraphChi-DB: Simple Design for a Scalable Graph Database System -- on Just a PC

Aapo Kyrola, Carlos Guestrin|arXiv (Cornell University)|Mar 4, 2014
Graph Theory and Algorithms参考文献 27被引用数 17
ひとこと要約

GraphChi-DB は、単一の PC で効率的でスケーラブルなグラフデータベース操作を可能にする、画期的なディスクベースのグラフストレージ構造、分割隣接リスト(PAL)を導入した。ディスク効率の良いストレージと LSM ツリーに基づく挿入、およびイン・エッジ/アウト・エッジのアクセスと属性のサポートを組み合わせることで、10億エッジのグラフにおいて最先端のパフォーマンスを達成し、Neo4j やその他のシステムが大規模かつメモリに収まらないワークロードで劣る中、分析計算と高スルーレートの挿入の両方をサポートする。

ABSTRACT

We propose a new data structure, Parallel Adjacency Lists (PAL), for efficiently managing graphs with billions of edges on disk. The PAL structure is based on the graph storage model of GraphChi (Kyrola et. al., OSDI 2012), but we extend it to enable online database features such as queries and fast insertions. In addition, we extend the model with edge and vertex attributes. Compared to previous data structures, PAL can store graphs more compactly while allowing fast access to both the incoming and the outgoing edges of a vertex, without duplicating data. Based on PAL, we design a graph database management system, GraphChi-DB, which can also execute powerful analytical graph computation. We evaluate our design experimentally and demonstrate that GraphChi-DB achieves state-of-the-art performance on graphs that are much larger than the available memory. GraphChi-DB enables anyone with just a laptop or a PC to work with extremely large graphs.

研究の動機と目的

  • クラスタ規模のインfraストラクチャを必要とせず、効率的なクエリと高スルーレートの挿入をサポートする、軽量でディスクベースのグラフストレージシステムを設計すること。
  • 非常に大きなグラフがメインメモリの容量を超える状況において、既存のグラフデータベースやストレージモデルの限界を克服すること。
  • 一貫したデータ構造を用いて、単一ノード環境でオンライン・トランザクション処理(OLTP)と分析処理(OLAP)の両方のワークロードを効率的に行えるようにすること。
  • コンsumer用ハードウェア(例:ラップトップや PC)でも、高性能なグラフ分析とデータベース操作が可能であることを実証すること。
  • エッジおよび頂点の属性をサポートし、イン・エッジ/アウト・エッジの走査を高速に行い、LSM ツリーの適応により効率的な挿入を実現する、柔軟で拡張可能なシステムを提供すること。

提案手法

  • コアとなるデータ構造である分割隣接リスト(PAL)は、エッジをパーティション化し、変更不可の平坦な配列に格納することで、データの重複を避けながら、イン・エッジおよびアウト・エッジへの高速なランダムアクセスを可能にする。
  • PAL は、隣接データと併せて任意の頂点およびエッジ属性を格納でき、別個のインデックスや結合処理の必要性を排除する。
  • 標準の SSD で毎秒数万から数十万のエッジの挿入を可能にするために、LSM ツリーの変種を採用して高スルーレートの挿入を実現する。
  • GraphChi からの並列スライディングウィンドウ(PSW)アルゴリズムを統合し、ディスクベースでの効率的な分析計算を実現し、グローバルなグラフアルゴリズムをその場で実行可能にする。
  • メモリマップドファイルとインメモリインデックスを活用し、全体のインデックス構造が低スペックのハードウェアでさえもメインメモリに収まるように設計されている。
  • システムはチューニング可能である:パーティションサイズ、バッファサイズ、LSM ツリーの設定などのパラメータを調整することで、読み込み中心または書き込み中心のワークロードに最適化できる。

実験結果

リサーチクエスチョン

  • RQ1メインメモリを超える10億エッジのグラフを、単一ノードでシンプルでコンactなストレージモデルを用いて効率的に管理できるか?
  • RQ2パフォーマンスやデータ整合性を損なわず、ディスクベースのグラフデータベースで高速なクエリアクセスと高スルーレートの挿入を両立できるか?
  • RQ3一貫したデータ構造が、OLTP スタイルのクエリと OLAP スタイルの分析計算の両方を効率的にサポートできるか?
  • RQ4PAL のようなシンプルで不変のデータ構造が、Neo4j のような複雑でインデックスに依存するシステムに比べ、大規模かつメモリに収まらないグラフでどれほど優れているか?
  • RQ5LSM ツリーの適応は、グラフデータベースの文脈で高スルーレート挿入を達成するためにどれほど効果的か?

主な発見

  • GraphChi-DB は、10億エッジのグラフにおける複雑なクエリや走査処理において、Neo4j よりも優れたパフォーマンスを発揮した。
  • LSM ツリーの適応により、標準のラップトップで毎秒数万から数十万のエッジの挿入が可能であり、バッチ処理を必要とせずに実現した。
  • PAL データ構造は、従来のグラフデータベースと比較してディスクストレージのオーバーヘッドを低減し、コンsumer用の SSD で非常に大きなグラフを格納可能にした。
  • GraphChi-DB のすべてのインデックスがメインメモリに収容されるため、ランダムなディスク I/O が最小限に抑えられ、クエリパフォーマンスが向上した。
  • PSW アルゴリズムを用いた分析計算と、オンライントランザクション処理の両方を、適切にチューニングすることでパフォーマンス劣化を最小限に抑えながら実現した。
  • この設計は柔軟であり、OLAP データウェアハウスとしての性能も、高スルーレートの OLTP システムとしても競争力を持つようにチューニング可能である。

より良い研究を、今すぐ始めましょう

論文の読解から最終レビューまで、研究時間を劇的に削減しましょう。

クレジットカード登録不要

このレビューはAIが作成し、人間の編集者が確認しました。