Have you considered an agent manager type technology.
This may not be feesible as you are talking about 5000+ servers, but what if you did the SNMP queries with a lightweight agent that you deploy to each server, save the responses in a local repository(eg XML file) and then sent those details via TCP to a Central Server. This would take a while to implement and the admin for doing this is high(although a lot could be scripted), but doing it this way can also cut down the traffic you need to send.(I.e. You only have to send CHANGES to the previous XML data not the entire set of data again.)
Just a thought. I have done this on a much smaller scale than 5000 servers though.
-----
Of all the things I've lost in my life, its my mind I miss the most.