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

(semyonsinchenko.github.io)

49 points | by speckx 2 hours ago

8 comments

  • yadgire7 40 minutes ago
    Hello, I am new to hacker news and finding it really resourceful. I found this article interesting (having learnt KG and Map Reduce (spark) as part of my masters' course), appreciate the effort to post this.

    I am here to seek guidance from the community. I want to refresh my memory on knowledge graphs and algorithms for Big Data Mining and Processing.

    I believe KG can solve problems on Agent attacks (LLM agency) in real-time - so want to build knowledge around the topic.

    Interested to join any interest/ discussion groups if any. Thanks!

  • chrisweekly 1 hour ago
    > "I can compute PageRank on a directed graph with one billion edges (graph500-26 from the Graphalytics dataset) using 5 GB of memory. Alternatively, I can identify all the weakly connected components in a graph with two billion edges (twitter_mpi from the same dataset collection) using 10 GB of memory. Neither NetworkX nor Igraph can do this; most existing graph algorithms require the graph to fit into memory. Previously, I thought you needed Apache Spark and GraphFrames for billion-scale graph analytics. Now, however, I think all you need is a laptop. I have completely changed my old opinion about using Apache DataFusion for graph analytics."

    Impressive!

    • danbruc 4 minutes ago
      33M vertices and 1B edges easily fits into memory, if you use 32 bit integers, it will require about 4 GiB of memory. Out of curiosity I just implemented generating a random graph of that size and calculating one page rank iteration on it in the most naive way (20 lines of C#) and it consumed 8.4 GiB of memory and got one iteration done in 4:20 minutes single threaded.
    • anon7725 1 hour ago
      > most existing graph algorithms require the graph to fit into memory.

      You can get pretty far with sparse graphs, which are just arrays, in combination with memory mapping.

  • ratmice 1 hour ago
    It would be nice if OP noted what changed between their old opinion, did datafusion gain some feature that they noted was missing in the previous article, or did something in their understanding click so they could overcome the previous issues?
  • ozgrakkurt 1 hour ago
    3.4 gb dataset on 10gb ram
  • theLiminator 1 hour ago
    DataFusion is really cool, it's kind of like the LLVM of the OLAP world.
  • slopblast 2 hours ago
    Really cool visualization, amazing how it resembles a neural network.
    • convolvatron 25 minutes ago
      I'm pretty sure that's some stock output from CAIDA, looks like a traceroute graph from the inset
  • esafak 1 hour ago
    Does it support out-of-core or multi-processor processing?
  • Natalia724 1 hour ago
    [dead]