DNS is a very simple protocol that incorporates a TTL (Time to Live) into it's response data. That being said, a single user browsing www.mysite.com will only ask for DNS once every X minutes (Default is usually 1 hour, or so). I'm only pointing this out so that it's clear that the number of hits per second isn't so important as the number of unique hits per second.
Also, considering that ISPs offer DNS servers to their clients, the number of requests that actually make it back to the SOA is far lower than the number of people who are visiting your site. Say, for example, 50,000 people in Eastern MA on Verizon DSL visit your site in the space of 1 hour, that's only likely to generate a handful of DNS requests which you have to respond to. Verizon would be doing it's own level of caching.
A single request is absolutely no work (relatively) for current hardware. 5,000 domains worth of zonefiles would fit on your average thumb drive.
I would recommend that you get yourself 4 mid-range servers with redundant disks and set up a DNS infrastructure in two locations. This way you have redundancy at each site, and geographically as well. Consider this: If your location were go to dark, how would you serve DNS for the 5,000 domains?