在进行数据库系统的设计时,一个不可忽视的问题是弄清你所面对的应用是属于那种类型。目前流行的应用类型有:
* 在线事务处理(OLTP=Online transaction Processing )应用程序
* 决策支持系统(DSS=Decision Suport System )应用程序
* 多目的应用程序
在线事务处理(OLTP)
在线事务处理(OLTP=Online transaction Processing )应用程序具有高的吞吐量,并且是Update、Insert 的密集型。如订票系统、订货系统等。在OLTP设计时,要考虑并发用户和系统性能问题,由于索引和簇会降低 Insert和Update的速度。所以用户还要避免对这两种结构的过度使用。
对于OLTP系统,下面因素是关键:
* 回滚段
* 索引、簇、哈希
* 离散事务
* 数据块大小
* 缓冲区缓存大小
* 表和回滚段空间的动态分配
* 事务处理监视和多线程服务器
* 帮定变量的使用
* 共享池
* 分区
* 优化过的SQL 语句
* 完整性约束
* 客户/服务器体系结构
* 可动态改变的初始化参数
* 流程、组件、功能
决策支持系统(DSS)
典型情况下,决策支持系统大量的信息转化为用户定义的报告。DSS对从OLTP应用程序收集的大量数据进行查询。
决策支持系统的关键目标有三个:1)响应时间;2)精确性;3)可用性。在设计DSS系统时,要确保大量数据的查询在合理的时间段内执行完毕。如在白天,决策者需要看报告,所以要保证在前一天晚上完成所需数据的统计。
对于DSS的优化,下面因素至关重要:
* 实体化的视图
* 索引(B*树和位图)
* 簇、哈希
* 数据块大小
* 星型查询
* 优化程序
* 使用查询提示
* SQL语句中的PL/SQL功能
* 分区
多用途应用程序
典型的OLTP和数据仓库系统的结合就是多目的应用程序。因为OLTP 应用程序收集数据,随后将数据提供给数据仓库系统。
如果OLTP和数据仓库系统使用相同的数据库,就存在目标冲突,即可能回影响性能问题。为解决该问题。首先,OLTP数据库在收集到数据后,就将数据复制进另一个数据库中。该数据库为数据仓库所查询。如果每天只复制一次,则这种配置可能会使数据仓库应用的精确性受到轻微的折衷。但是对于两个系统的整体来说,可获得更好的性能。
原文出处:http://www.cnblogs.com/yan5lang/archive/2010/05/19/1738992.html