数据库中间件如何设计?

各位大家好:
项目需要,对多种数据库产品进行兼容,而且涉及到跨数据库碰撞查询,请问下各位有没有建议跟想法呢?

需求:项目中的DAL层需要达到对多种数据库的兼容,现有方案改造,不是全新开发的,而且针对的是海量数据,基本TB级别的,该考虑什么样的方案呢?
跨不同数据库查询有什么解决方案呢?

谢谢各位了。
[该贴被polarbear0409于2012-04-13 10:32修改过]

无论什么TB级别,数据库分关系数据库和非关系数据库NoSQL两大边界。

如果你要跨关系数据库内的各个数据库,这个JDBC/ORM等中间件即可解决。

如果要跨出关系数据库,涉及到NoSQL,Hibernate好像刚刚出了兼容NoSQL,但估计不是所有NoSQL。

如果是跨数据库海量查询,有数据分析倾向,使用Hadoop和Pig Storm等之类云计算工具。