2

I'm not sure if this question is too broad, but here we go....

I'm interested to design a web application (side project), that queries DB for information and represents it in a network structure. Pretty broad right?! Let's narrow a bit.

DB can be any type (Oracle, MySQL, Giraph, etc). The criteria is to be able to reflect real time (1-2 second delay) of updated data (100G total size, and 1-2G change).

The data it'll store is of the form:

machine1, usage, location A, uptime
machine2, usage, location B, uptime
machine3, usage, location A, uptime

In the above example machines 1 and 3 will be connected b/c of the location.

Then the server side is Tomcat (can be other as well).

Lastly, front facing UI, I'm leaning towards JS.

Bottom line: I'm looking for design suggestion for the DB and how to represent the data. For the former, since it's such a small amount of data, any DB can carry that. For the latter the closest data visualization to my vision is Cytoscape.js.

Are there similar tools that support interactive network representation? The data is relational, but Giraph makes more sense.

What's your opinion?

I appreciate any design input.

Update: I did more reading, and vivagraphjs + neo4j is the strongest candidate thus far.

Erik Kaplun
  • 37,128
  • 15
  • 99
  • 111
Simply_me
  • 2,840
  • 4
  • 19
  • 27
  • check out gephi https://gephi.org/ – Jared Mar 25 '16 at 03:07
  • @Salmonerd Thank you. gephi looks great, but I don't think it can run as a web app (in browser). Can it? – Simply_me Mar 25 '16 at 03:10
  • 1
    Have a look at this answer as well: http://stackoverflow.com/a/21907330/2964675 – MarcoL Mar 25 '16 at 11:42
  • 1
    Yes, I forgot that gephi is completely a desktop solution so you will most likely have to program something yourself using whatever the most built out javascript library is for visualizing networked data. Sigma js would be another on to look into, but there are probably many others. – Jared Mar 25 '16 at 13:08

1 Answers1

0

For large graph data on cloud scales, you would do well to use NDEx and Cytoscape.js.

NDEx has a distributed, cloud architecture. You can run your own instances. NDEx supports exporting to Cytoscape.js directly, so frontend integration is very easy.

On the frontend side, Cytoscape.js as fast (or more often) faster than any other JS graph library. This has been the case for a long time now. It's also the most feature filled option by far. Version 2.7 further improves general viewing rendering performance even further: It has some sophisticated render caching algorithms that greatly improve performance, which puts it miles ahead of any other library.

maxkfranz
  • 11,896
  • 1
  • 27
  • 36