Posted on 2008-05-06 20:24
leekiang 阅读(276)
评论(0) 编辑 收藏 所属分类:
架构设计
1,
http://www.javaeye.com/post/423268把一个表分成N张相同的表是为了加速查询速度吧.
1,用数据库级的表分区, 把数据分在不同 的PV上. 增加IO性能. (Oracle, DB2都有实现)
2,如果是DB2还有另一种方案, 做数据库的Partition, 把数据散列到不同的单独节点供查询使用. 但这种方法只适合OLAP(虽然OLTP也有相应解决方案,但效果不佳).
3,楼上说的, 做视图, 但这种方法把动态表合在一起性能也是一件很郁闷的事情.
4,做物化视图, 比动态视图访问数据的能力强些, 但数据冗余量又太大.
还有, 您什么样的应用会一下查询那么多的数据量? 一定是个OLAP业务吧, 如果是, 尽量把它当做数据中心, 在它之上做个数据准备区保障时间维度一制性, 按业务做不同业务的数据集市供业务访问. 那样各个数据集市的数据压力会小些. 数据查询统计的压力全部移到数据准备区中.