同意楼上说的,这整大的数据量查询,确实有很多要优化.

你的需求说的不详细下面是我的简单分析

1.数据库实例方面,集群.例如oracle的RAC,看你的并发大小相应的增加机器.
2.数据库数据按楼上说的去做,中间表很重要,像你们这样的项目,90%应该是查询,而且对数据的时实性不会要求太高.数据应放在NX一点的存储上.如果中间表上的数据量还是很大还需要查询分析,那可以把常用的数据进行缓存,缓存的好处在这样的项目上,会充分的体现.
3.web层的负载均衡.这是必须的,测试一下,二台不行用三台.用tomcat6和pc服务器三百左右的并发,一台机器.
再有就是连接池,见意你还是用dbcp或cp30,自已写的连接池,会比dbcp和cp30还要好吗.