2026年8月1日(土)掲載 3,160本日 29
HN9231

10GBのメモリで10億規模のグラフを処理する:DataFusionが最高すぎる件

Algorithms on billion-scale graph using 10GB RAM: I love DataFusion

speckx約14時間前

議論

11
0speckxスレ主92約14時間前

10GBの限られたRAM環境で、10億規模の巨大なグラフデータを扱うという難題に挑みました。そんな厳しい条件下でも、Apache DataFusionを活用することで驚くほど効率的に処理できたので、その経験をシェアします。クエリエンジンとしての実力と、メモリ制約がある環境での最適化テクニックについてまとめました。

1chrisweekly約13時間前

「10億エッジの有向グラフ(Graphalyticsデータセットのgraph500-26)に対するPageRankを、わずか5GBのメモリで計算できる。あるいは、20億エッジのグラフ(同コレクションのtwitter_mpi)において、すべての弱連結成分を10GBのメモリで特定することも可能だ。NetworkXもIgraphもこれには対応できない。既存のグラフアルゴリズムのほとんどは、グラフ全体がメモリに収まることを前提としているからだ。以前は10億規模のグラフ解析にはApache SparkやGraphFramesが必要だと思っていたが、今はノートPCさえあれば十分だと考えている。Apache DataFusionをグラフ解析に使うことに対する私の考えは完全に覆った。」

これはすごいな!

2theLiminator約13時間前

DataFusionは本当にクールだ。OLAP界のLLVMみたいな存在だな。

3ratmice約12時間前

投稿者がどうやって考えを変えるに至ったのか、その理由が書かれていると良かったな。

以前の記事で不足していた機能がDataFusionに追加されたのか、それとも理解が深まって過去の課題を克服できるようになったのか、どっちだろう?

4ozgrakkurt約12時間前

10GBのRAMで3.4GBのデータセットか。

5yadgire7約12時間前

初めまして。Hacker Newsに参加したばかりですが、すごく有益な場所ですね。修士課程で知識グラフ(KG)やMapReduce(Spark)を学んだので、この記事は興味深く読めました。投稿してくれてありがとう。

コミュニティのみんなに相談したいことがあります。知識グラフとビッグデータマイニング/処理アルゴリズムの知識を復習したいんです。

KGはエージェント攻撃(LLMエージェンシー)の問題をリアルタイムで解決できると考えているので、この分野について深掘りしたいと思っています。

もし参加できる興味・議論グループなどがあれば教えてもらえると嬉しいです!

7adsharma約11時間前

Apache Arrow上でのグラフアルゴリズムの大規模処理というアイデアは、ここが元祖だよ。カラムナメモリ上で動作する100以上のグラフアルゴリズムがある。

https://github.com/Ladybug-Memory/icebug

graphframes-rsにおけるDataFusionを使ったアウトオブコア処理は、まさにここでの革新的な点だね。ただ、今のところアルゴリズムは2つしかないけど。

IcebugとLadybugDBを密に統合すれば、圧縮スパース行(CSR)としてエンコードされたテーブルを、効率的にArrowメモリへと移行できるはずだ。Jupyterノートブックも公開されているよ。

8dekhn約11時間前

こういう引用があると、この記事を真面目に受け取るのは難しいな。
「一番大変なところ。20億エッジのTwitterグラフは巨大(CSVだとエッジだけで30GBもある!!!)」

CSVでグラフがどれだけ大きいかなんて誰が気にするんだ?ビッグデータの処理で使う表現形式じゃないだろう。

この程度のデータなら、今時の一般的なシステムであればメモリに余裕で収まるはずだよ。

9RobinL約10時間前

Sem、素晴らしいね。Splinkに搭載しているSQLベースの連結成分アルゴリズムの強力な代替手段になりそうだ。どれだけ高速になるか試すのが楽しみだよ。開発してくれてありがとう!

10nylonstrung約9時間前

DataFusionは間違いなく史上最高のオープンソースプロジェクトの一つだ。信じられないほど強力で、設計も素晴らしい。

拡張性もイカれてるレベル。自分で独自のクエリ言語を作って、論理プランにコンパイルさせることさえできるんだから。