Live data from Hacker News

Ask HN: What is the best software to visualize a graph with a billion nodes?

news.ycombinator.com

41–50 of 117 posts

Re: Ask HN: What is the best software to visualize a graph with a billion nodes?

#42
post #5

what decision / downstream process is going to consume the 1B node graph render? is producing a render really necessary for that decision, or is rendering the graph waste? is there a way you can subsample or simplify or approximate the graph that'd be good enough? in some domains, certain problems that are defined on graphs can be simplified by pre-processing the graph, to reduce the problem to a simpler problem. e.g…

> is producing a render really necessary for that decision, or is rendering the graph waste? Just to be clear, the OP already has a graph . There are nodes and relationships. The graph can be queried for understanding. Rendering the graph is tractable for a small graph or a portion of the graph. Trying to render all the nodes in an enormous graph is almost always an expensive quixotic adventure.

Expensive quixotic adventure.

Perhaps that is the experience he was after for his billion node graph.

Re: Ask HN: What is the best software to visualize a graph with a billion nodes?

#44

You don't. generate a hierarchical clustering of the data, then collapse nodes into groups to get under a data set size threshold at any given view distance. That gives you full interaction and the ability to do mouseover info on groups, while being able to zoom in and interact with individual nodes if you want.

This is the way imo. Nobody is consuming 100b nodes in a chart.

Re: Ask HN: What is the best software to visualize a graph with a billion nodes?

#45

You can visualise a graph with 9 billion nodes on https://www.openstreetmap.org :) You could copy their design, if you know how you want to project your nodes into 2D. Essentially dividing the visualisation into a very large number of tiles, generated at 18 different zoom levels, then the 'slippy map' viewer loads the tiles corresponding to the chosen field of view. Then a PostGIS database alongside, letting you run…

I would guess OSM uses optimizations for eucledian graphs, where the path a->c is always shorter than a->b->c. This restriction makes e.g. TSP solvable. But this property does not hold for any generic graph. I don't know if this makes visualisation also easier.

Re: Ask HN: What is the best software to visualize a graph with a billion nodes?

#46

It really feels like an under defined task. Do you actually need to see those nodes? At that scale, you never want to render 100B of them. Instead you would need some kind of density aggregation when zoomed out and moving to LoD style k-d tree partitioning when zoomed in. That's almost the area of rendering engines like Unreal's Nanite. You can create your own renderer for data like this, but game engines are likely…

Speaking of Nanite, anybody know of a data visualization tools actually implemented with Mesh Shaders? I've dabbled with time series data, not graphs, but it feels lonely.

Re: Ask HN: What is the best software to visualize a graph with a billion nodes?

#47
As someone who's made graphing libraries for over a decade: Are you sure you want to visualize 1 billion nodes? What's the essential thing you're trying to see?

Visualizations are great at helping humans parse data, but usually they work best at human scales. A billion nodes is at best looking at clouds, rather than nodes, which can be represented otherwise.

Re: Ask HN: What is the best software to visualize a graph with a billion nodes?

#48
post #45

You can visualise a graph with 9 billion nodes on https://www.openstreetmap.org :) You could copy their design, if you know how you want to project your nodes into 2D. Essentially dividing the visualisation into a very large number of tiles, generated at 18 different zoom levels, then the 'slippy map' viewer loads the tiles corresponding to the chosen field of view. Then a PostGIS database alongside, letting you run…

I would guess OSM uses optimizations for eucledian graphs, where the path a->c is always shorter than a->b->c. This restriction makes e.g. TSP solvable. But this property does not hold for any generic graph. I don't know if this makes visualisation also easier.

Technically, if you've got a bumpy dirt track a->c and a freeway a->b->c then the travel time on the latter route can be shorter.

Of course, they do get to dodge a major problem: That high-dimensional data is hard to visualise in an understandable way. Everyone knows what a map looks like, nobody knows what a clear visualisation of a set of 100-dimensional vectors looks like.

Re: Ask HN: What is the best software to visualize a graph with a billion nodes?

#49
post #40
post #38

I'm also looking for a graph viewing tool, but my wishlist is different (not all of them are hard requirements): - Deal with 100k node graphs, preferably larger - Interactive filtering tools, e.g. filtering by node or edge data, transitive closures, highlighting paths matching a condition. Preferably filtering would result in minimally re-layouting the graph. - Does not need an very sophisticated layout algorithms, i…

Neo4j has an interactive graph browser built in.

Thanks! I'll give it a go.

Re: Ask HN: What is the best software to visualize a graph with a billion nodes?

#50
post #44

You don't. generate a hierarchical clustering of the data, then collapse nodes into groups to get under a data set size threshold at any given view distance. That gives you full interaction and the ability to do mouseover info on groups, while being able to zoom in and interact with individual nodes if you want.

This is the way imo. Nobody is consuming 100b nodes in a chart.

It really depends on what the nodes represent, right?

A 1080p monitor has:

1,920 × 1,080 = 2,073,600 pixels

Each pixel can display 32-bit color, which equates to:

2^32 = 4,294,967,296 colors

So, while each pixel can display one of 4.3 billion colors, the monitor can display combinations of those colors across its 2,073,600 pixels. The total number of possible color combinations on the screen is astronomical.

The actual number of possible combinations is:

4,294,967,296^2,073,600

Post reply on HN