Creating very large interactive node graphs

I need to create a node graph like tool that will need to cater for 10,000+ nodes and edges. The nodes also need to be interactive/selected as well as performing network analysis (e.g. SNA) on the graph.

Any suggestions on how I could approach this? I’ve tried using customPaint but it’s the interactivity that’s killing it.