If you are going to try to design a portal that is so large then you may want to be familiar with the concepts in "Service-Oriented Architecture", by Thomas Erl, as you will be writing a distributed system, where parts may be in different companies, but they need to work as one system.
As you begin to develop, and you start to get an idea about scale you will run into issues, and these will bring up needs for more information, such as using memcached, but that may be lower level than you want to go.
I think the difficulty is how low level do you want to go?
Do you need to go into detail about something like Hadoop, http://hadoop.apache.org/?